Compare commits
No commits in common. "devqc" and "dev_sojib" have entirely different histories.
|
@ -441,21 +441,20 @@ namespace HRM.BO
|
|||
}
|
||||
}
|
||||
|
||||
//public bool OnlyManualInTime
|
||||
//{
|
||||
// get {
|
||||
// return (this.IsManualEntry == true && this.ActualInTime != null) ? true : false;}
|
||||
public bool OnlyManualInTime
|
||||
{
|
||||
get {
|
||||
return (this.IsManualEntry == true && this.ActualInTime != null) ? true : false;}
|
||||
|
||||
}
|
||||
public bool OnlyManualOutTime
|
||||
{
|
||||
get
|
||||
{
|
||||
return (this.IsManualEntry == true && this.ActualOutTime != null) ? true : false;
|
||||
}
|
||||
}
|
||||
|
||||
//}
|
||||
//public bool OnlyManualOutTime
|
||||
//{
|
||||
// get
|
||||
// {
|
||||
// return (this.IsManualEntry == true && this.ActualOutTime != null) ? true : false;
|
||||
// }
|
||||
//}
|
||||
public bool OnlyManualInTime { get; set; }
|
||||
public bool OnlyManualOutTime { get; set; }
|
||||
|
||||
|
||||
|
||||
|
@ -3383,7 +3382,6 @@ namespace HRM.BO
|
|||
DataTable getTopEmpAbsentData(Employee oEmp, EnumAttendanceType type);
|
||||
DataTable getcorehrAbsentData(Employee oEmp, EnumAttendanceType type);
|
||||
DataSet AttnDaysSummaryForSalaryProcess(DateTime FromDate, DateTime ToDate);
|
||||
List<DailyAttnProcess> GetByEmployees(DateTime attnDate, string employeeIDs);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -542,7 +542,6 @@ namespace HRM.BO
|
|||
void UpdatePayrollType(int empID, int payrollTypeID, DateTime dEffectDate);
|
||||
//void SaveIntegration(List<HREmployee> oEmps);
|
||||
int Save(Employee item);
|
||||
Employee SaveEmployee(Employee item);
|
||||
//void Delete(int id);
|
||||
//void DeleteAll();
|
||||
//string GenerateLoanNo(Employee oEmp, string sLoanName);
|
||||
|
|
|
@ -312,10 +312,18 @@ namespace HRM.BO
|
|||
type = "A";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.Delay:
|
||||
type = "L";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.Holiday:
|
||||
type = "H";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.Late:
|
||||
type = "L";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.Leave:
|
||||
type = "Lv";
|
||||
break;
|
||||
|
@ -324,17 +332,6 @@ namespace HRM.BO
|
|||
type = "P";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.HalfDay:
|
||||
type = "HD";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.Delay:
|
||||
type = "L";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.Late:
|
||||
type = "L";
|
||||
break;
|
||||
|
||||
case EnumAttendanceType.OutSideDuty:
|
||||
type = "OD";
|
||||
|
@ -1401,54 +1398,6 @@ namespace HRM.BO
|
|||
|
||||
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,8 +417,7 @@ namespace HRM.BO
|
|||
{
|
||||
Email = 1,
|
||||
Event = 2,
|
||||
Letter = 3,
|
||||
Desktop_Letter = 4
|
||||
Letter = 3
|
||||
}
|
||||
|
||||
public enum EnumLeaveDayPeriod
|
||||
|
@ -556,14 +555,9 @@ namespace HRM.BO
|
|||
public const string CandidateDesig = "<<CANDIDATEDESIGNATION>>";
|
||||
public const string CandidateGrade = "<<CANDIDATEGRADE>>";
|
||||
public const string CandidateBasic = "<<CANDIDATEBASIC>>";
|
||||
public const string CandidateBasicPercent = "<<CANDIDATEBASICPERCENT>>";
|
||||
public const string AllowHR = "<<ALLOWHR>>";
|
||||
public const string AllowHRPercent = "<<ALLOWHRPERCENT>>";
|
||||
public const string AllowLTA = "<<ALLOWLTA>>";
|
||||
public const string AllowMedical = "<<ALLOWMEDICAL>>";
|
||||
public const string AllowMedicalPercent = "<<ALLOWMEDICALPERCENT>>";
|
||||
public const string AllowConveyance = "<<ALLOWCONVEYANCE>>";
|
||||
public const string AllowConveyancePercent = "<<ALLOWCONVEYANCEPERCENT>>";
|
||||
public const string AllowTotal = "<<TOTAL>>";
|
||||
public const string AcceptWithIN = "<<ACCEPTWITHIN>>";
|
||||
public const string JoiningBefore = "<<JOINBEFORE>>";
|
||||
|
@ -581,53 +575,6 @@ namespace HRM.BO
|
|||
public const string LineManagerDesignation = "<<SUPERVISORDESIGNATION>>";
|
||||
public const string FathersName = "<<FATHERSNAME>>";
|
||||
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
|
||||
|
||||
|
@ -1477,16 +1424,16 @@ namespace HRM.BO
|
|||
|
||||
public enum EnumBloodGroup
|
||||
{
|
||||
NA = 0,
|
||||
None = 1,
|
||||
APos = 2,
|
||||
ANeg = 3,
|
||||
BPos = 4,
|
||||
BNeg = 5,
|
||||
OPos = 6,
|
||||
ONeg = 7,
|
||||
ABPos = 8,
|
||||
ABNeg = 9
|
||||
None = 0,
|
||||
APos = 1,
|
||||
ANeg = 2,
|
||||
BPos = 3,
|
||||
BNeg = 4,
|
||||
OPos = 5,
|
||||
ONeg = 6,
|
||||
ABPos = 7,
|
||||
ABNeg = 8,
|
||||
NA = 9
|
||||
}
|
||||
|
||||
|
||||
|
@ -2425,24 +2372,13 @@ namespace HRM.BO
|
|||
//Delay = 3,
|
||||
//Leave = 4,
|
||||
//Holiday = 5,
|
||||
//WeeklyOff = 6,
|
||||
WeeklyOff = 6,
|
||||
//TourDuty = 7,
|
||||
//OfficialDuty = 8,
|
||||
//Compensation = 9,
|
||||
//ManualEntry = 10,
|
||||
Compensation = 9,
|
||||
ManualEntry = 10,
|
||||
//Late = 11
|
||||
None = 0,
|
||||
//Present = 1,
|
||||
//Absent = 2,
|
||||
//Delay = 3,
|
||||
//Late = 11,
|
||||
//Early = 12,
|
||||
//Leave = 4,
|
||||
//Holiday = 5,
|
||||
//OutSideDuty = 7,
|
||||
//WeeklyHoliday = 8,
|
||||
//HalfDay = 18,
|
||||
//LOA = 22
|
||||
Present = 1,
|
||||
Absent = 2,
|
||||
Delay = 3,
|
||||
|
@ -2450,9 +2386,10 @@ namespace HRM.BO
|
|||
Early = 12,
|
||||
Leave = 4,
|
||||
Holiday = 5,
|
||||
HalfDay = 6,
|
||||
OutSideDuty = 7,
|
||||
WeeklyHoliday = 8
|
||||
WeeklyHoliday = 8,
|
||||
HalfDay = 18,
|
||||
LOA = 22
|
||||
}
|
||||
|
||||
|
||||
|
@ -4054,13 +3991,4 @@ namespace HRM.BO
|
|||
ReadyInOneYear = 2,
|
||||
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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -259,9 +259,7 @@ namespace HRM.BO
|
|||
public Relation ContactPersonRelation { get; set; }
|
||||
public string PermanentAddressInBangla { get; set; }
|
||||
public string PresentAddressInBangla { get; set; }
|
||||
public string PresentPO { get; set; }
|
||||
public string PresentPOInBangla { get; set; }
|
||||
public string PermanentPO { get; set; }
|
||||
public string ParmanentPOInBangla { get; set; }
|
||||
|
||||
//#region Property PermanentDistrict : District
|
||||
|
@ -991,7 +989,6 @@ namespace HRM.BO
|
|||
_telePhone = string.Empty;
|
||||
|
||||
_emailAddress = string.Empty;
|
||||
Gender = EnumGender.None;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
@ -1131,24 +1128,7 @@ namespace HRM.BO
|
|||
}
|
||||
|
||||
#endregion
|
||||
#region Property NomineeMobileNo : string
|
||||
|
||||
private string _nomineeMobileNo;
|
||||
public string NomineeMobileNo
|
||||
{
|
||||
get { return _nomineeMobileNo; }
|
||||
set { _nomineeMobileNo = value; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
public string FatherName { get; set; }
|
||||
public string MotherName { get; set; }
|
||||
public string SpouseName { get; set; }
|
||||
public string NationalID{ get; set; }
|
||||
public EnumGender Gender { get; set; }
|
||||
public int? DistrictID{ get; set; }
|
||||
public int? ThanaID { get; set; }
|
||||
public string PostOffice { get; set; }
|
||||
public EnumProfileStatus ProfileStatus { get; set; }
|
||||
public string NomineeStatus { get; set; }
|
||||
public bool HasPicture { get; set; }
|
||||
|
@ -1320,8 +1300,8 @@ namespace HRM.BO
|
|||
#endregion
|
||||
//CGPA or Marks
|
||||
#region GPAOrMarks
|
||||
private double? _gpa;
|
||||
public double? GPAOrMarks
|
||||
private double _gpa;
|
||||
public double GPAOrMarks
|
||||
{
|
||||
get { return _gpa; }
|
||||
set { _gpa = value; }
|
||||
|
@ -1330,8 +1310,8 @@ namespace HRM.BO
|
|||
//OutOf
|
||||
#region Property OutOf : double
|
||||
|
||||
private double? _outOf;
|
||||
public double? OutOf
|
||||
private double _outOf;
|
||||
public double OutOf
|
||||
{
|
||||
get { return _outOf; }
|
||||
set { _outOf = value; }
|
||||
|
@ -2369,7 +2349,7 @@ namespace HRM.BO
|
|||
#region parent's function definition
|
||||
|
||||
HREmployee Get(int id);
|
||||
HREmployee SavePersonalInfo(HREmployee employee);
|
||||
int SavePersonalInfo(HREmployee employee);
|
||||
void SaveEmployeeProfileUpload(List<HREmployee> oHREmployee);
|
||||
void DeleteChildData(string tableName, string columnName, int id);
|
||||
List<HREmployee> GetAllHREmps();
|
||||
|
|
|
@ -26,18 +26,7 @@
|
|||
<Compile Remove="Attendance\BuyerSetup.cs" />
|
||||
<Compile Remove="Organogram\OrganisationChart.cs" />
|
||||
<Compile Remove="Process\NotificationProcess.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>
|
||||
<Compile Remove="TagOutput\MSWord.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -110,28 +110,6 @@ namespace HRM.BO
|
|||
get { return _basicSalary; }
|
||||
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>
|
||||
|
||||
private List<IncomeTax> _incomeTax = null;
|
||||
|
|
|
@ -58,7 +58,6 @@ namespace HRM.BO
|
|||
public string Experience { get; set; }
|
||||
public string Skill { get; set; }
|
||||
public string PrevCandidateStatus { get; set; }
|
||||
public string TrackNo { get; set; }
|
||||
#endregion
|
||||
|
||||
//#region Service Factory ICVService : ICVService
|
||||
|
|
|
@ -383,7 +383,7 @@ namespace HRM.BO
|
|||
List<SalaryProcessStatus> SalaryProcess(SalaryProcess item, List<Employee> employees);
|
||||
int Save(SalaryProcess item);
|
||||
void Delete(int id);
|
||||
bool IsSalaryprocessed(DateTime salarymonth, int payrollTypeID);
|
||||
|
||||
void UndoSalary(int id);
|
||||
void UndoMonthlySalaryByIDs(string ids);
|
||||
void UndoMonthlySalaryByEmpIDs(string ids, DateTime salaryMonth);
|
||||
|
|
|
@ -369,7 +369,6 @@ namespace HRM.BO
|
|||
List<SearchEmployee> Find(SearchManager oManager);
|
||||
List<SearchEmployee> FindCordinator(int? id, int? payrollTypeID);
|
||||
List<SearchEmployee> FindEmpCodeName(int payrolltypeid, string code, string name);
|
||||
List<SearchEmployee> FindEmpCodeNameForEmployeePicker(int userid, int payrolltypeid, string code, string name);
|
||||
SearchEmployee get(int empid);
|
||||
List<SearchEmployee> GetEmployeeNotYetUser(int payrollTypeID);
|
||||
List<SearchEmployee> GetTeam(int employeeid);
|
||||
|
|
|
@ -14,60 +14,29 @@ namespace HRM.BO
|
|||
|
||||
public class FixedLetterTemplte
|
||||
{
|
||||
////BAT Letter Template
|
||||
//public const int Visa_Letter_Business_Trip_With_Family = 1;
|
||||
//public const int Salary_Certificate = 2;
|
||||
//public const int Visa_Letter_Business_Trip = 3;
|
||||
//public const int Visa_Letter_Personal_Trip = 4;
|
||||
//public const int Visa_Letter_With_Family = 5;
|
||||
//public const int Loan_Letter_Bank = 6;
|
||||
//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_Company_Business = 9;
|
||||
//public const int Loan_Certificate_Letter_for_Authorization = 10;
|
||||
//public const int Loan_Certificate_Take_Home_Salary = 11;
|
||||
//public const int Intvw_BrdMember_Notify_Mail = 12;
|
||||
//public const int Employee_Intvw_Notify_Mail = 13;
|
||||
//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
|
||||
//BAT Letter Template
|
||||
public const int Visa_Letter_Business_Trip_With_Family = 1;
|
||||
public const int Salary_Certificate = 2;
|
||||
public const int Visa_Letter_Business_Trip = 3;
|
||||
public const int Visa_Letter_Personal_Trip = 4;
|
||||
public const int Visa_Letter_With_Family = 5;
|
||||
public const int Loan_Letter_Bank = 6;
|
||||
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_Company_Business = 9;
|
||||
public const int Loan_Certificate_Letter_for_Authorization = 10;
|
||||
public const int Loan_Certificate_Take_Home_Salary = 11;
|
||||
public const int Intvw_BrdMember_Notify_Mail = 12;
|
||||
public const int Employee_Intvw_Notify_Mail = 13;
|
||||
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 Notify_Candidate_for_Interview = 21;
|
||||
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 const int Candidate_Offer_Letter = 21;
|
||||
public const int Candidate_Appointment_Letter = 22;
|
||||
public static bool IsValidForDelete(int templateID)
|
||||
{
|
||||
if (templateID <= 17)
|
||||
|
|
|
@ -1,24 +1,26 @@
|
|||
using Common.BO;
|
||||
using Ease.Core.Model;
|
||||
|
||||
|
||||
using Payroll.BO;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
//using Microsoft.Office.Interop;
|
||||
using Microsoft.Office.Interop.Word;
|
||||
using System.Reflection;
|
||||
|
||||
namespace HRM.BO
|
||||
namespace Payroll.BO
|
||||
{
|
||||
public class MSWord
|
||||
{
|
||||
private Hashtable _Pair;
|
||||
private string _OriginalFile;
|
||||
private string _PreparedFile;
|
||||
private Application _wordapp;
|
||||
private Microsoft.Office.Interop.Word.Application _wordapp;
|
||||
public MSWord()
|
||||
{
|
||||
//_wordapp = null;
|
||||
_wordapp = null;
|
||||
}
|
||||
public Hashtable Pair
|
||||
{
|
||||
|
|
|
@ -24,8 +24,8 @@ namespace HRM.DA
|
|||
|
||||
#region Insert function
|
||||
|
||||
internal static void Insert(TransactionContext tc, DailyAttnProcess item)
|
||||
{
|
||||
//internal static void Insert(TransactionContext tc, DailyAttnProcess item)
|
||||
//{
|
||||
// tc.ExecuteNonQuery(
|
||||
// "INSERT INTO DailyAttnProcess(DailyAttnProcessID, EmployeeID, AttnDate, ShiftID, InTime, OutTime,WorkDayType, AttenType, Comments,Reason, IsManualEntry,IsLate, LateHour, EarlyHour, OTHour, ReferenceID, CreatedBy, CreatedDate, OtRemarks, BenefitRemarks, TempShiftID, WFStatus, ApprovedOTHOUR, LMRemarks, DHRemarks, SalaryMonth, ActualInTime, ActualOutTime, CLAIMWFSTATUS)" +
|
||||
// " VALUES(%n, %n, %d, %n, %D, %D, %n, %n, %s,%s,%b, %b, %n, %n, %n, %n, %n, %d, %s, %s, %n,%n,%n, %s, %s, %d,%D,%D, %n)",
|
||||
|
@ -36,25 +36,7 @@ namespace HRM.DA
|
|||
// item.CreatedDate, item.OtRemarks, item.BenefitRemarks, item.TempShiftID,
|
||||
// item.WFStatus, item.ApprovedOTHour, item.LMRemarks, item.DHRemarks, item.SalaryMonth, item.ActualInTime,
|
||||
// item.ActualOutTime, (int)EnumClaimWFStatus.None);
|
||||
tc.ExecuteNonQuery(@"INSERT INTO DailyAttnProcess(DailyAttnProcessID, EmployeeID, AttnDate,
|
||||
ShiftID, InTime, OutTime,
|
||||
WorkDayType, ATTENTYPE, Comments,
|
||||
IsManualEntry,OnlyManualInTime,OnlyManualOutTime,
|
||||
LateHour, EarlyHour, OTHour,
|
||||
ReferenceID, CreatedBy, CreatedDate)
|
||||
VALUES(%n, %n, %d,
|
||||
%n, %D, %D,
|
||||
%n, %n, %s,
|
||||
%b, %b, %b,
|
||||
%n, %n, %n,
|
||||
%n, %n, %d)",
|
||||
item.ID, item.EmployeeID, item.AttnDate,
|
||||
DataReader.GetNullValue(item.ShiftID), DataReader.GetNullValue(item.InTime), DataReader.GetNullValue(item.OutTime),
|
||||
item.WorkDayType, item.AttenType, item.Comments,
|
||||
item.IsManualEntry, item.OnlyManualInTime, item.OnlyManualOutTime,
|
||||
item.LateHour, item.EarlyHour, item.OTHour,
|
||||
DataReader.GetNullValue(item.ReferenceID), item.CreatedBy, item.CreatedDate);
|
||||
}
|
||||
//}
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -660,15 +642,9 @@ namespace HRM.DA
|
|||
|
||||
internal static IDataReader Get(TransactionContext tc, string empID, DateTime fromDate, DateTime toDate)
|
||||
{
|
||||
//string sql =
|
||||
// SQLParser.MakeSQL(
|
||||
// "SELECT dap.* FROM DailyAttnProcess dap Inner Join Employee e on e.EmployeeID=dap.EmployeeID " +
|
||||
// "WHERE dap.EmployeeID IN(%q) AND dap.AttnDate BETWEEN %d AND %d order by dap.AttnDate DESC",
|
||||
// empID, fromDate, toDate);
|
||||
string sql =
|
||||
SQLParser.MakeSQL(
|
||||
"SELECT dap.* FROM DailyAttnProcess dap " +
|
||||
"WHERE dap.EmployeeID IN(%q) AND dap.AttnDate BETWEEN %d AND %d order by dap.AttnDate DESC",
|
||||
"SELECT dap.* FROM DailyAttnProcess dap Inner Join Employee e on e.EmployeeID=dap.EmployeeID WHERE dap.EmployeeID IN(%q) AND dap.AttnDate BETWEEN %d AND %d order by dap.AttnDate DESC",
|
||||
empID, fromDate, toDate);
|
||||
IDataReader dr = tc.ExecuteReader(sql);
|
||||
return dr;
|
||||
|
@ -4110,11 +4086,6 @@ namespace HRM.DA
|
|||
|
||||
return ds.Tables[0];
|
||||
}
|
||||
internal static IDataReader GetByEmployees(TransactionContext tc, DateTime attnDate, string employeeIDs)
|
||||
{
|
||||
return tc.ExecuteReader("SELECT * FROM DailyAttnProcess WHERE AttnDate=%d And employeeid in (%q)", attnDate, employeeIDs);
|
||||
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
|
|
@ -85,9 +85,6 @@ namespace HRM.DA
|
|||
}
|
||||
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);
|
||||
}
|
||||
internal static IDataReader Get(TransactionContext tc, EnumStatus status, string sIDs,
|
||||
|
|
|
@ -730,8 +730,7 @@ namespace HRM.DA
|
|||
}
|
||||
internal static void UpdateBanglaContactInformation(TransactionContext tc, List<object> employeBanglaInfo)
|
||||
{
|
||||
string sql = SQLParser.MakeSQL("UPDATE EMPCONTACT SET presentPOInBangla = %s, presentAddressInBangla = %s, parmanentPOInBangla = %s, permanentAddressInBangla =%s WHERE EMPLOYEEID = %n", employeBanglaInfo[1], employeBanglaInfo[2], employeBanglaInfo[3], employeBanglaInfo[4], employeBanglaInfo[0]);
|
||||
tc.ExecuteNonQuery(sql);
|
||||
tc.ExecuteNonQuery("UPDATE EMPCONTACT SET presentPOInBangla = %s, presentAddressInBangla = %s, parmanentPOInBangla = %s, permanentAddressInBangla =%s WHERE EMPLOYEEID = %s", employeBanglaInfo[1], employeBanglaInfo[2], employeBanglaInfo[3], employeBanglaInfo[4], employeBanglaInfo[0]);
|
||||
|
||||
}
|
||||
internal static IDataReader GetByEmpIDs(TransactionContext tc, string empIDs)
|
||||
|
@ -842,21 +841,6 @@ namespace HRM.DA
|
|||
}
|
||||
return tc.ExecuteReader(strSQLQuery);
|
||||
}
|
||||
internal static IDataReader GetForOTprocess(TransactionContext tc, EnumEmployeeStatus status, int payrollTypeID, DateTime salarymonth )
|
||||
{
|
||||
string strSQLQuery = string.Empty;
|
||||
|
||||
if (status == EnumEmployeeStatus.Regardless)
|
||||
{
|
||||
strSQLQuery = SQLParser.MakeSQL("SELECT * FROM Employee WHERE PAYROLLTYPEID = %n ", payrollTypeID);
|
||||
}
|
||||
else
|
||||
{
|
||||
strSQLQuery = SQLParser.MakeSQL("SELECT * FROM Employee WHERE (Status = %n or endofcontractdate between %d and %d) AND PAYROLLTYPEID = %n ",
|
||||
(int)status,GlobalFunctions.FirstDateOfMonth(salarymonth), GlobalFunctions.LastDateOfMonth(salarymonth), payrollTypeID);
|
||||
}
|
||||
return tc.ExecuteReader(strSQLQuery);
|
||||
}
|
||||
|
||||
internal static DataSet GetEmpIDsOfManager(TransactionContext tc, int status, DateTime lastDateOfYear)
|
||||
{
|
||||
|
@ -3644,8 +3628,7 @@ AND ea.EMPLOYEEID=emp.EMPLOYEEID AND ea.LASTLEVEL=1),'') LastAcademic ,
|
|||
SqlHelperExtension.CreateInParam("@ModAttendance", SqlDbType.Int, isAttendance),
|
||||
SqlHelperExtension.CreateInParam("@PayrollTypeID", SqlDbType.Int, payrollTypeId)
|
||||
};
|
||||
//return tc.ExecuteDataSet(CommandType.StoredProcedure, "sp_DashboardInformation", p.ToArray());
|
||||
return tc.ExecuteDataSet("SELECT * FROM DashboardInformation");
|
||||
return tc.ExecuteDataSet(CommandType.StoredProcedure, "sp_DashboardInformation", p.ToArray());
|
||||
}
|
||||
//Mobile Profile
|
||||
internal static DataSet GetMobileProfile(TransactionContext tc, int employeeID)
|
||||
|
|
|
@ -4,7 +4,6 @@ using Ease.Core.DataAccess;
|
|||
using HRM.BO;
|
||||
using Microsoft.AspNetCore.Routing.Template;
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Org.BouncyCastle.Asn1.X509;
|
||||
|
||||
namespace HRM.DA
|
||||
{
|
||||
|
@ -435,12 +434,12 @@ namespace HRM.DA
|
|||
"EmployeeID, ContactID, PARMANENTADDRESS, PARMANENTDISTRICTID, PARMANENTTHANAID, PARMANENTTELEPHONE," +
|
||||
" PresentAddress, PresentDistrictID, PresentThanaID, PresentTelephone, Mobile, PersonalEmail," +
|
||||
" OfficialEMail, Fax, EmergencyContactAddress, EmergencyContactPerson, EmergencyTelephone, PARMANENTMOBILE, " +
|
||||
" PRESENTMOBILE, PERSONALTELEPHONE, EMERGENCYMOBILE, CPRELATIONID,ProfileStatus,PermanentAddressInBangla,PresentAddressInBangla,PermanentPostCodeNo,PresentPostCodeNo, PresentPOInBangla, ParmanentPOInBangla, PresentPO, PermanentPO)" +
|
||||
" PRESENTMOBILE, PERSONALTELEPHONE, EMERGENCYMOBILE, CPRELATIONID,ProfileStatus,PermanentAddressInBangla,PresentAddressInBangla,PermanentPostCodeNo,PresentPostCodeNo, PresentPOInBangla, ParmanentPOInBangla)" +
|
||||
" VALUES(" +
|
||||
" %n, %n, %s, %n, %n, %s, " +
|
||||
" %s, %n, %n, %s, %s, %s," +
|
||||
" %s, %s, %s, %s, %s, %s," +
|
||||
" %s, %s, %s, %n,%n, %u, %u, %s, %s, %u, %u, %s, %s)",
|
||||
" %s, %s, %s, %n,%n, %u, %u, %s, %s, %u, %u)",
|
||||
item.EmployeeID, item.ID, item.PermanentAddress, DataReader.GetNullValue(item.PermanentDistrictID, 0),
|
||||
DataReader.GetNullValue(item.PermanentThanaID, 0), item.PermanentTelephone,
|
||||
item.PresentAddress, DataReader.GetNullValue(item.PresentDistrictID, 0),
|
||||
|
@ -449,7 +448,7 @@ namespace HRM.DA
|
|||
item.EmergencyTelephone, DataReader.GetNullValue(item.PermanentMobile),
|
||||
DataReader.GetNullValue(item.PresentMobile), DataReader.GetNullValue(item.PersonalTelephone),
|
||||
DataReader.GetNullValue(item.EmergencyMobile),
|
||||
DataReader.GetNullValue(item.ContactPersonRelationId, 0), item.ProfileStatus, item.PermanentAddressInBangla, item.PresentAddressInBangla, item.PermanentPostCodeNo, item.PresentPostCodeNo, item.PresentPOInBangla, item.ParmanentPOInBangla, item.PresentPO, item.PermanentPO);
|
||||
DataReader.GetNullValue(item.ContactPersonRelationId, 0), item.ProfileStatus, item.PermanentAddressInBangla, item.PresentAddressInBangla, item.PermanentPostCodeNo, item.PresentPostCodeNo, item.PresentPOInBangla, item.ParmanentPOInBangla);
|
||||
tc.ExecuteNonQuery(sql);
|
||||
}
|
||||
|
||||
|
@ -460,7 +459,7 @@ namespace HRM.DA
|
|||
"PARMANENTADDRESS =%s , PARMANENTDISTRICTID =%n, PARMANENTTHANAID =%n, PARMANENTTELEPHONE=%s," +
|
||||
" PresentAddress=%s, PresentDistrictID=%n, PresentThanaID=%n, PresentTelephone=%s, Mobile =%s, PersonalEmail=%s," +
|
||||
" OfficialEMail=%s, Fax=%s, EmergencyContactAddress=%s, EmergencyContactPerson=%s, EmergencyTelephone=%s, PARMANENTMOBILE=%s, " +
|
||||
" PRESENTMOBILE=%s, PERSONALTELEPHONE=%s, EMERGENCYMOBILE=%s, CPRELATIONID=%n,ProfileStatus=%n,PermanentAddressInBangla=%u,PresentAddressInBangla=%u,PermanentPostCodeNo=%s,PresentPostCodeNo=%s, PresentPOInBangla = %u, ParmanentPOInBangla = %u, PresentPO = %s, PermanentPO = %s" +
|
||||
" PRESENTMOBILE=%s, PERSONALTELEPHONE=%s, EMERGENCYMOBILE=%s, CPRELATIONID=%n,ProfileStatus=%n,PermanentAddressInBangla=%u,PresentAddressInBangla=%u,PermanentPostCodeNo=%s,PresentPostCodeNo=%s, PresentPOInBangla = %u, ParmanentPOInBangla = %u" +
|
||||
" where EmployeeID =%n and ContactID =%n ",
|
||||
item.PermanentAddress, DataReader.GetNullValue(item.PermanentDistrictID, 0),
|
||||
DataReader.GetNullValue(item.PermanentThanaID, 0), item.PermanentTelephone,
|
||||
|
@ -470,7 +469,7 @@ namespace HRM.DA
|
|||
item.EmergencyTelephone, DataReader.GetNullValue(item.PermanentMobile),
|
||||
DataReader.GetNullValue(item.PresentMobile), DataReader.GetNullValue(item.PersonalTelephone),
|
||||
DataReader.GetNullValue(item.EmergencyMobile),
|
||||
DataReader.GetNullValue(item.ContactPersonRelationId, 0), item.ProfileStatus, item.PermanentAddressInBangla, item.PresentAddressInBangla, item.PermanentPostCodeNo, item.PresentPostCodeNo, item.PresentPOInBangla, item.ParmanentPOInBangla, item.PresentPO, item.PermanentPO, item.EmployeeID, item.ID);
|
||||
DataReader.GetNullValue(item.ContactPersonRelationId, 0), item.ProfileStatus, item.PermanentAddressInBangla, item.PresentAddressInBangla, item.PermanentPostCodeNo, item.PresentPostCodeNo, item.PresentPOInBangla, item.ParmanentPOInBangla, item.EmployeeID, item.ID);
|
||||
tc.ExecuteNonQuery(sql);
|
||||
}
|
||||
|
||||
|
@ -589,8 +588,8 @@ namespace HRM.DA
|
|||
academic.ID, academic.EmployeeID, academic.EducationLevelID,
|
||||
DataReader.GetNullValue(academic.DisciplineID, 0), DataReader.GetNullValue(academic.InstitutionID, 0),
|
||||
DataReader.GetNullValue(academic.PassingYear),
|
||||
DataReader.GetNullValue(academic.ClassOrDivision), DataReader.GetNullValue(academic.GPAOrMarks), academic.LastLevel,
|
||||
DataReader.GetNullValue(academic.OutOf), DataReader.GetNullValue(academic.ResultTypeID),
|
||||
DataReader.GetNullValue(academic.ClassOrDivision), academic.GPAOrMarks, academic.LastLevel,
|
||||
academic.OutOf, DataReader.GetNullValue(academic.ResultTypeID, 0),
|
||||
DataReader.GetNullValue(academic.InstituteName), DataReader.GetNullValue(academic.EducationTypeID, 0),
|
||||
academic.PhotoPath, academic.DocSubmissionDate, academic.ProfileStatus);
|
||||
}
|
||||
|
@ -603,8 +602,8 @@ namespace HRM.DA
|
|||
" where AcademicID =%n and EmployeeID =%n ", academic.EducationLevelID,
|
||||
DataReader.GetNullValue(academic.DisciplineID, 0), DataReader.GetNullValue(academic.InstitutionID, 0),
|
||||
DataReader.GetNullValue(academic.PassingYear),
|
||||
DataReader.GetNullValue(academic.ClassOrDivision), DataReader.GetNullValue(academic.GPAOrMarks), academic.LastLevel,
|
||||
DataReader.GetNullValue(academic.OutOf), DataReader.GetNullValue(academic.ResultTypeID),
|
||||
DataReader.GetNullValue(academic.ClassOrDivision), academic.GPAOrMarks, academic.LastLevel,
|
||||
academic.OutOf, DataReader.GetNullValue(academic.ResultTypeID, 0),
|
||||
DataReader.GetNullValue(academic.InstituteName), DataReader.GetNullValue(academic.EducationTypeID, 0),
|
||||
academic.PhotoPath, academic.DocSubmissionDate, academic.ProfileStatus,
|
||||
academic.ID, academic.EmployeeID);
|
||||
|
@ -677,16 +676,16 @@ namespace HRM.DA
|
|||
tc.ExecuteNonQuery("INSERT INTO EmpNominee(" +
|
||||
"EmployeeID, NomineeID, NominationPurposeID, NominationDate, Name, RelationID, " +
|
||||
" Percentage, BirthDate, OccupationID, Address, TelePhone," +
|
||||
" EmailAddress, NomineeMobileNo, FatherName , MotherName , SpouseName , GENDER , DistrictID , ThanaID , PostOffice)" +
|
||||
" EmailAddress)" +
|
||||
" VALUES(" +
|
||||
" %n, %n, %n, %d, %s, %n," +
|
||||
" %n, %d, %n, %s, %s, %s, %s, %s, %s, %s, %n, %n, %n, %s)",
|
||||
" %n, %d, %n, %s, %s, %s)",
|
||||
nominee.EmployeeID, nominee.ID, nominee.NominationPurposeID,
|
||||
DataReader.GetNullValue(nominee.NominationDate), nominee.Name,
|
||||
DataReader.GetNullValue(nominee.RelationID, 0),
|
||||
nominee.Percentage, DataReader.GetNullValue(nominee.BirthDate),
|
||||
DataReader.GetNullValue(nominee.OccupationID, 0), nominee.Address, nominee.TelePhone,
|
||||
nominee.EmailAddress, nominee.NomineeMobileNo, nominee.FatherName, nominee.MotherName, nominee.SpouseName, nominee.Gender, nominee.DistrictID, nominee.ThanaID, nominee.PostOffice);
|
||||
nominee.EmailAddress);
|
||||
}
|
||||
|
||||
public static void Update(TransactionContext tc, EmpNominee nominee)
|
||||
|
@ -701,17 +700,8 @@ namespace HRM.DA
|
|||
,[ADDRESS] = %s
|
||||
,[TELEPHONE] = %s
|
||||
,[EMAILADDRESS] = %s
|
||||
,[NomineeMobileNo] = %s
|
||||
,[FatherName] = %s
|
||||
,[MotherName] = %s
|
||||
,[SpouseName] = %s
|
||||
,[Gender] = %n
|
||||
,[DistrictID] = %n
|
||||
,[ThanaID] = %n
|
||||
,[PostOffice] = %s
|
||||
WHERE NOMINEEID = %n", nominee.ID, nominee.NominationPurposeID, nominee.Name, nominee.RelationID,
|
||||
nominee.Percentage, nominee.OccupationID, nominee.Address, nominee.TelePhone, nominee.EmailAddress, nominee.NomineeMobileNo,
|
||||
nominee.FatherName, nominee.MotherName, nominee.SpouseName, nominee.Gender, nominee.DistrictID, nominee.ThanaID, nominee.PostOffice,
|
||||
nominee.Percentage, nominee.OccupationID, nominee.Address, nominee.TelePhone, nominee.EmailAddress,
|
||||
nominee.ID);
|
||||
}
|
||||
|
||||
|
@ -953,7 +943,6 @@ namespace HRM.DA
|
|||
,[PHOTOPATH]
|
||||
,[TELEPHONE]
|
||||
,[EMAILADDRESS]
|
||||
,[NomineeMobileNo]
|
||||
,[SIGNATURE]
|
||||
,[EMPLOYEEID]
|
||||
,[NOMINEENAME]
|
||||
|
@ -969,13 +958,6 @@ namespace HRM.DA
|
|||
,[IsMinor]
|
||||
,[NID]
|
||||
,[NIDPath]
|
||||
,[FatherName]
|
||||
,[MotherName]
|
||||
,[SpouseName]
|
||||
,[Gender]
|
||||
,[DistrictID]
|
||||
,[ThanaID]
|
||||
,[PostOffice]
|
||||
,iif(isnull(eu.empfileuploadid, 0) > 0, 1, 0) HasPicture
|
||||
,iif(isnull(eu2.empfileuploadid, 0) > 0, 1, 0) HasSignature
|
||||
from [EMPNOMINEE] en
|
||||
|
@ -1483,35 +1465,5 @@ namespace HRM.DA
|
|||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -114,16 +114,7 @@ namespace HRM.DA
|
|||
return bShowInDesktop;
|
||||
}
|
||||
|
||||
internal static bool IsSalaryprocessed(TransactionContext tc, DateTime dSMonth, int payrollTypeID)
|
||||
{
|
||||
bool bShowInDesktop = false;
|
||||
object obj =
|
||||
tc.ExecuteScalar("Select SALARYPROCESSID from SALARYPROCESS where SALARYMONTH=%d AND PAYROLLTYPEID=%n",
|
||||
dSMonth, payrollTypeID);
|
||||
if (obj == DBNull.Value || obj == null) return false;
|
||||
else bShowInDesktop=true;
|
||||
return bShowInDesktop;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Delete function
|
||||
|
@ -223,7 +214,7 @@ namespace HRM.DA
|
|||
id);
|
||||
tc.ExecuteNonQuery("DELETE FROM SalaryMonthly WHERE SalaryProcessID=%n", id);
|
||||
//}
|
||||
//tc.ExecuteNonQuery("DELETE FROM SalaryProcess WHERE SalaryProcessID=%n", id);
|
||||
tc.ExecuteNonQuery("DELETE FROM SalaryProcess WHERE SalaryProcessID=%n", id);
|
||||
}
|
||||
|
||||
internal static void UndoMonthlySalaryByIDs(TransactionContext tc, string ids)
|
||||
|
|
|
@ -231,7 +231,6 @@ END;";
|
|||
{
|
||||
string orderby = "name";
|
||||
string sqlClause = "";
|
||||
string top = "";
|
||||
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID =%n AND Status = %n", payrollTypeID, EnumStatus.Active);
|
||||
if (code != string.Empty)
|
||||
{
|
||||
|
@ -243,161 +242,8 @@ END;";
|
|||
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("Name LIKE %s", ("%" + name + "%"));
|
||||
|
||||
return tc.ExecuteReader(
|
||||
"Select %q EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q Order by %s",
|
||||
top, sqlClause, orderby);
|
||||
}
|
||||
internal static IDataReader SearchForEmployeePicker(TransactionContext tc, int userID, int payrollTypeID, string code, string name)
|
||||
{
|
||||
string orderby = "name";
|
||||
string sqlClause = "";
|
||||
string top = "";
|
||||
|
||||
string recurSqlClause = SQLParser.MakeSQL(@"
|
||||
DECLARE @userid INT = %n;
|
||||
DECLARE @payrolltypeid INT = %n;
|
||||
DECLARE @permissionstatus INT = %n;
|
||||
WITH RecursiveCategory AS
|
||||
(
|
||||
SELECT
|
||||
CATEGORYID
|
||||
FROM
|
||||
dbo.CATEGORY
|
||||
WHERE
|
||||
CATEGORYID IN (
|
||||
SELECT REFERENCEID
|
||||
FROM DATAPERMISSION
|
||||
WHERE USERID = @userid
|
||||
AND PAYROLLTYPEID = @payrolltypeid
|
||||
AND PERMISSIONSTATUS = @permissionstatus
|
||||
AND PERMISSIONTYPE = %n
|
||||
)
|
||||
),
|
||||
RecursiveGrade AS
|
||||
(
|
||||
SELECT
|
||||
GRADEID
|
||||
FROM
|
||||
dbo.GRADES
|
||||
WHERE
|
||||
GRADEID IN (
|
||||
SELECT REFERENCEID
|
||||
FROM DATAPERMISSION
|
||||
WHERE USERID = @userid
|
||||
AND PAYROLLTYPEID = @payrolltypeid
|
||||
AND PERMISSIONSTATUS = @permissionstatus
|
||||
AND PERMISSIONTYPE = %n
|
||||
)
|
||||
),
|
||||
RecursiveDepartment AS
|
||||
(
|
||||
SELECT
|
||||
DEPARTMENTID
|
||||
FROM
|
||||
dbo.DEPARTMENT
|
||||
WHERE
|
||||
DEPARTMENTID IN (
|
||||
SELECT REFERENCEID
|
||||
FROM DATAPERMISSION
|
||||
WHERE USERID = @userid
|
||||
AND PAYROLLTYPEID = @payrolltypeid
|
||||
AND PERMISSIONSTATUS = @permissionstatus
|
||||
AND PERMISSIONTYPE = %n
|
||||
)
|
||||
UNION ALL
|
||||
SELECT
|
||||
d.DEPARTMENTID
|
||||
FROM
|
||||
dbo.DEPARTMENT d
|
||||
INNER JOIN
|
||||
RecursiveDepartment rd
|
||||
ON
|
||||
d.PARENTID = rd.DEPARTMENTID
|
||||
),
|
||||
RecursiveLocation AS
|
||||
(
|
||||
SELECT
|
||||
LOCATIONID
|
||||
FROM
|
||||
dbo.LOCATION
|
||||
WHERE
|
||||
LOCATIONID IN (
|
||||
SELECT REFERENCEID
|
||||
FROM DATAPERMISSION
|
||||
WHERE USERID = @userid
|
||||
AND PAYROLLTYPEID = @payrolltypeid
|
||||
AND PERMISSIONSTATUS = @permissionstatus
|
||||
AND PERMISSIONTYPE = %n
|
||||
)
|
||||
UNION ALL
|
||||
SELECT
|
||||
l.LOCATIONID
|
||||
FROM
|
||||
dbo.LOCATION l
|
||||
INNER JOIN
|
||||
RecursiveLocation rl
|
||||
ON
|
||||
l.PARENTID = rl.LOCATIONID
|
||||
)", userID, payrollTypeID, EnumMenuPermissionStatus.Approved, EnumDataPermissionType.Cagtegory, EnumDataPermissionType.Grade, EnumDataPermissionType.Department, EnumDataPermissionType.Location);
|
||||
string recurWhereClause = SQLParser.MakeSQL(@"
|
||||
AND
|
||||
(
|
||||
(
|
||||
EXISTS (SELECT 1 FROM RecursiveCategory)
|
||||
AND CATEGORYID IN (SELECT CATEGORYID FROM RecursiveCategory)
|
||||
)
|
||||
OR
|
||||
(
|
||||
EXISTS (SELECT 1 FROM RecursiveGrade)
|
||||
AND GRADEID IN (SELECT GRADEID FROM RecursiveGrade)
|
||||
)
|
||||
OR
|
||||
(
|
||||
EXISTS (SELECT 1 FROM RecursiveDepartment)
|
||||
AND DEPARTMENTID IN (SELECT DEPARTMENTID FROM RecursiveDepartment)
|
||||
)
|
||||
OR
|
||||
(
|
||||
EXISTS (SELECT 1 FROM RecursiveLocation)
|
||||
AND LOCATIONID IN (SELECT LOCATIONID FROM RecursiveLocation)
|
||||
)
|
||||
)");
|
||||
|
||||
//Previous Code For only Live Employee
|
||||
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID =%n AND Status = %n", payrollTypeID, EnumStatus.Active);
|
||||
|
||||
//New Code For live And Waitiong for join Employee
|
||||
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("PayrollTypeID =%n AND (Status = %n OR Status = %n)", payrollTypeID, EnumEmployeeStatus.Live, EnumEmployeeStatus.Waitingforjoin);
|
||||
if (code != string.Empty)
|
||||
{
|
||||
//Previous with suggestion
|
||||
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo LIKE %s", ("%" + code + "%"));
|
||||
//orderby = "EmployeeNo";
|
||||
|
||||
//Using TOP
|
||||
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo LIKE %s", ( code + "%")); // Using LIKE Operator
|
||||
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo = %s", ( code)); // Without Using LIKE Operator
|
||||
orderby = "EmployeeNo";
|
||||
top = "TOP 5";
|
||||
|
||||
//Without suggestion
|
||||
//sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("EmployeeNo = %s", code );
|
||||
//orderby = "EmployeeNo";
|
||||
}
|
||||
|
||||
if (name != string.Empty)
|
||||
sqlClause = SQLParser.TagSQL(sqlClause) + SQLParser.MakeSQL("Name LIKE %s", ("%" + name + "%"));
|
||||
//string finalSQl = SQLParser.MakeSQL(
|
||||
// "%q Select %q EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q %q Order by %s",
|
||||
// recurSqlClause, top, sqlClause, recurWhereClause, orderby);
|
||||
|
||||
|
||||
string finalSQl = SQLParser.MakeSQL(
|
||||
"%q Select %q EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q %q " +
|
||||
" UNION Select %q EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q " +
|
||||
" Order by %s",
|
||||
recurSqlClause, top, sqlClause, recurWhereClause, top, sqlClause, orderby);
|
||||
|
||||
return tc.ExecuteReader(finalSQl);
|
||||
"Select EmployeeID, EmployeeNo, Name, categoryID, GradeID, LocationID, designationid, DepartmentID From Employee %q Order by %s",
|
||||
sqlClause, orderby);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -117,11 +117,8 @@ namespace HRM.DA
|
|||
{
|
||||
DateTime oLastDate = attnProcess.AttnDate.LastDateOfMonth();
|
||||
DateTime oFirstDate = attnProcess.AttnDate.FirstDateOfMonth();
|
||||
//_AttNHolidays =
|
||||
// new AttnNationalHolidayService().GetByMonthAndPayrollType(oFirstDate, oLastDate, payrollTypeID);
|
||||
_AttNHolidays =
|
||||
new AttnNationalHolidayService().Get(EnumStatus.Active, payrollTypeID);
|
||||
|
||||
new AttnNationalHolidayService().GetByMonthAndPayrollType(oFirstDate, oLastDate, payrollTypeID);
|
||||
}
|
||||
|
||||
AttnNationalHoliday oAttNHoliday = _AttNHolidays.Where(o =>
|
||||
|
@ -2101,7 +2098,7 @@ namespace HRM.DA
|
|||
AttnWiseAllowance attnAllow = new AttnWiseAllowance();
|
||||
|
||||
// List<Employee> employees = new EmployeeService().GetByEmpIDs("352,70");
|
||||
List<Employee> employees = new EmployeeService().GetAllLive();
|
||||
List<Employee> employees = new EmployeeService().GetAllEmps();
|
||||
List<ADParameter> oadParameters = new ADParameterService().GetWithDetail(EnumStatus.Active, PayrollTypeId);
|
||||
PayrollType oPayrollType = new PayrollTypeService().Get(PayrollTypeId);
|
||||
List<TermParameter> termParameters = tps.GetwithDetail(oPayrollType.ID);
|
||||
|
@ -2132,7 +2129,7 @@ namespace HRM.DA
|
|||
Employee oemp = employees.FirstOrDefault(x => x.ID == Convert.ToInt32(oRow["EMPLOYEEID"].ToString()));
|
||||
if (oemp == null)
|
||||
{
|
||||
// ErrorList.Add(new SalaryProcessStatus("", "", " Employee not found, Internal ID:" + oRow["EMPLOYEEID"].ToString()));
|
||||
ErrorList.Add(new SalaryProcessStatus("", "", " Employee not found, Internal ID:" + oRow["EMPLOYEEID"].ToString()));
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -2453,12 +2450,9 @@ namespace HRM.DA
|
|||
{
|
||||
DataSet EmpOTHours = new ShiftTermService().GetEmpOT(oPayrollType.NextPayProcessDate, trm.ID);
|
||||
foreach (DataRow Dr in EmpOTHours.Tables[0].Rows)
|
||||
{
|
||||
if (Convert.ToDouble(Dr["TotalOT"]) > 0)
|
||||
{
|
||||
Employee tempEmployee = employees.Where(emp => emp.ID.ToString() == Dr["EmployeeID"].ToString()).FirstOrDefault();
|
||||
if (tempEmployee == null || tempEmployee.IsEligibleOT == false) continue;
|
||||
|
||||
if (tempEmployee == null) continue;
|
||||
if (tempEmployee.GradeID == null)
|
||||
{
|
||||
ErrorList.Add(new SalaryProcessStatus(tempEmployee.EmployeeNo, tempEmployee.Name, "Grade not assinged"));
|
||||
|
@ -2476,7 +2470,6 @@ namespace HRM.DA
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -2604,11 +2597,7 @@ namespace HRM.DA
|
|||
|
||||
List<Shift> shifts =new ShiftService().GetAllShift();
|
||||
List<WorkPlanGroup> workPlanGroups = new WorkPlanGroupService().GetAll();
|
||||
//if( employees == null) employees = new EmployeeService().GetAllLive();
|
||||
if( employees == null)
|
||||
employees = new EmployeeService().Get(EnumEmployeeStatus.Live, payrolltypeid)
|
||||
.OrderBy(num => num.EmployeeNo.Length).ThenBy(num => Convert.ToInt32(num.EmployeeNo)).ToList();
|
||||
|
||||
if( employees == null) employees = new EmployeeService().GetAllLive();
|
||||
List<Employee> discontinueEmps =new EmployeeService().GetDiscontinueEmp(Attdate, DateTime.Now, payrolltypeid);
|
||||
|
||||
//List<AttnRawData> attRawdata = new AttnRawDataService().Get(startTime, ToTime, payrolltypeid);// get raw data by a date and order by date, employee, punchTime
|
||||
|
@ -2647,6 +2636,7 @@ namespace HRM.DA
|
|||
|
||||
foreach (Employee emp in employees)
|
||||
{
|
||||
|
||||
//EmpTempid = emp.ID.Integer;
|
||||
|
||||
#region EmployeeWise Setup
|
||||
|
|
|
@ -46,9 +46,7 @@ namespace HRM.DA
|
|||
oDailyAttnProcess.AttenType = (EnumAttendanceType)oReader.GetInt32("AttenType").Value;
|
||||
oDailyAttnProcess.Comments = oReader.GetString("Comments") == null ? "" : oReader.GetString("Comments");
|
||||
oDailyAttnProcess.Reason = oReader.GetString("Reason") == null ? "" : oReader.GetString("Reason");
|
||||
oDailyAttnProcess.IsManualEntry = oReader.GetBoolean("IsManualEntry", false);
|
||||
oDailyAttnProcess.OnlyManualInTime = oReader.GetBoolean("OnlyManualInTime", false);
|
||||
oDailyAttnProcess.OnlyManualOutTime = oReader.GetBoolean("OnlyManualOutTime", false);
|
||||
oDailyAttnProcess.IsManualEntry = oReader.GetBoolean("IsManualEntry").Value;
|
||||
oDailyAttnProcess.IsFromMobile = (EnumIsFromMobile)oReader.GetInt32("IsFromMobile").Value;
|
||||
oDailyAttnProcess.InTimeLatitude = oReader.GetString("InTimeLatitude") == null ? 0.0m : Convert.ToDecimal(oReader.GetString("InTimeLatitude"));
|
||||
oDailyAttnProcess.OutTimeLatitude = oReader.GetString("OutTimeLatitude") == null ? 0.0m : Convert.ToDecimal(oReader.GetString("OutTimeLatitude"));
|
||||
|
@ -1136,18 +1134,9 @@ namespace HRM.DA
|
|||
|
||||
tc = TransactionContext.Begin(true);
|
||||
foreach (DailyAttnProcess item in oDAttnProcessess)
|
||||
{
|
||||
if (item.IsNew)
|
||||
{
|
||||
int id = tc.GenerateID("DailyAttnProcess", "DAILYATTNPROCESSID");
|
||||
base.SetObjectID(item, id);
|
||||
DailyAttnProcessDA.Insert(tc, item);
|
||||
}
|
||||
else
|
||||
{
|
||||
DailyAttnProcessDA.ManualEditUpdate(tc, item);
|
||||
}
|
||||
}
|
||||
|
||||
//if (attnMonthlyBenefit.Count > 0)
|
||||
// new DailyAttendanceAllowanceService().Save(tc, attnMonthlyBenefit);
|
||||
|
@ -2971,9 +2960,9 @@ namespace HRM.DA
|
|||
}
|
||||
}
|
||||
|
||||
public DateTime? GetLastProcessDateUsingPayrollType(int PayrolltypeID)
|
||||
public DateTime GetLastProcessDateUsingPayrollType(int PayrolltypeID)
|
||||
{
|
||||
DateTime? lastProcessDate = null;
|
||||
DateTime lastProcessDate = DateTime.MinValue;
|
||||
TransactionContext tc = null;
|
||||
try
|
||||
{
|
||||
|
@ -2983,7 +2972,7 @@ namespace HRM.DA
|
|||
{
|
||||
lastProcessDate = oreader.GetDateTime("LastProcessDate").HasValue
|
||||
? oreader.GetDateTime("LastProcessDate").Value
|
||||
: null;
|
||||
: DateTime.MinValue;
|
||||
}
|
||||
|
||||
oreader.Close();
|
||||
|
@ -4818,29 +4807,6 @@ namespace HRM.DA
|
|||
return dt;
|
||||
}
|
||||
|
||||
public List<DailyAttnProcess> GetByEmployees(DateTime attnDate, string employeeIDs)
|
||||
{
|
||||
List<DailyAttnProcess> dailyAttnProcesses = new List<DailyAttnProcess>();
|
||||
TransactionContext tc = null;
|
||||
try
|
||||
{
|
||||
tc = TransactionContext.Begin();
|
||||
DataReader dr = new DataReader(DailyAttnProcessDA.GetByEmployees(tc, attnDate, employeeIDs));
|
||||
dailyAttnProcesses = this.CreateObjects<DailyAttnProcess>(dr);
|
||||
dr.Close();
|
||||
tc.End();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
#region Handle Exception
|
||||
if (tc != null)
|
||||
tc.HandleError();
|
||||
ExceptionLog.Write(e);
|
||||
throw new ServiceException(e.Message, e);
|
||||
#endregion
|
||||
}
|
||||
return dailyAttnProcesses;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -728,11 +728,11 @@ namespace HRM.DA
|
|||
if (ts.Minutes < 16 && ts.Hours < 5)
|
||||
wh = ts.Hours;
|
||||
else if (ts.Minutes < 16)
|
||||
wh = ts.Hours - ((tAtt.InTime.Date >= new DateTime(2025, 3, 1) && tAtt.InTime.Date <= new DateTime(2025, 3, 28)) ? 0.5 : oProductionBonusSetup.BreakHour);
|
||||
wh = ts.Hours - oProductionBonusSetup.BreakHour;
|
||||
else if (ts.TotalHours < 5)
|
||||
wh = ts.TotalHours;
|
||||
else
|
||||
wh = ts.TotalHours - ((tAtt.InTime.Date >= new DateTime(2025, 3, 1) && tAtt.InTime.Date <= new DateTime(2025, 3, 28)) ? 0.5 : oProductionBonusSetup.BreakHour);
|
||||
wh = ts.TotalHours - oProductionBonusSetup.BreakHour;
|
||||
|
||||
hour += wh < 0 ? 0 : wh;
|
||||
}
|
||||
|
@ -791,11 +791,11 @@ namespace HRM.DA
|
|||
if (ts.Minutes < 16 && ts.Hours < 5)
|
||||
wh = ts.Hours;
|
||||
else if (ts.Minutes < 16)
|
||||
wh = ts.Hours - ((tAtt.InTime.Date>=new DateTime(2025,3,1) && tAtt.InTime.Date <= new DateTime(2025, 3, 28))?0.5: oProductionBonusSetup.BreakHour);
|
||||
wh = ts.Hours - oProductionBonusSetup.BreakHour;
|
||||
else if (ts.TotalHours < 5)
|
||||
wh = ts.TotalHours;
|
||||
else
|
||||
wh = ts.TotalHours - ((tAtt.InTime.Date >= new DateTime(2025, 3, 1) && tAtt.InTime.Date <= new DateTime(2025, 3, 28)) ? 0.5 : oProductionBonusSetup.BreakHour);
|
||||
wh = ts.TotalHours - oProductionBonusSetup.BreakHour;
|
||||
|
||||
// hour += ts.Hours < 0 ? 0 : ts.Hours;
|
||||
hour += wh < 0 ? 0 : wh;
|
||||
|
|
|
@ -9,7 +9,6 @@ using System.Linq.Expressions;
|
|||
using HRM.BO;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using static iTextSharp.text.pdf.AcroFields;
|
||||
using System.Collections;
|
||||
|
||||
namespace HRM.DA
|
||||
{
|
||||
|
@ -1564,37 +1563,6 @@ namespace HRM.DA
|
|||
|
||||
return employees;
|
||||
}
|
||||
public List<Employee> GetForOTprocess(EnumEmployeeStatus status, int payrollTypeID, DateTime salarymonth)
|
||||
{
|
||||
List<Employee> employees = new List<Employee>();
|
||||
|
||||
TransactionContext tc = null;
|
||||
try
|
||||
{
|
||||
tc = TransactionContext.Begin();
|
||||
|
||||
DataReader dr = new DataReader(EmployeeDA.GetForOTprocess(tc, status, payrollTypeID, salarymonth));
|
||||
employees = this.CreateObjects<Employee>(dr);
|
||||
dr.Close();
|
||||
|
||||
tc.End();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
#region Handle Exception
|
||||
|
||||
if (tc != null)
|
||||
tc.HandleError();
|
||||
ExceptionLog.Write(e);
|
||||
|
||||
throw new ServiceException(e.Message, e);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
return employees;
|
||||
}
|
||||
|
||||
|
||||
public DataTable GetEmpIDsOfManager(int status, DateTime lastDateOfYear)
|
||||
{
|
||||
|
@ -2017,39 +1985,6 @@ namespace HRM.DA
|
|||
#endregion
|
||||
}
|
||||
}
|
||||
public Employee SaveEmployee(Employee oEmployee)
|
||||
{
|
||||
TransactionContext tc = null;
|
||||
try
|
||||
{
|
||||
tc = TransactionContext.Begin(true);
|
||||
if (oEmployee.IsNew)
|
||||
{
|
||||
int id = tc.GenerateID("Employee", "EmployeeID");
|
||||
base.SetObjectID(oEmployee, id);
|
||||
oEmployee.EmployeeNo = new HREmployeeService().GetNextEmployeeNo(tc);
|
||||
EmployeeDA.Insert(tc, oEmployee);
|
||||
}
|
||||
else
|
||||
{
|
||||
EmployeeDA.Update(tc, oEmployee);
|
||||
}
|
||||
|
||||
tc.End();
|
||||
return oEmployee;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
#region Handle Exception
|
||||
|
||||
if (tc != null)
|
||||
tc.HandleError();
|
||||
ExceptionLog.Write(e);
|
||||
throw new ServiceException(e.Message, e);
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
public int SaveHnmEmployee(List<object> employeeData)
|
||||
{
|
||||
|
@ -5705,177 +5640,5 @@ namespace HRM.DA
|
|||
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -254,8 +254,6 @@ namespace HRM.DA
|
|||
oEmpContact.ProfileStatus = (EnumProfileStatus)oReader.GetInt32("ProfileStatus").GetValueOrDefault();
|
||||
oEmpContact.PresentPOInBangla = oReader.GetString("PresentPOInBangla", true, null);
|
||||
oEmpContact.ParmanentPOInBangla = oReader.GetString("ParmanentPOInBangla", true, null);
|
||||
oEmpContact.PresentPO = oReader.GetString("PresentPO", true, null);
|
||||
oEmpContact.PermanentPO = oReader.GetString("PermanentPO", true, null);
|
||||
this.SetObjectState(oEmpContact, ObjectState.Saved);
|
||||
}
|
||||
|
||||
|
@ -553,21 +551,10 @@ namespace HRM.DA
|
|||
|
||||
oEmpNominee.TelePhone = oReader.GetString("TelePhone");
|
||||
oEmpNominee.EmailAddress = oReader.GetString("EmailAddress");
|
||||
oEmpNominee.NomineeMobileNo = oReader.GetString("NomineeMobileNo", true, string.Empty);
|
||||
oEmpNominee.ProfileStatus = (EnumProfileStatus)oReader.GetInt32("ProfileStatus", true, 0);
|
||||
oEmpNominee.HasPicture = oReader.GetBoolean("HasPicture", true, false);
|
||||
oEmpNominee.HasSignature = oReader.GetBoolean("HasSignature", true, false);
|
||||
|
||||
oEmpNominee.FatherName = oReader.GetString("FatherName");
|
||||
oEmpNominee.MotherName = oReader.GetString("MotherName");
|
||||
oEmpNominee.SpouseName = oReader.GetString("SpouseName");
|
||||
oEmpNominee.NationalID = oReader.GetString("NID");
|
||||
oEmpNominee.Gender = (EnumGender)oReader.GetInt32("Gender", 0);
|
||||
oEmpNominee.DistrictID = oReader.GetInt32("DistrictID").HasValue ? oReader.GetInt32("DistrictID").Value : null;
|
||||
oEmpNominee.ThanaID = oReader.GetInt32("ThanaID").HasValue ? oReader.GetInt32("ThanaID").Value : null;
|
||||
oEmpNominee.PostOffice = oReader.GetString("PostOffice");
|
||||
|
||||
|
||||
this.SetObjectState(oEmpNominee, ObjectState.Saved);
|
||||
}
|
||||
|
||||
|
@ -608,8 +595,8 @@ namespace HRM.DA
|
|||
oEmpAcademic.ProfileStatus = (EnumProfileStatus)oReader.GetInt32("ProfileStatus", 0);
|
||||
|
||||
oEmpAcademic.ResultTypeID = oReader.GetInt32("ResultTypeID", 0);
|
||||
oEmpAcademic.GPAOrMarks = oReader.GetDouble("OutOf").HasValue ? oReader.GetDouble("GPAOrMarks") : null;
|
||||
oEmpAcademic.OutOf = oReader.GetDouble("OutOf").HasValue ? oReader.GetDouble("OutOf") : null;
|
||||
oEmpAcademic.GPAOrMarks = oReader.GetDouble("GPAOrMarks", 0);
|
||||
oEmpAcademic.OutOf = oReader.GetDouble("OutOf", 0);
|
||||
oEmpAcademic.LastLevel = oReader.GetBoolean("LastLevel", false);
|
||||
oEmpAcademic.InstituteName = oReader.GetString("InstituteName");
|
||||
oEmpAcademic.PhotoPath = oReader.GetString("PhotoPath");
|
||||
|
@ -2735,7 +2722,7 @@ namespace HRM.DA
|
|||
tc.End();
|
||||
}
|
||||
|
||||
public HREmployee SavePersonalInfo(HREmployee employee)
|
||||
public int SavePersonalInfo(HREmployee employee)
|
||||
{
|
||||
TransactionContext tc = null;
|
||||
try
|
||||
|
@ -2750,7 +2737,7 @@ namespace HRM.DA
|
|||
if (employee.IsNew)
|
||||
{
|
||||
this.SetObjectID(employee, (HREmployeeDA.GetNewID(tc)));
|
||||
employee.EmployeeNo = this.GetNextEmployeeNo(tc);
|
||||
|
||||
HREmployeeDA.Insert(tc, employee);
|
||||
}
|
||||
else
|
||||
|
@ -2762,7 +2749,7 @@ namespace HRM.DA
|
|||
|
||||
|
||||
tc.End();
|
||||
return employee;
|
||||
return employee.ID;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -2776,35 +2763,7 @@ namespace HRM.DA
|
|||
#endregion
|
||||
}
|
||||
}
|
||||
public string GetNextEmployeeNo(TransactionContext tc)
|
||||
{
|
||||
string nextEmployeeNo = string.Empty;
|
||||
try
|
||||
{
|
||||
|
||||
object obj = tc.ExecuteScalar("SELECT MAX(Cast(EmployeeNo AS Decimal(18,0)))+1 FROM EMPLOYEE");
|
||||
if (obj == DBNull.Value)
|
||||
{
|
||||
nextEmployeeNo = "1";
|
||||
}
|
||||
else
|
||||
{
|
||||
nextEmployeeNo = Convert.ToString(obj);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
#region Handle Exception
|
||||
if (tc != null)
|
||||
tc.HandleError();
|
||||
ExceptionLog.Write(e);
|
||||
throw new Exception(e.Message, e);
|
||||
#endregion
|
||||
}
|
||||
|
||||
return nextEmployeeNo;
|
||||
}
|
||||
|
||||
|
||||
public int Save(HREmployee employee)
|
||||
|
@ -5064,40 +5023,6 @@ namespace HRM.DA
|
|||
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
|
||||
|
||||
public List<EmpHRQuestionAnswer> GetEmpHRQuestionAnswers(TransactionContext tc, int id)
|
||||
|
|
|
@ -340,19 +340,19 @@ namespace HRM.DA
|
|||
using (SqlBulkCopy bulkCopy = new SqlBulkCopy((SqlConnection)tc.Connection, SqlBulkCopyOptions.Default, (SqlTransaction)tc.Transaction))
|
||||
{
|
||||
bulkCopy.BulkCopyTimeout = 6000; // in seconds
|
||||
bulkCopy.ColumnMappings.Add("EMPLOYEEID", "EmployeeID");
|
||||
bulkCopy.ColumnMappings.Add("MONTHDATE", "MonthDate");
|
||||
bulkCopy.ColumnMappings.Add("TERMID", "TermID");
|
||||
bulkCopy.ColumnMappings.Add("TERMPARAMETERID", "TermParameterID");
|
||||
bulkCopy.ColumnMappings.Add("OTHOURS", "OTHours");
|
||||
bulkCopy.ColumnMappings.Add("AMOUNT", "Amount");
|
||||
bulkCopy.ColumnMappings.Add("CREATEDBY", "CreatedBy");
|
||||
bulkCopy.ColumnMappings.Add("CREATIONDATE", "CreationDate");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDBY", "ModifiedBy");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDDATE", "ModifiedDate");
|
||||
bulkCopy.ColumnMappings.Add("OTMONTH", "OTMonth");
|
||||
bulkCopy.ColumnMappings.Add("EMPOVERTIMEID", "EmpOverTimeID");
|
||||
bulkCopy.ColumnMappings.Add("PAYROLLTYPEID", "PayrollTypeID");
|
||||
bulkCopy.ColumnMappings.Add("EMPLOYEEID", "EMPLOYEEID");
|
||||
bulkCopy.ColumnMappings.Add("MONTHDATE", "MONTHDATE");
|
||||
bulkCopy.ColumnMappings.Add("TERMID", "TERMID");
|
||||
bulkCopy.ColumnMappings.Add("TERMPARAMETERID", "TERMPARAMETERID");
|
||||
bulkCopy.ColumnMappings.Add("OTHOURS", "OTHOURS");
|
||||
bulkCopy.ColumnMappings.Add("AMOUNT", "AMOUNT");
|
||||
bulkCopy.ColumnMappings.Add("CREATEDBY", "CREATEDBY");
|
||||
bulkCopy.ColumnMappings.Add("CREATIONDATE", "CREATIONDATE");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDBY", "MODIFIEDBY");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDDATE", "MODIFIEDDATE");
|
||||
bulkCopy.ColumnMappings.Add("OTMONTH", "OTMONTH");
|
||||
bulkCopy.ColumnMappings.Add("EMPOVERTIMEID", "EMPOVERTIMEID");
|
||||
bulkCopy.ColumnMappings.Add("PAYROLLTYPEID", "PAYROLLTYPEID");
|
||||
bulkCopy.ColumnMappings.Add("PRVMONTHHOURS", "PRVMONTHHOURS");
|
||||
bulkCopy.ColumnMappings.Add("CURRMONTHHOURS", "CURRMONTHHOURS");
|
||||
|
||||
|
|
|
@ -524,21 +524,21 @@ namespace HRM.DA
|
|||
{
|
||||
bulkCopy.BulkCopyTimeout = 6000; // in seconds
|
||||
|
||||
bulkCopy.ColumnMappings.Add("PROCESSID", "ProcessId");
|
||||
bulkCopy.ColumnMappings.Add("PROCESSMONTH", "ProcessMonth");
|
||||
bulkCopy.ColumnMappings.Add("EMPID", "EmpID");
|
||||
bulkCopy.ColumnMappings.Add("AMOUNT", "Amount");
|
||||
bulkCopy.ColumnMappings.Add("TERMID", "TermID");
|
||||
bulkCopy.ColumnMappings.Add("HOURS", "Hours");
|
||||
bulkCopy.ColumnMappings.Add("CREATEDBY", "CreatedBy");
|
||||
bulkCopy.ColumnMappings.Add("CREATIONDATE", "CreationDate");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDBY", "ModifiedBy");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDDATE", "ModifiedDate");
|
||||
bulkCopy.ColumnMappings.Add("TERMPARAMETERID", "TermParameterID");
|
||||
bulkCopy.ColumnMappings.Add("EMPOVERTIMEID", "EmpOverTimeID");
|
||||
bulkCopy.ColumnMappings.Add("ARREARAMOUNT", "ArrearAmount");
|
||||
bulkCopy.ColumnMappings.Add("OTMONTH", "OTMonth");
|
||||
bulkCopy.ColumnMappings.Add("PAYROLLTYPEID", "PayrollTypeID");
|
||||
bulkCopy.ColumnMappings.Add("PROCESSID", "PROCESSID");
|
||||
bulkCopy.ColumnMappings.Add("PROCESSMONTH", "PROCESSMONTH");
|
||||
bulkCopy.ColumnMappings.Add("EMPID", "EMPID");
|
||||
bulkCopy.ColumnMappings.Add("AMOUNT", "AMOUNT");
|
||||
bulkCopy.ColumnMappings.Add("TERMID", "TERMID");
|
||||
bulkCopy.ColumnMappings.Add("HOURS", "HOURS");
|
||||
bulkCopy.ColumnMappings.Add("CREATEDBY", "CREATEDBY");
|
||||
bulkCopy.ColumnMappings.Add("CREATIONDATE", "CREATIONDATE");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDBY", "MODIFIEDBY");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDDATE", "MODIFIEDDATE");
|
||||
bulkCopy.ColumnMappings.Add("TERMPARAMETERID", "TERMPARAMETERID");
|
||||
bulkCopy.ColumnMappings.Add("EMPOVERTIMEID", "EMPOVERTIMEID");
|
||||
bulkCopy.ColumnMappings.Add("ARREARAMOUNT", "ARREARAMOUNT");
|
||||
bulkCopy.ColumnMappings.Add("OTMONTH", "OTMONTH");
|
||||
bulkCopy.ColumnMappings.Add("PAYROLLTYPEID", "PAYROLLTYPEID");
|
||||
|
||||
bulkCopy.DestinationTableName = "OTProcess";
|
||||
|
||||
|
@ -614,7 +614,7 @@ namespace HRM.DA
|
|||
public void Process(List<Employee> emps, int userid, int payrolltypeid)
|
||||
{
|
||||
|
||||
TermParameter.EntryType = new SystemConfigarationService().GetconfigStringValue(EnumConfigurationType.Logic,"overtime", "entrytype");
|
||||
// TermParameter.EntryType = ConfigurationManager.GetStringValue("overtime", "entrytype", EnumConfigurationType.Logic);
|
||||
bool calOnEarnedBasic = new SystemConfigarationService().GetconfigBooleanValue(EnumConfigurationType.Logic, "overtime", "earnedbasic");
|
||||
int basicOnMonth = Convert.ToInt32(new SystemConfigarationService().GetconfigValue(EnumConfigurationType.Logic, "overtime", "basicondate"));
|
||||
bool fixedotmonth = new SystemConfigarationService().GetconfigBooleanValue(EnumConfigurationType.Logic, "overtime", "fixedotmonth");
|
||||
|
@ -623,7 +623,7 @@ namespace HRM.DA
|
|||
|
||||
PayrollType ptype = new PayrollTypeService().Get(payrolltypeid);
|
||||
List<Employee> omployees = emps;
|
||||
if (emps == null) omployees = new EmployeeService().GetForOTprocess(EnumEmployeeStatus.Live, payrolltypeid, ptype.NextPayProcessDate);
|
||||
if (emps == null) omployees = new EmployeeService().Get(EnumEmployeeStatus.Live, payrolltypeid);
|
||||
_OtProcess = new List<OTProcess>();
|
||||
_EmpOvertimes = new EmployeeOverTimeService().Get(ptype.NextPayProcessDate, payrolltypeid);
|
||||
double basicSalary = 0;
|
||||
|
@ -835,16 +835,13 @@ namespace HRM.DA
|
|||
TermParameter tparam = TermParameter.GetParameter(this._termParameters, (int)ot.Employee.GradeID, ot.TermID);
|
||||
if (tparam == null) throw new Exception("OT parameter/Policy not found for the employee:"
|
||||
+ ot.Employee.EmployeeNo + " " + ot.Employee.Name);
|
||||
//double nHour = ot.OTHours;
|
||||
////if ((ot.OTHours - nHour) == 0)
|
||||
////{
|
||||
//// throw new Exception("Monthly OT hours can be zero");
|
||||
////}
|
||||
//nHour = Math.Floor(ot.OTHours);
|
||||
//nHour += (ot.OTHours - nHour) * 100 / 60;
|
||||
double nHour = TermParameter.EntryType.ToUpper() == "MINUTE" ? // Means decimal part is in minutes
|
||||
Math.Round(Math.Floor(ot.OTHours) + (((ot.OTHours - Math.Floor(ot.OTHours)) * 100.00) / 60.00), 2)
|
||||
: Math.Round(ot.OTHours, 2);
|
||||
double nHour = ot.OTHours;
|
||||
//if ((ot.OTHours - nHour) == 0)
|
||||
//{
|
||||
// throw new Exception("Monthly OT hours can be zero");
|
||||
//}
|
||||
nHour = Math.Floor(ot.OTHours);
|
||||
nHour += (ot.OTHours - nHour) * 100 / 60;
|
||||
switch (tparam.Type)
|
||||
{
|
||||
case EnumOverTimeType.AnyAmount:
|
||||
|
@ -856,7 +853,7 @@ namespace HRM.DA
|
|||
case EnumOverTimeType.FixedAmount:
|
||||
return ot.OTHours ;
|
||||
case EnumOverTimeType.HourlyBasicPercent:
|
||||
return this.ConvertToHourlyRate(nBasic, ot.OTMonth, _hoursInMonth) * nHour * (tparam.Amount/100);
|
||||
return this.ConvertToHourlyRate(nBasic, ot.OTMonth, tparam.housInMonth) * ot.OTHours * (tparam.Amount/100);
|
||||
case EnumOverTimeType.HourlyFlatAmount:
|
||||
return ot.OTHours * tparam.Amount;
|
||||
case EnumOverTimeType.HoursOfMonth:
|
||||
|
@ -914,8 +911,8 @@ namespace HRM.DA
|
|||
process.OTMonth = GlobalFunctions.LastDateOfMonth(ot.OTMonth);
|
||||
process.TermID = ot.TermID;
|
||||
process.TermParameterID = ot.TermParameterID;
|
||||
process.TotalHour = Math.Round(ot.OTHours, 2);
|
||||
process.Amount = Math.Round(this.GetPayableAmount(ot, Math.Round(nBasic)));
|
||||
process.TotalHour = ot.OTHours;
|
||||
process.Amount = this.GetPayableAmount(ot, nBasic);
|
||||
process.PayrollTypeID = ot.PayrollTypeID;
|
||||
|
||||
return process;
|
||||
|
|
|
@ -978,31 +978,6 @@ namespace HRM.DA
|
|||
return bShowInDesktop;
|
||||
}
|
||||
|
||||
public bool IsSalaryprocessed(DateTime dSalaryMonth, int payrollTypeID)
|
||||
{
|
||||
TransactionContext tc = null;
|
||||
bool isSalaryprocessed;
|
||||
try
|
||||
{
|
||||
tc = TransactionContext.Begin();
|
||||
isSalaryprocessed = SalaryProcessDA.IsSalaryprocessed(tc, dSalaryMonth, payrollTypeID);
|
||||
tc.End();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
#region Handle Exception
|
||||
|
||||
if (tc != null)
|
||||
tc.HandleError();
|
||||
ExceptionLog.Write(e);
|
||||
throw new ServiceException(e.Message, e);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
return isSalaryprocessed;
|
||||
}
|
||||
|
||||
public List<SalaryProcess> GetAllProcess(int payrollTypeID, DateTime nextPayProcessDate)
|
||||
{
|
||||
List<SalaryProcess> salaryProcesss = new List<SalaryProcess>();
|
||||
|
|
|
@ -288,43 +288,6 @@ namespace HRM.DA
|
|||
|
||||
return searchEmployees;
|
||||
}
|
||||
public List<SearchEmployee> FindEmpCodeNameForEmployeePicker(int userID, int payrollTypeID, string code, string name)
|
||||
{
|
||||
List<SearchEmployee> searchEmployees = new List<SearchEmployee>();
|
||||
|
||||
TransactionContext tc = null;
|
||||
try
|
||||
{
|
||||
tc = TransactionContext.Begin();
|
||||
|
||||
DataReader dr = new DataReader(SearchEmployeeDA.SearchForEmployeePicker(tc, userID, payrollTypeID, code, name));
|
||||
searchEmployees = this.CreateObjects<SearchEmployee>(dr);
|
||||
//while (dr.Read())
|
||||
//{
|
||||
// SearchEmployee item = new SearchEmployee();
|
||||
// item.Name = dr.GetString("name");
|
||||
// item.EmployeeNo = dr.GetString("employeeNo");
|
||||
|
||||
// searchEmployees.Add(item);
|
||||
//}
|
||||
dr.Close();
|
||||
tc.End();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
#region Handle Exception
|
||||
|
||||
if (tc != null)
|
||||
tc.HandleError();
|
||||
ExceptionLog.Write(e);
|
||||
|
||||
throw new ServiceException(e.Message, e);
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
return searchEmployees;
|
||||
}
|
||||
|
||||
|
||||
public List<SearchEmployee> GetEmployeeNotYetUser(int payrollTypeID)
|
||||
|
|
|
@ -759,21 +759,21 @@ namespace HRM.DA
|
|||
using (SqlBulkCopy bulkCopy = new SqlBulkCopy((SqlConnection)tc.Connection, SqlBulkCopyOptions.Default, (SqlTransaction)tc.Transaction))
|
||||
{
|
||||
bulkCopy.BulkCopyTimeout = 6000; // in seconds
|
||||
bulkCopy.ColumnMappings.Add("EMPLEAVEID", "EmpLeaveID");
|
||||
bulkCopy.ColumnMappings.Add("EMPLEAVEID", "EMPLEAVEID");
|
||||
bulkCopy.ColumnMappings.Add("EMPLOYEEID", "EMPLOYEEID");
|
||||
bulkCopy.ColumnMappings.Add("LEAVEID", "LEAVEID");
|
||||
bulkCopy.ColumnMappings.Add("MONTHDATE", "MONTHDATE");
|
||||
bulkCopy.ColumnMappings.Add("LEAVEDAY", "LEAVEDAY");
|
||||
bulkCopy.ColumnMappings.Add("CREATEDBY", "CreatedBy");
|
||||
bulkCopy.ColumnMappings.Add("CREATEDBY", "CREATEDBY");
|
||||
bulkCopy.ColumnMappings.Add("LEAVEMONTH", "LEAVEMONTH");
|
||||
bulkCopy.ColumnMappings.Add("FROMDATE", "FROMDATE");
|
||||
bulkCopy.ColumnMappings.Add("TODATE", "TODATE");
|
||||
bulkCopy.ColumnMappings.Add("CREATIONDATE", "CreationDate");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDBY", "ModifiedBy");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDDATE", "ModifiedDate");
|
||||
bulkCopy.ColumnMappings.Add("TYPE", "Type");
|
||||
bulkCopy.ColumnMappings.Add("REFERENCEID", "ReferenceID");
|
||||
bulkCopy.ColumnMappings.Add("PARAMID", "ParamID");
|
||||
bulkCopy.ColumnMappings.Add("CREATIONDATE", "CREATIONDATE");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDBY", "MODIFIEDBY");
|
||||
bulkCopy.ColumnMappings.Add("MODIFIEDDATE", "MODIFIEDDATE");
|
||||
bulkCopy.ColumnMappings.Add("TYPE", "TYPE");
|
||||
bulkCopy.ColumnMappings.Add("REFERENCEID", "REFERENCEID");
|
||||
bulkCopy.ColumnMappings.Add("PARAMID", "PARAMID");
|
||||
bulkCopy.ColumnMappings.Add("ISLATEATTENDANCERELATED", "ISLATEATTENDANCERELATED");
|
||||
bulkCopy.ColumnMappings.Add("PAYROLLTYPEID", "PAYROLLTYPEID");
|
||||
|
||||
|
|
|
@ -15448,10 +15448,6 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
|
||||
private global::System.Data.DataColumn columnShift;
|
||||
|
||||
private global::System.Data.DataColumn columnMinutes;
|
||||
|
||||
private global::System.Data.DataColumn columnExtraAllowance;
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public MonthlyKPIDetailDataTable() {
|
||||
|
@ -15637,22 +15633,6 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public global::System.Data.DataColumn MinutesColumn {
|
||||
get {
|
||||
return this.columnMinutes;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public global::System.Data.DataColumn ExtraAllowanceColumn {
|
||||
get {
|
||||
return this.columnExtraAllowance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
[global::System.ComponentModel.Browsable(false)]
|
||||
|
@ -15709,9 +15689,7 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
string Department,
|
||||
string Unit,
|
||||
string FunctionalUnit,
|
||||
string Shift,
|
||||
double Minutes,
|
||||
int ExtraAllowance) {
|
||||
string Shift) {
|
||||
MonthlyKPIDetailRow rowMonthlyKPIDetailRow = ((MonthlyKPIDetailRow)(this.NewRow()));
|
||||
object[] columnValuesArray = new object[] {
|
||||
EmployeeName,
|
||||
|
@ -15732,9 +15710,7 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
Department,
|
||||
Unit,
|
||||
FunctionalUnit,
|
||||
Shift,
|
||||
Minutes,
|
||||
ExtraAllowance};
|
||||
Shift};
|
||||
rowMonthlyKPIDetailRow.ItemArray = columnValuesArray;
|
||||
this.Rows.Add(rowMonthlyKPIDetailRow);
|
||||
return rowMonthlyKPIDetailRow;
|
||||
|
@ -15776,8 +15752,6 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
this.columnUnit = base.Columns["Unit"];
|
||||
this.columnFunctionalUnit = base.Columns["FunctionalUnit"];
|
||||
this.columnShift = base.Columns["Shift"];
|
||||
this.columnMinutes = base.Columns["Minutes"];
|
||||
this.columnExtraAllowance = base.Columns["ExtraAllowance"];
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
|
@ -15821,10 +15795,6 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
base.Columns.Add(this.columnFunctionalUnit);
|
||||
this.columnShift = new global::System.Data.DataColumn("Shift", typeof(string), null, global::System.Data.MappingType.Element);
|
||||
base.Columns.Add(this.columnShift);
|
||||
this.columnMinutes = new global::System.Data.DataColumn("Minutes", typeof(double), null, global::System.Data.MappingType.Element);
|
||||
base.Columns.Add(this.columnMinutes);
|
||||
this.columnExtraAllowance = new global::System.Data.DataColumn("ExtraAllowance", typeof(int), null, global::System.Data.MappingType.Element);
|
||||
base.Columns.Add(this.columnExtraAllowance);
|
||||
this.columnAttenType.Caption = "AttnType";
|
||||
}
|
||||
|
||||
|
@ -31489,38 +31459,6 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public double Minutes {
|
||||
get {
|
||||
try {
|
||||
return ((double)(this[this.tableMonthlyKPIDetail.MinutesColumn]));
|
||||
}
|
||||
catch (global::System.InvalidCastException e) {
|
||||
throw new global::System.Data.StrongTypingException("The value for column \'Minutes\' in table \'MonthlyKPIDetail\' is DBNull.", e);
|
||||
}
|
||||
}
|
||||
set {
|
||||
this[this.tableMonthlyKPIDetail.MinutesColumn] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public int ExtraAllowance {
|
||||
get {
|
||||
try {
|
||||
return ((int)(this[this.tableMonthlyKPIDetail.ExtraAllowanceColumn]));
|
||||
}
|
||||
catch (global::System.InvalidCastException e) {
|
||||
throw new global::System.Data.StrongTypingException("The value for column \'ExtraAllowance\' in table \'MonthlyKPIDetail\' is DBNull.", e);
|
||||
}
|
||||
}
|
||||
set {
|
||||
this[this.tableMonthlyKPIDetail.ExtraAllowanceColumn] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public bool IsEmployeeNameNull() {
|
||||
|
@ -31748,30 +31686,6 @@ namespace HRM.Report.Attendence.AttendenceDataSet {
|
|||
public void SetShiftNull() {
|
||||
this[this.tableMonthlyKPIDetail.ShiftColumn] = global::System.Convert.DBNull;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public bool IsMinutesNull() {
|
||||
return this.IsNull(this.tableMonthlyKPIDetail.MinutesColumn);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public void SetMinutesNull() {
|
||||
this[this.tableMonthlyKPIDetail.MinutesColumn] = global::System.Convert.DBNull;
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public bool IsExtraAllowanceNull() {
|
||||
return this.IsNull(this.tableMonthlyKPIDetail.ExtraAllowanceColumn);
|
||||
}
|
||||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public void SetExtraAllowanceNull() {
|
||||
this[this.tableMonthlyKPIDetail.ExtraAllowanceColumn] = global::System.Convert.DBNull;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
|
@ -649,8 +649,6 @@
|
|||
<xs:element name="Unit" msprop:Generator_ColumnPropNameInTable="UnitColumn" msprop:Generator_ColumnPropNameInRow="Unit" msprop:Generator_UserColumnName="Unit" msprop:Generator_ColumnVarNameInTable="columnUnit" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="FunctionalUnit" msprop:Generator_ColumnPropNameInTable="FunctionalUnitColumn" msprop:Generator_ColumnPropNameInRow="FunctionalUnit" msprop:Generator_UserColumnName="FunctionalUnit" msprop:Generator_ColumnVarNameInTable="columnFunctionalUnit" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Shift" msprop:Generator_ColumnPropNameInTable="ShiftColumn" msprop:Generator_ColumnPropNameInRow="Shift" msprop:Generator_UserColumnName="Shift" msprop:Generator_ColumnVarNameInTable="columnShift" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Minutes" msprop:Generator_ColumnPropNameInRow="Minutes" msprop:Generator_ColumnPropNameInTable="MinutesColumn" msprop:Generator_ColumnVarNameInTable="columnMinutes" msprop:Generator_UserColumnName="Minutes" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="ExtraAllowance" msprop:Generator_ColumnPropNameInRow="ExtraAllowance" msprop:Generator_ColumnPropNameInTable="ExtraAllowanceColumn" msprop:Generator_ColumnVarNameInTable="columnExtraAllowance" msprop:Generator_UserColumnName="ExtraAllowance" type="xs:int" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
@ -700,7 +698,7 @@
|
|||
<xs:element name="Line" msprop:Generator_ColumnPropNameInTable="LineColumn" msprop:Generator_ColumnPropNameInRow="Line" msprop:Generator_UserColumnName="Line" msprop:Generator_ColumnVarNameInTable="columnLine" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Floor" msprop:Generator_ColumnPropNameInTable="FloorColumn" msprop:Generator_ColumnPropNameInRow="Floor" msprop:Generator_UserColumnName="Floor" msprop:Generator_ColumnVarNameInTable="columnFloor" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="TotalOTDBL" msprop:Generator_ColumnPropNameInTable="TotalOTDBLColumn" msprop:Generator_ColumnPropNameInRow="TotalOTDBL" msprop:Generator_UserColumnName="TotalOTDBL" msprop:Generator_ColumnVarNameInTable="columnTotalOTDBL" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="Division" msprop:Generator_ColumnPropNameInTable="DivisionColumn" msprop:Generator_ColumnPropNameInRow="Division" msprop:Generator_UserColumnName="Division" msprop:Generator_ColumnVarNameInTable="columnDivision" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Division" msprop:Generator_UserColumnName="Division" msprop:Generator_ColumnPropNameInTable="DivisionColumn" msprop:Generator_ColumnPropNameInRow="Division" msprop:Generator_ColumnVarNameInTable="columnDivision" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
@ -732,7 +730,7 @@
|
|||
<xs:element name="AttnDate" msprop:Generator_ColumnPropNameInTable="AttnDateColumn" msprop:Generator_ColumnPropNameInRow="AttnDate" msprop:Generator_UserColumnName="AttnDate" msprop:Generator_ColumnVarNameInTable="columnAttnDate" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="WorkingHour" msprop:Generator_ColumnPropNameInTable="WorkingHourColumn" msprop:Generator_ColumnPropNameInRow="WorkingHour" msprop:Generator_UserColumnName="WorkingHour" msprop:Generator_ColumnVarNameInTable="columnWorkingHour" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="InTimeShow" msprop:Generator_ColumnPropNameInTable="InTimeShowColumn" msprop:Generator_ColumnPropNameInRow="InTimeShow" msprop:Generator_UserColumnName="InTimeShow" msprop:Generator_ColumnVarNameInTable="columnInTimeShow" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="LateHour" msprop:Generator_UserColumnName="LateHour" msprop:Generator_ColumnPropNameInTable="LateHourColumn" msprop:Generator_ColumnPropNameInRow="LateHour" msprop:Generator_ColumnVarNameInTable="columnLateHour" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="LateHour" msprop:Generator_ColumnPropNameInRow="LateHour" msprop:Generator_ColumnPropNameInTable="LateHourColumn" msprop:Generator_ColumnVarNameInTable="columnLateHour" msprop:Generator_UserColumnName="LateHour" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
|
|
@ -4,48 +4,48 @@
|
|||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="123" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="1" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:DailyAttnProcess" ZOrder="18" X="2" Y="30" Height="28" Width="164" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnPrev" ZOrder="8" X="310" Y="116" Height="28" Width="172" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="349" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnParentNew" ZOrder="5" X="236" Y="34" Height="28" Width="211" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DailyAttnProcess" ZOrder="17" X="2" Y="30" Height="28" Width="164" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnPrev" ZOrder="7" X="310" Y="116" Height="28" Width="172" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="349" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnParentNew" ZOrder="4" X="236" Y="34" Height="28" Width="211" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MonthlyDetail" ZOrder="40" X="1184" Y="70" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:EmpInfo" ZOrder="39" X="1446" Y="165" Height="86" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="82" SplitterPosition="82" />
|
||||
<Shape ID="DesignTable:IDCard" ZOrder="12" X="7" Y="131" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MonthlyAttnBenefit" ZOrder="26" X="1010" Y="275" Height="28" Width="182" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliEmpNotAssignInWork" ZOrder="14" X="2" Y="165" Height="28" Width="224" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliPaymentRegister" ZOrder="13" X="3" Y="96" Height="28" Width="194" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliWorkStatus" ZOrder="6" X="782" Y="388" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:IDCard" ZOrder="11" X="7" Y="131" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MonthlyAttnBenefit" ZOrder="25" X="1010" Y="275" Height="28" Width="182" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliEmpNotAssignInWork" ZOrder="13" X="2" Y="165" Height="28" Width="224" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliPaymentRegister" ZOrder="12" X="3" Y="96" Height="28" Width="194" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliWorkStatus" ZOrder="5" X="782" Y="388" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="177" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DailyLabourSummary" ZOrder="36" X="1517" Y="371" Height="162" Width="191" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="158" />
|
||||
<Shape ID="DesignTable:BadliDailyBill" ZOrder="38" X="1295" Y="310" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:BadliEmpAssignInWork" ZOrder="17" X="0" Y="0" Height="28" Width="202" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliEmpAssignInWork" ZOrder="16" X="0" Y="0" Height="28" Width="202" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:TimeCard" ZOrder="30" X="242" Y="180" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliWeeklyPayment" ZOrder="11" X="240" Y="149" Height="28" Width="189" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliMonthWiseSummary" ZOrder="9" X="4" Y="321" Height="28" Width="217" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliWeeklyPayment" ZOrder="10" X="240" Y="149" Height="28" Width="189" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:BadliMonthWiseSummary" ZOrder="8" X="4" Y="321" Height="28" Width="217" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DailyOverTime" ZOrder="37" X="1116" Y="539" Height="257" Width="151" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:AttnBenefitDataCompare" ZOrder="35" X="717" Y="718" Height="239" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
|
||||
<Shape ID="DesignTable:AttnMonthlyBDataCompare" ZOrder="34" X="3" Y="353" Height="28" Width="228" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:ActingAllowance" ZOrder="10" X="237" Y="120" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:ActingAllowance" ZOrder="9" X="237" Y="120" Height="28" Width="163" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DepartmentWiseOT" ZOrder="33" X="1145" Y="777" Height="239" Width="180" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
|
||||
<Shape ID="DesignTable:LeaveWithoutPay" ZOrder="20" X="235" Y="92" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DailyInOut" ZOrder="16" X="7" Y="195" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpAttenInfo" ZOrder="28" X="1434" Y="144" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:DailyAbsent" ZOrder="15" X="10" Y="260" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:LeaveWithoutPay" ZOrder="19" X="235" Y="92" Height="28" Width="167" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DailyInOut" ZOrder="15" X="7" Y="195" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpAttenInfo" ZOrder="27" X="1434" Y="144" Height="182" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="178" />
|
||||
<Shape ID="DesignTable:DailyAbsent" ZOrder="14" X="10" Y="260" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:OddNumberInOut" ZOrder="32" X="13" Y="292" Height="28" Width="171" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:InOutMissing" ZOrder="21" X="236" Y="63" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MnthlyKPIDtlSummary" ZOrder="22" X="236" Y="2" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DateWiseInOut" ZOrder="27" X="1020" Y="502" Height="28" Width="154" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:LateNessWise" ZOrder="7" X="930" Y="280" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:InOutMissing" ZOrder="20" X="236" Y="63" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MnthlyKPIDtlSummary" ZOrder="21" X="236" Y="2" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DateWiseInOut" ZOrder="26" X="1020" Y="502" Height="28" Width="154" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:LateNessWise" ZOrder="6" X="930" Y="280" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DateWiseInOutFiledForce" ZOrder="31" X="1178" Y="502" Height="239" Width="213" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
|
||||
<Shape ID="DesignTable:AbsentDataForMailSender" ZOrder="24" X="407" Y="1" Height="28" Width="218" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DailyAttnReportForMailSender" ZOrder="23" X="405" Y="28" Height="28" Width="245" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="273" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MonthlyKPIDetail" ZOrder="1" X="968" Y="266" Height="257" Width="169" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:MonthlyAttendanceReportNew" ZOrder="19" X="0" Y="0" Height="28" Width="248" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MonthlyAttn" ZOrder="3" X="12" Y="63" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:EmpDailyAttn" ZOrder="2" X="470" Y="232" Height="257" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnParent" ZOrder="29" X="0" Y="108" Height="28" Width="184" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnTest" ZOrder="25" X="681" Y="242" Height="239" Width="170" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnParentNewLiFung" ZOrder="4" X="312" Y="281" Height="219" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
|
||||
<Shape ID="DesignTable:AbsentDataForMailSender" ZOrder="23" X="407" Y="1" Height="28" Width="218" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:DailyAttnReportForMailSender" ZOrder="22" X="405" Y="28" Height="28" Width="245" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="273" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MonthlyKPIDetail" ZOrder="29" X="968" Y="266" Height="257" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:MonthlyAttendanceReportNew" ZOrder="18" X="0" Y="0" Height="28" Width="248" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:MonthlyAttn" ZOrder="2" X="12" Y="63" Height="257" Width="150" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:EmpDailyAttn" ZOrder="1" X="470" Y="232" Height="257" Width="154" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnParent" ZOrder="28" X="0" Y="108" Height="28" Width="184" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" SplitterPosition="24" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnTest" ZOrder="24" X="681" Y="242" Height="239" Width="170" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="235" />
|
||||
<Shape ID="DesignTable:EmpDailyAttnParentNewLiFung" ZOrder="3" X="312" Y="281" Height="219" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="215" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
|
@ -1242,7 +1242,6 @@ namespace HRM.Report
|
|||
string shortAttnType = "";
|
||||
if (!(dAttnProcessess == null || dAttnProcessess.Count <= 0))
|
||||
{
|
||||
dAttnProcessess= dAttnProcessess.OrderBy(x => x.AttnDate).ToList();
|
||||
foreach (DailyAttnProcess dAttnProcess in dAttnProcessess)
|
||||
{
|
||||
sLeaveName = string.Empty;
|
||||
|
@ -1352,7 +1351,7 @@ namespace HRM.Report
|
|||
startTime = startTime.Value.AddMinutes(-15) > dAttnProcess.InTime ? startTime.Value.AddMinutes(-15) : dAttnProcess.InTime;
|
||||
|
||||
endTime = dAttnProcess.OutTime;
|
||||
if (endTime != DateTime.MinValue && endTime != null)
|
||||
if (endTime != DateTime.MinValue)
|
||||
{
|
||||
if (endTime.Value.Subtract(startTime.Value).Add(TimeSpan.FromMinutes(1)).TotalHours >= dExtraAllowanceHours)
|
||||
{
|
||||
|
@ -1414,10 +1413,10 @@ namespace HRM.Report
|
|||
dTable.Rows.Add(Rowbody);
|
||||
}
|
||||
}
|
||||
//DataView dv = dTable.DefaultView;
|
||||
//dv.Sort = "Date ASC";
|
||||
//DataTable sortedDT = dv.ToTable();
|
||||
return dTable;
|
||||
DataView dv = dTable.DefaultView;
|
||||
dv.Sort = "Date ASC";
|
||||
DataTable sortedDT = dv.ToTable();
|
||||
return sortedDT;
|
||||
}
|
||||
|
||||
public DataTable GetEmpDailyAttn(int EmpID, DateTime dFromDate, DateTime dToDate, int PayrollTypeID)
|
||||
|
|
|
@ -266,146 +266,6 @@
|
|||
<TablixCornerCell />
|
||||
<TablixCornerCell />
|
||||
<TablixCornerCell />
|
||||
<TablixCornerCell>
|
||||
<CellContents>
|
||||
<Textbox Name="Textbox3">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>Department</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox3</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<BackgroundColor>Gainsboro</BackgroundColor>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixCornerCell>
|
||||
<TablixCornerCell>
|
||||
<CellContents>
|
||||
<Textbox Name="Textbox9">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>Floor</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox9</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<BackgroundColor>Gainsboro</BackgroundColor>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixCornerCell>
|
||||
<TablixCornerCell>
|
||||
<CellContents>
|
||||
<Textbox Name="Textbox11">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>Section</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox11</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<BackgroundColor>Gainsboro</BackgroundColor>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixCornerCell>
|
||||
<TablixCornerCell>
|
||||
<CellContents>
|
||||
<Textbox Name="Textbox13">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>Line</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Textbox13</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<BackgroundColor>Gainsboro</BackgroundColor>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixCornerCell>
|
||||
</TablixCornerRow>
|
||||
</TablixCornerRows>
|
||||
</TablixCorner>
|
||||
|
@ -679,190 +539,6 @@
|
|||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixHeader>
|
||||
<TablixMembers>
|
||||
<TablixMember>
|
||||
<Group Name="matrix1_Department">
|
||||
<GroupExpressions>
|
||||
<GroupExpression>=Fields!Department.Value</GroupExpression>
|
||||
</GroupExpressions>
|
||||
</Group>
|
||||
<SortExpressions>
|
||||
<SortExpression>
|
||||
<Value>=Fields!Department.Value</Value>
|
||||
</SortExpression>
|
||||
</SortExpressions>
|
||||
<TablixHeader>
|
||||
<Size>1in</Size>
|
||||
<CellContents>
|
||||
<Textbox Name="Department">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=First(Fields!Department.Value)</Value>
|
||||
<Style>
|
||||
<FontSize>7pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Department</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixHeader>
|
||||
<TablixMembers>
|
||||
<TablixMember>
|
||||
<Group Name="matrix1_Floor">
|
||||
<GroupExpressions>
|
||||
<GroupExpression>=Fields!Floor.Value</GroupExpression>
|
||||
</GroupExpressions>
|
||||
</Group>
|
||||
<SortExpressions>
|
||||
<SortExpression>
|
||||
<Value>=Fields!Floor.Value</Value>
|
||||
</SortExpression>
|
||||
</SortExpressions>
|
||||
<TablixHeader>
|
||||
<Size>1in</Size>
|
||||
<CellContents>
|
||||
<Textbox Name="Floor">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=First(Fields!Floor.Value)</Value>
|
||||
<Style>
|
||||
<FontSize>7pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Floor</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixHeader>
|
||||
<TablixMembers>
|
||||
<TablixMember>
|
||||
<Group Name="matrix1_Section">
|
||||
<GroupExpressions>
|
||||
<GroupExpression>=Fields!Section.Value</GroupExpression>
|
||||
</GroupExpressions>
|
||||
</Group>
|
||||
<SortExpressions>
|
||||
<SortExpression>
|
||||
<Value>=Fields!Section.Value</Value>
|
||||
</SortExpression>
|
||||
</SortExpressions>
|
||||
<TablixHeader>
|
||||
<Size>1in</Size>
|
||||
<CellContents>
|
||||
<Textbox Name="Section">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=First(Fields!Section.Value)</Value>
|
||||
<Style>
|
||||
<FontSize>7pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Section</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixHeader>
|
||||
<TablixMembers>
|
||||
<TablixMember>
|
||||
<Group Name="matrix1_Line">
|
||||
<GroupExpressions>
|
||||
<GroupExpression>=Fields!Line.Value</GroupExpression>
|
||||
</GroupExpressions>
|
||||
</Group>
|
||||
<SortExpressions>
|
||||
<SortExpression>
|
||||
<Value>=Fields!Line.Value</Value>
|
||||
</SortExpression>
|
||||
</SortExpressions>
|
||||
<TablixHeader>
|
||||
<Size>1in</Size>
|
||||
<CellContents>
|
||||
<Textbox Name="Line">
|
||||
<CanGrow>true</CanGrow>
|
||||
<KeepTogether>true</KeepTogether>
|
||||
<Paragraphs>
|
||||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=First(Fields!Line.Value)</Value>
|
||||
<Style>
|
||||
<FontSize>7pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
<Style>
|
||||
<TextAlign>Center</TextAlign>
|
||||
</Style>
|
||||
</Paragraph>
|
||||
</Paragraphs>
|
||||
<rd:DefaultName>Line</rd:DefaultName>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
<PaddingBottom>2pt</PaddingBottom>
|
||||
</Style>
|
||||
</Textbox>
|
||||
</CellContents>
|
||||
</TablixHeader>
|
||||
<TablixMembers>
|
||||
<TablixMember>
|
||||
<Group Name="matrix1_RowGroup7">
|
||||
|
@ -894,14 +570,6 @@
|
|||
<DataElementOutput>Output</DataElementOutput>
|
||||
</TablixMember>
|
||||
</TablixMembers>
|
||||
</TablixMember>
|
||||
</TablixMembers>
|
||||
</TablixMember>
|
||||
</TablixMembers>
|
||||
</TablixMember>
|
||||
</TablixMembers>
|
||||
</TablixMember>
|
||||
</TablixMembers>
|
||||
<DataElementOutput>Output</DataElementOutput>
|
||||
</TablixMember>
|
||||
</TablixMembers>
|
||||
|
@ -923,7 +591,7 @@
|
|||
<DataSetName>AttendenceDataSet_MonthlyDetail</DataSetName>
|
||||
<Top>0.6875in</Top>
|
||||
<Height>0.9in</Height>
|
||||
<Width>8.35in</Width>
|
||||
<Width>4.35in</Width>
|
||||
<Style />
|
||||
</Tablix>
|
||||
<Textbox Name="textbox1">
|
||||
|
|
|
@ -1371,7 +1371,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>="Festival Holidays: "&sum(cint(iif(Fields!Status.Value="N",1,0)))</Value>
|
||||
<Value>="Festival Holidays: "&sum(cint(iif(Fields!Status.Value="H",1,0)))</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<FontWeight>Bold</FontWeight>
|
||||
|
|
|
@ -46,19 +46,19 @@
|
|||
</Field>
|
||||
<Field Name="AttnDate">
|
||||
<DataField>AttnDate</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
<rd:TypeName>System.DateTime</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="AttenType">
|
||||
<DataField>AttenType</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
<Field Name="AttnType">
|
||||
<DataField>AttnType</DataField>
|
||||
<rd:TypeName>System.Int16</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="OTHour">
|
||||
<DataField>OTHour</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
<rd:TypeName>System.Double</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="ReferenceID">
|
||||
<DataField>ReferenceID</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
<rd:TypeName>System.Int32</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="KPIStatus">
|
||||
<DataField>KPIStatus</DataField>
|
||||
|
@ -88,30 +88,10 @@
|
|||
<DataField>Department</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="Unit">
|
||||
<DataField>Unit</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="FunctionalUnit">
|
||||
<DataField>FunctionalUnit</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="Shift">
|
||||
<DataField>Shift</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="Minutes">
|
||||
<DataField>Minutes</DataField>
|
||||
<rd:TypeName>System.Double</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="ExtraAllowance">
|
||||
<DataField>ExtraAllowance</DataField>
|
||||
<rd:TypeName>System.Int32</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>AttendenceDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\Git\EchoTex_Payroll\HRM.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath>
|
||||
<rd:SchemaPath>D:\Local\EchoTex\Echo_Desktop\Payroll.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>MonthlyKPIDetail</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
|
@ -151,7 +131,7 @@
|
|||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>AttendenceDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\Git\EchoTex_Payroll\HRM.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath>
|
||||
<rd:SchemaPath>D:\Local\EchoTextPR\Echo_Desktop.root\Echo_Desktop\Payroll.Report\Attendence\AttendenceDataSet\AttendenceDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>MnthlyKPIDtlSummary</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
|
@ -857,9 +837,6 @@
|
|||
<TablixColumn>
|
||||
<Width>0.46875in</Width>
|
||||
</TablixColumn>
|
||||
<TablixColumn>
|
||||
<Width>0.39583in</Width>
|
||||
</TablixColumn>
|
||||
<TablixColumn>
|
||||
<Width>0.35417in</Width>
|
||||
</TablixColumn>
|
||||
|
@ -954,7 +931,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=Math.Round(Sum(Fields!Minutes.Value)/60,2)</Value>
|
||||
<Value />
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<Color>Green</Color>
|
||||
|
@ -1018,7 +995,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=IIF((Sum(iif(Fields!AttenType.Value = 1 or Fields!AttenType.Value = 3 or Fields!AttenType.Value = 7 or Fields!AttenType.Value = 11 or Fields!AttenType.Value = 12,1,0)))>0,Sum(Fields!OTHour.Value)/(Sum(iif(Fields!AttenType.Value = 1 or Fields!AttenType.Value = 3 or Fields!AttenType.Value = 7 or Fields!AttenType.Value = 11 or Fields!AttenType.Value = 12,1,0))),0)</Value>
|
||||
<Value>=IIF((Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0)))>0,Sum(Fields!OTHour.Value)/(Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0))),0)</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
<Format>0.00;(0.00)</Format>
|
||||
|
@ -1201,39 +1178,6 @@
|
|||
</Textbox>
|
||||
</CellContents>
|
||||
</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>
|
||||
<CellContents>
|
||||
<Textbox Name="Textbox8">
|
||||
|
@ -1243,7 +1187,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=Sum(iif(Fields!AttenType.Value = 1 or Fields!AttenType.Value = 3 or Fields!AttenType.Value = 7 or Fields!AttenType.Value = 11 or Fields!AttenType.Value = 12,1,0))</Value>
|
||||
<Value>=Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0))</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
</Style>
|
||||
|
@ -1257,7 +1201,7 @@
|
|||
<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>
|
||||
<BackgroundColor>=iif(Sum(iif(Fields!AttnType.Value = 1 or Fields!AttnType.Value = 3 or Fields!AttnType.Value = 7 or Fields!AttnType.Value = 11 or Fields!AttnType.Value = 12,1,0))>0,"Yellow","White")</BackgroundColor>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
|
@ -1275,7 +1219,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=Sum(iif(Fields!AttenType.Value = 5 or Fields!AttenType.Value = 8,1,0))</Value>
|
||||
<Value>=Sum(iif(Fields!AttnType.Value = 5 or Fields!AttnType.Value = 8,1,0))</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
</Style>
|
||||
|
@ -1289,7 +1233,7 @@
|
|||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<BackgroundColor>=IIF(Sum(iif(Fields!AttenType.Value = 5 or Fields!AttenType.Value = 8,1,0))>0,"Yellow","White")</BackgroundColor>
|
||||
<BackgroundColor>=IIF(Sum(iif(Fields!AttnType.Value = 5 or Fields!AttnType.Value = 8,1,0))>0,"Yellow","White")</BackgroundColor>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
|
@ -1307,7 +1251,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>=Sum(iif(Fields!AttenType.Value = 2,1,0))</Value>
|
||||
<Value>=Sum(iif(Fields!AttnType.Value = 2,1,0))</Value>
|
||||
<Style>
|
||||
<FontSize>8pt</FontSize>
|
||||
</Style>
|
||||
|
@ -1321,7 +1265,7 @@
|
|||
<Border>
|
||||
<Style>Solid</Style>
|
||||
</Border>
|
||||
<BackgroundColor>=IIF(Sum(iif(Fields!AttenType.Value = 2,1,0))>0,"Yellow","White")</BackgroundColor>
|
||||
<BackgroundColor>=IIF(Sum(iif(Fields!AttnType.Value = 2,1,0))>0,"Yellow","White")</BackgroundColor>
|
||||
<PaddingLeft>2pt</PaddingLeft>
|
||||
<PaddingRight>2pt</PaddingRight>
|
||||
<PaddingTop>2pt</PaddingTop>
|
||||
|
@ -2493,87 +2437,6 @@
|
|||
</TablixMember>
|
||||
</TablixMembers>
|
||||
</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>
|
||||
<TablixHeader>
|
||||
<Size>0.25in</Size>
|
||||
|
@ -4200,7 +4063,7 @@
|
|||
<DataSetName>MonthlyKPIDetail</DataSetName>
|
||||
<Top>0.16021in</Top>
|
||||
<Height>1.19792in</Height>
|
||||
<Width>14.35459in</Width>
|
||||
<Width>13.95876in</Width>
|
||||
<Style>
|
||||
<Border>
|
||||
<Style>None</Style>
|
||||
|
@ -4632,7 +4495,7 @@
|
|||
<Height>2.20187in</Height>
|
||||
<Style />
|
||||
</Body>
|
||||
<Width>25in</Width>
|
||||
<Width>23in</Width>
|
||||
<Page>
|
||||
<PageHeader>
|
||||
<Height>1.45313in</Height>
|
||||
|
@ -4859,7 +4722,7 @@
|
|||
</Style>
|
||||
</PageFooter>
|
||||
<PageHeight>8.5in</PageHeight>
|
||||
<PageWidth>27in</PageWidth>
|
||||
<PageWidth>25in</PageWidth>
|
||||
<LeftMargin>0.375in</LeftMargin>
|
||||
<TopMargin>0.375in</TopMargin>
|
||||
<Style />
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace HRM.Report
|
|||
oDR["EmoNo"] = oDRow["EmployeeNo"];
|
||||
oDR["Name"] = oDRow["EmpName"];
|
||||
oDR["OTDescription"] = oDRow["TermName"];
|
||||
oDR["OTRate"] = GlobalFunctions.ConvertDoubleHourToHourMinute(Convert.ToDouble(oDRow["Hours"])); //oDRow["Hours"];
|
||||
oDR["OTRate"] = oDRow["Hours"];
|
||||
oDR["OTAmount"] = GlobalFunctions.Round(Convert.ToDouble(oDRow["Amount"])); // Math.Round(oDRow["Amount"]);
|
||||
//oDR["OTMonth"] = Convert.ToDateTime(oDRow["ProcessMonth"]).ToString("dd MMM yyyy");
|
||||
oDR["OTMonth"] = Convert.ToDateTime(oDRow["OTMonth"]).ToString("dd MMM yyyy");
|
||||
|
|
|
@ -276,9 +276,7 @@ namespace HRM.Report
|
|||
dSet.Tables.Add(dTable);
|
||||
|
||||
//string RDLC = "Payroll.Report.RDLC.rptEmpDesignWiseProdBonus.rdlc";
|
||||
|
||||
string RDLC = "rptEmpDesignWiseProdBonus.rdlc";
|
||||
//string RDLC = "rptEmpDesignWiseProdBonusOld.rdlc";
|
||||
|
||||
List<ReportParameter> _reportParameters = new List<ReportParameter>();
|
||||
ReportParameter rParam = new ReportParameter("Month", dBonusMonth.ToString("MMM yyyy"));
|
||||
|
@ -339,7 +337,6 @@ namespace HRM.Report
|
|||
DateTime? bonusIntime = DateTime.MinValue;
|
||||
DateTime? bonusOuttime = DateTime.MinValue;
|
||||
List<ProdBonusAttn> prodAttn = new ProdBonusAttnService().GetBySetupID(designId);
|
||||
if (prodAttn.Count <= 0) return null;
|
||||
string empIds = string.Empty;
|
||||
empIds = prodAttn.Select(x => x.EmployeeID).Distinct().Aggregate(new StringBuilder(), (sb, empid) => sb.Append(empid + ","), sb => sb.ToString().Trim(','));
|
||||
|
||||
|
@ -411,11 +408,11 @@ namespace HRM.Report
|
|||
if (ts.Minutes < 16 && ts.Hours < 5)
|
||||
wh = ts.Hours;
|
||||
else if (ts.Minutes < 16)
|
||||
wh = ts.Hours - ((tAtt.InTime.Date >= new DateTime(2025, 3, 1) && tAtt.InTime.Date <= new DateTime(2025, 3, 28)) ? 0.5 : design.BreakHour);
|
||||
wh = ts.Hours - design.BreakHour;
|
||||
else if (ts.TotalHours < 5)
|
||||
wh = ts.TotalHours;
|
||||
else
|
||||
wh = ts.TotalHours - ((tAtt.InTime.Date >= new DateTime(2025, 3, 1) && tAtt.InTime.Date <= new DateTime(2025, 3, 28)) ? 0.5 : design.BreakHour);
|
||||
wh = ts.TotalHours - design.BreakHour;
|
||||
|
||||
// hour += ts.Hours < 0 ? 0 : ts.Hours;
|
||||
hour = wh < 0 ? 0 : wh;
|
||||
|
|
|
@ -57,8 +57,7 @@ namespace HRM.Report
|
|||
dTable.Rows.Add(oDR);
|
||||
//count++;
|
||||
}
|
||||
//dTable.TableName = "DigitalServiceBookDataSet_EMPDigitalServiceBook";
|
||||
dTable.TableName = "EMPDigitalServiceBook";
|
||||
dTable.TableName = "DigitalServiceBookDataSet_EMPDigitalServiceBook";
|
||||
dSet.Tables.Add(dTable);
|
||||
|
||||
#endregion
|
||||
|
@ -72,14 +71,13 @@ namespace HRM.Report
|
|||
foreach (DataRow oDRow in oSystemInfo.Tables[0].Rows)
|
||||
{
|
||||
oDR = dTable.NewRow();
|
||||
oDR["NAME"] = "B‡Kv‡U· wjwg‡UW";
|
||||
oDR["CORPORATEADDRESS"] = "Pv›`iv , cjøxwe`y¨r , Kvwjqv‰Ki , MvRxcyi | ";
|
||||
oDR["NAME"] = oDRow["NAME"];
|
||||
oDR["CORPORATEADDRESS"] = oDRow["CORPORATEADDRESS"];
|
||||
|
||||
dTable.Rows.Add(oDR);
|
||||
}
|
||||
|
||||
//dTable.TableName = "DigitalServiceBookDataSet_SystemInformation";
|
||||
dTable.TableName = "SystemInformation";
|
||||
dTable.TableName = "DigitalServiceBookDataSet_SystemInformation";
|
||||
dSet.Tables.Add(dTable);
|
||||
|
||||
#endregion
|
||||
|
@ -110,8 +108,7 @@ namespace HRM.Report
|
|||
|
||||
dTable.Rows.Add(oDR);
|
||||
}
|
||||
//dTable.TableName = "DigitalServiceBookDataSet_EMPLifecycle";
|
||||
dTable.TableName = "EMPLifecycle";
|
||||
dTable.TableName = "DigitalServiceBookDataSet_EMPLifecycle";
|
||||
dSet.Tables.Add(dTable);
|
||||
#endregion
|
||||
|
||||
|
@ -131,8 +128,7 @@ namespace HRM.Report
|
|||
dTable.Rows.Add(oDR);
|
||||
}
|
||||
|
||||
//dTable.TableName = "DigitalServiceBookDataSet_LeaveEntry";
|
||||
dTable.TableName = "LeaveEntry";
|
||||
dTable.TableName = "DigitalServiceBookDataSet_LeaveEntry";
|
||||
|
||||
dSet.Tables.Add(dTable);
|
||||
#endregion
|
||||
|
@ -155,8 +151,7 @@ namespace HRM.Report
|
|||
dTable.Rows.Add(oDR);
|
||||
}
|
||||
|
||||
//dTable.TableName = "DigitalServiceBookDataSet_Complain";
|
||||
dTable.TableName = "Complain";
|
||||
dTable.TableName = "DigitalServiceBookDataSet_Complain";
|
||||
dSet.Tables.Add(dTable);
|
||||
#endregion
|
||||
|
||||
|
|
|
@ -1,17 +1,14 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Ease.Core.Model;
|
||||
using Ease.Core.Utility;
|
||||
using HRM.BO;
|
||||
using HRM.BO.Configuration;
|
||||
using HRM.DA;
|
||||
using HRM.Report.Attendence.AttendenceDataSet;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Reporting.NETCore;
|
||||
using NPOI.SS.Formula.Functions;
|
||||
using NPOI.XSSF.Streaming.Values;
|
||||
|
@ -2338,7 +2335,7 @@ namespace HRM.Report
|
|||
continue;
|
||||
}
|
||||
var empDailyAttnProcess = dAttnProcessess.Where(x => x.EmployeeID == employee.ID &&
|
||||
x.AttnDate >= firstDateOfMonth && x.AttnDate <= lastDateOfMonth).OrderBy(x => x.AttnDate).ToList();
|
||||
x.AttnDate >= firstDateOfMonth && x.AttnDate <= lastDateOfMonth).ToList();
|
||||
if (empDailyAttnProcess.Count > 0)
|
||||
{
|
||||
GetEmpDailyAttn(employee, empDailyAttnProcess, dTableChild, month, out totalOTHour, out totalLateHour, _adps, _Adparameters, oShiftIDs, oShiftIDsSpecial, oNationalHolidays,
|
||||
|
@ -2628,7 +2625,6 @@ namespace HRM.Report
|
|||
DataSet oDailyInOut = null;
|
||||
DataSet oPreviousDayInOut = null;
|
||||
DataRow oDR = null;
|
||||
List<Shift> oShifts = new ShiftService().Get(EnumStatus.Regardless, payrollTypeID);
|
||||
oDailyInOut = new EchoTexExceptionReportService().GetDailyInOut(attnDate, sEmpID);
|
||||
oPreviousDayInOut = new EchoTexExceptionReportService().GetDailyInOut(PreviousAttnDate, sEmpID);
|
||||
position = 1;
|
||||
|
@ -2667,35 +2663,6 @@ namespace HRM.Report
|
|||
oDR["Shift"] = Dr["Shift"].ToString();
|
||||
oDR["CardNo"] = Dr["CardNo"].ToString();
|
||||
|
||||
Shift oSft = oShifts.Find(x => x.ShortName == Dr["Shift"].ToString());
|
||||
DateTime? dtIn = null;
|
||||
DateTime? dtOut = null;
|
||||
|
||||
if (Dr["InTime"] is DBNull)
|
||||
{
|
||||
dtIn = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
dtIn = Convert.ToDateTime(Dr["InTime"].ToString());
|
||||
}
|
||||
if (Dr["OutTime"] is DBNull)
|
||||
{
|
||||
dtOut = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
dtOut = Convert.ToDateTime(Dr["OutTime"].ToString());
|
||||
}
|
||||
|
||||
if (oSft != null && dtIn != null && dtOut != null)
|
||||
{
|
||||
if (Convert.ToDateTime(dtIn).TimeOfDay > oSft.InTime.TimeOfDay &&
|
||||
Convert.ToDateTime(dtOut).TimeOfDay < oSft.OutTime.TimeOfDay)
|
||||
{
|
||||
oDR["Status"] = "LE";
|
||||
}
|
||||
}
|
||||
dTable.Rows.Add(oDR);
|
||||
}
|
||||
position = 6;
|
||||
|
@ -2877,38 +2844,6 @@ namespace HRM.Report
|
|||
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();
|
||||
|
||||
#region Summary Parts
|
||||
|
@ -2948,64 +2883,6 @@ namespace HRM.Report
|
|||
|
||||
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
|
||||
|
|
|
@ -5,6 +5,7 @@ using System.Data;
|
|||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Payroll.BO;
|
||||
using Ease.CoreV35;
|
||||
using Ease.Core.Model;
|
||||
using Ease.Core.Utility;
|
||||
|
@ -15,13 +16,6 @@ using System.IO;
|
|||
using Ease.Core;
|
||||
using Microsoft.Reporting.NETCore;
|
||||
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
|
||||
{
|
||||
|
@ -2920,773 +2914,5 @@ namespace HRM.Report
|
|||
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,7 +45,6 @@
|
|||
<None Remove="RDLC\AllDigitalServiceBook.rdlc" />
|
||||
<None Remove="RDLC\AllEmpTaxInfo.rdlc" />
|
||||
<None Remove="RDLC\AllMedicalClaim.rdlc" />
|
||||
<None Remove="RDLC\ApLetterForAssistantOfficerToAbove.rdlc" />
|
||||
<None Remove="RDLC\ApointmentLetterForStuff.rdlc" />
|
||||
<None Remove="RDLC\ApointmentLetterForWorker.rdlc" />
|
||||
<None Remove="RDLC\ArrearBankAdvice.rdlc" />
|
||||
|
@ -240,7 +239,6 @@
|
|||
<None Remove="RDLC\rptDeletedLifeCycleForExcel.rdlc" />
|
||||
<None Remove="RDLC\rptEmpAcademicInfo.rdlc" />
|
||||
<None Remove="RDLC\rptEmpDesignWiseProdBonus.rdlc" />
|
||||
<None Remove="RDLC\rptEmpDesignWiseProdBonusOld.rdlc" />
|
||||
<None Remove="RDLC\rptEmpGeneralInfo.rdlc" />
|
||||
<None Remove="RDLC\rptEmployeeChildInfo.rdlc" />
|
||||
<None Remove="RDLC\rptEmployeeContactInfo.rdlc" />
|
||||
|
@ -296,18 +294,6 @@
|
|||
<None Remove="RDLC\UpCommingEmp.rdlc" />
|
||||
</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>
|
||||
<EmbeddedResource Include="Attendence\RDLC\DailyAbsent.rdlc" />
|
||||
<EmbeddedResource Include="Attendence\RDLC\DailyAbsentEcho.rdlc" />
|
||||
|
@ -324,23 +310,14 @@
|
|||
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceSummary.rdlc" />
|
||||
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttendanceReportNew.rdlc" />
|
||||
<EmbeddedResource Include="Attendence\RDLC\MonthlyAttnLiFung.rdlc" />
|
||||
<EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCard.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCardSub.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Attendence\RDLC\rptMonthlyKPI.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Attendence\RDLC\MonthlyDetailAttnEcho.rdlc" />
|
||||
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCard.rdlc" />
|
||||
<EmbeddedResource Include="Attendence\RDLC\MultipleJobCardSub.rdlc" />
|
||||
<EmbeddedResource Include="Attendence\RDLC\rptMonthlyKPI.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\ActiveEmployeeDetail.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\AllDigitalServiceBook.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\AllEmpTaxInfo.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\AllMedicalClaim.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\ApLetterForAssistantOfficerToAbove.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\ApointmentLetterForStuff.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\ApointmentLetterForWorker.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\ArrearBankAdvice.rdlc" />
|
||||
|
@ -413,9 +390,7 @@
|
|||
<EmbeddedResource Include="RDLC\DateRangeMultipleJobCardNew.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\DateRangeMultipleJobCardSubNew.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\DepartmentalLeaveReport.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\DigitalServiceBook.rdlc">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RDLC\DigitalServiceBook.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\DivisionWiseOT.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\EducationalInfo.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\EERS.rdlc" />
|
||||
|
@ -552,12 +527,7 @@
|
|||
<EmbeddedResource Include="RDLC\rptDeletedLifeCycle.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\rptDeletedLifeCycleForExcel.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\rptEmpAcademicInfo.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\rptEmpDesignWiseProdBonus.rdlc">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RDLC\rptEmpDesignWiseProdBonusOld.rdlc">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="RDLC\rptEmpDesignWiseProdBonus.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\rptEmpGeneralInfo.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\rptEmployeeChildInfo.rdlc" />
|
||||
<EmbeddedResource Include="RDLC\rptEmployeeContactInfo.rdlc" />
|
||||
|
|
|
@ -18706,7 +18706,7 @@ namespace HRM.Report.PayrollDataSet {
|
|||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public OTMonthlySheetRow AddOTMonthlySheetRow(string EmoNo, string Name, string OTDescription, string OTRate, double OTAmount, System.DateTime OTMonth, string SLNo, double Basic, string SeqNo) {
|
||||
public OTMonthlySheetRow AddOTMonthlySheetRow(string EmoNo, string Name, string OTDescription, double OTRate, double OTAmount, System.DateTime OTMonth, string SLNo, double Basic, string SeqNo) {
|
||||
OTMonthlySheetRow rowOTMonthlySheetRow = ((OTMonthlySheetRow)(this.NewRow()));
|
||||
object[] columnValuesArray = new object[] {
|
||||
EmoNo,
|
||||
|
@ -18760,7 +18760,7 @@ namespace HRM.Report.PayrollDataSet {
|
|||
base.Columns.Add(this.columnName);
|
||||
this.columnOTDescription = new global::System.Data.DataColumn("OTDescription", typeof(string), null, global::System.Data.MappingType.Element);
|
||||
base.Columns.Add(this.columnOTDescription);
|
||||
this.columnOTRate = new global::System.Data.DataColumn("OTRate", typeof(string), null, global::System.Data.MappingType.Element);
|
||||
this.columnOTRate = new global::System.Data.DataColumn("OTRate", typeof(double), null, global::System.Data.MappingType.Element);
|
||||
base.Columns.Add(this.columnOTRate);
|
||||
this.columnOTAmount = new global::System.Data.DataColumn("OTAmount", typeof(double), null, global::System.Data.MappingType.Element);
|
||||
base.Columns.Add(this.columnOTAmount);
|
||||
|
@ -93121,10 +93121,10 @@ namespace HRM.Report.PayrollDataSet {
|
|||
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "17.0.0.0")]
|
||||
public string OTRate {
|
||||
public double OTRate {
|
||||
get {
|
||||
try {
|
||||
return ((string)(this[this.tableOTMonthlySheet.OTRateColumn]));
|
||||
return ((double)(this[this.tableOTMonthlySheet.OTRateColumn]));
|
||||
}
|
||||
catch (global::System.InvalidCastException e) {
|
||||
throw new global::System.Data.StrongTypingException("The value for column \'OTRate\' in table \'OTMonthlySheet\' is DBNull.", e);
|
||||
|
|
|
@ -574,7 +574,7 @@
|
|||
<xs:element name="EmoNo" msprop:Generator_ColumnPropNameInTable="EmoNoColumn" msprop:Generator_ColumnPropNameInRow="EmoNo" msprop:Generator_UserColumnName="EmoNo" msprop:Generator_ColumnVarNameInTable="columnEmoNo" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Name" msprop:Generator_ColumnPropNameInTable="NameColumn" msprop:Generator_ColumnPropNameInRow="Name" msprop:Generator_UserColumnName="Name" msprop:Generator_ColumnVarNameInTable="columnName" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="OTDescription" msprop:Generator_ColumnPropNameInTable="OTDescriptionColumn" msprop:Generator_ColumnPropNameInRow="OTDescription" msprop:Generator_UserColumnName="OTDescription" msprop:Generator_ColumnVarNameInTable="columnOTDescription" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="OTRate" msprop:Generator_ColumnPropNameInTable="OTRateColumn" msprop:Generator_ColumnPropNameInRow="OTRate" msprop:Generator_UserColumnName="OTRate" msprop:Generator_ColumnVarNameInTable="columnOTRate" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="OTRate" msprop:Generator_ColumnPropNameInTable="OTRateColumn" msprop:Generator_ColumnPropNameInRow="OTRate" msprop:Generator_UserColumnName="OTRate" msprop:Generator_ColumnVarNameInTable="columnOTRate" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="OTAmount" msprop:Generator_ColumnPropNameInTable="OTAmountColumn" msprop:Generator_ColumnPropNameInRow="OTAmount" msprop:Generator_UserColumnName="OTAmount" msprop:Generator_ColumnVarNameInTable="columnOTAmount" type="xs:double" minOccurs="0" />
|
||||
<xs:element name="OTMonth" msprop:Generator_ColumnPropNameInTable="OTMonthColumn" msprop:Generator_ColumnPropNameInRow="OTMonth" msprop:Generator_UserColumnName="OTMonth" msprop:Generator_ColumnVarNameInTable="columnOTMonth" type="xs:dateTime" minOccurs="0" />
|
||||
<xs:element name="SLNo" msprop:Generator_ColumnPropNameInTable="SLNoColumn" msprop:Generator_ColumnPropNameInRow="SLNo" msprop:Generator_UserColumnName="SLNo" msprop:Generator_ColumnVarNameInTable="columnSLNo" type="xs:string" minOccurs="0" />
|
||||
|
@ -3308,25 +3308,25 @@
|
|||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="DeletedLifeCycle" msprop:Generator_RowClassName="DeletedLifeCycleRow" msprop:Generator_RowEvHandlerName="DeletedLifeCycleRowChangeEventHandler" msprop:Generator_RowDeletedName="DeletedLifeCycleRowDeleted" msprop:Generator_RowDeletingName="DeletedLifeCycleRowDeleting" msprop:Generator_RowEvArgName="DeletedLifeCycleRowChangeEvent" msprop:Generator_TablePropName="DeletedLifeCycle" msprop:Generator_RowChangedName="DeletedLifeCycleRowChanged" msprop:Generator_UserTableName="DeletedLifeCycle" msprop:Generator_RowChangingName="DeletedLifeCycleRowChanging" msprop:Generator_TableClassName="DeletedLifeCycleDataTable" msprop:Generator_TableVarName="tableDeletedLifeCycle">
|
||||
<xs:element name="DeletedLifeCycle" msprop:Generator_RowEvHandlerName="DeletedLifeCycleRowChangeEventHandler" msprop:Generator_RowDeletedName="DeletedLifeCycleRowDeleted" msprop:Generator_RowDeletingName="DeletedLifeCycleRowDeleting" msprop:Generator_RowEvArgName="DeletedLifeCycleRowChangeEvent" msprop:Generator_TablePropName="DeletedLifeCycle" msprop:Generator_RowChangedName="DeletedLifeCycleRowChanged" msprop:Generator_RowChangingName="DeletedLifeCycleRowChanging" msprop:Generator_TableClassName="DeletedLifeCycleDataTable" msprop:Generator_RowClassName="DeletedLifeCycleRow" msprop:Generator_TableVarName="tableDeletedLifeCycle" msprop:Generator_UserTableName="DeletedLifeCycle">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="EffectDate" msprop:Generator_UserColumnName="EffectDate" msprop:Generator_ColumnPropNameInTable="EffectDateColumn" msprop:Generator_ColumnPropNameInRow="EffectDate" msprop:Generator_ColumnVarNameInTable="columnEffectDate" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="GrossSalary" msprop:Generator_UserColumnName="GrossSalary" msprop:Generator_ColumnPropNameInTable="GrossSalaryColumn" msprop:Generator_ColumnPropNameInRow="GrossSalary" msprop:Generator_ColumnVarNameInTable="columnGrossSalary" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="BasicSalary" msprop:Generator_UserColumnName="BasicSalary" msprop:Generator_ColumnPropNameInTable="BasicSalaryColumn" msprop:Generator_ColumnPropNameInRow="BasicSalary" msprop:Generator_ColumnVarNameInTable="columnBasicSalary" type="xs:string" 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="Company" msprop:Generator_UserColumnName="Company" msprop:Generator_ColumnPropNameInTable="CompanyColumn" msprop:Generator_ColumnPropNameInRow="Company" msprop:Generator_ColumnVarNameInTable="columnCompany" 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="Location" msprop:Generator_UserColumnName="Location" msprop:Generator_ColumnPropNameInTable="LocationColumn" msprop:Generator_ColumnPropNameInRow="Location" msprop:Generator_ColumnVarNameInTable="columnLocation" 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="Confirmed" msprop:Generator_UserColumnName="Confirmed" msprop:Generator_ColumnPropNameInTable="ConfirmedColumn" msprop:Generator_ColumnPropNameInRow="Confirmed" msprop:Generator_ColumnVarNameInTable="columnConfirmed" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="EmployeeNo" msprop:Generator_UserColumnName="EmployeeNo" msprop:Generator_ColumnPropNameInTable="EmployeeNoColumn" msprop:Generator_ColumnPropNameInRow="EmployeeNo" msprop:Generator_ColumnVarNameInTable="columnEmployeeNo" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="EmployeeName" msprop:Generator_UserColumnName="EmployeeName" msprop:Generator_ColumnPropNameInTable="EmployeeNameColumn" msprop:Generator_ColumnPropNameInRow="EmployeeName" msprop:Generator_ColumnVarNameInTable="columnEmployeeName" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Status" msprop:Generator_UserColumnName="Status" msprop:Generator_ColumnPropNameInTable="StatusColumn" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnVarNameInTable="columnStatus" 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="Description" msprop:Generator_UserColumnName="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnVarNameInTable="columnDescription" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="SalaryMonth" msprop:Generator_UserColumnName="SalaryMonth" msprop:Generator_ColumnPropNameInTable="SalaryMonthColumn" msprop:Generator_ColumnPropNameInRow="SalaryMonth" msprop:Generator_ColumnVarNameInTable="columnSalaryMonth" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="GradeSalaryAssesment" msprop:Generator_UserColumnName="GradeSalaryAssesment" msprop:Generator_ColumnPropNameInTable="GradeSalaryAssesmentColumn" msprop:Generator_ColumnPropNameInRow="GradeSalaryAssesment" msprop:Generator_ColumnVarNameInTable="columnGradeSalaryAssesment" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="EffectDate" msprop:Generator_ColumnPropNameInRow="EffectDate" msprop:Generator_ColumnPropNameInTable="EffectDateColumn" msprop:Generator_ColumnVarNameInTable="columnEffectDate" msprop:Generator_UserColumnName="EffectDate" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="GrossSalary" msprop:Generator_ColumnPropNameInRow="GrossSalary" msprop:Generator_ColumnPropNameInTable="GrossSalaryColumn" msprop:Generator_ColumnVarNameInTable="columnGrossSalary" msprop:Generator_UserColumnName="GrossSalary" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="BasicSalary" msprop:Generator_ColumnPropNameInRow="BasicSalary" msprop:Generator_ColumnPropNameInTable="BasicSalaryColumn" msprop:Generator_ColumnVarNameInTable="columnBasicSalary" msprop:Generator_UserColumnName="BasicSalary" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Grade" msprop:Generator_ColumnPropNameInRow="Grade" msprop:Generator_ColumnPropNameInTable="GradeColumn" msprop:Generator_ColumnVarNameInTable="columnGrade" msprop:Generator_UserColumnName="Grade" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Company" msprop:Generator_ColumnPropNameInRow="Company" msprop:Generator_ColumnPropNameInTable="CompanyColumn" msprop:Generator_ColumnVarNameInTable="columnCompany" msprop:Generator_UserColumnName="Company" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Designation" msprop:Generator_ColumnPropNameInRow="Designation" msprop:Generator_ColumnPropNameInTable="DesignationColumn" msprop:Generator_ColumnVarNameInTable="columnDesignation" msprop:Generator_UserColumnName="Designation" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Location" msprop:Generator_ColumnPropNameInRow="Location" msprop:Generator_ColumnPropNameInTable="LocationColumn" msprop:Generator_ColumnVarNameInTable="columnLocation" msprop:Generator_UserColumnName="Location" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Department" msprop:Generator_ColumnPropNameInRow="Department" msprop:Generator_ColumnPropNameInTable="DepartmentColumn" msprop:Generator_ColumnVarNameInTable="columnDepartment" msprop:Generator_UserColumnName="Department" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Confirmed" msprop:Generator_ColumnPropNameInRow="Confirmed" msprop:Generator_ColumnPropNameInTable="ConfirmedColumn" msprop:Generator_ColumnVarNameInTable="columnConfirmed" msprop:Generator_UserColumnName="Confirmed" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="EmployeeNo" msprop:Generator_ColumnPropNameInRow="EmployeeNo" msprop:Generator_ColumnPropNameInTable="EmployeeNoColumn" msprop:Generator_ColumnVarNameInTable="columnEmployeeNo" msprop:Generator_UserColumnName="EmployeeNo" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="EmployeeName" msprop:Generator_ColumnPropNameInRow="EmployeeName" msprop:Generator_ColumnPropNameInTable="EmployeeNameColumn" msprop:Generator_ColumnVarNameInTable="columnEmployeeName" msprop:Generator_UserColumnName="EmployeeName" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="Status" msprop:Generator_ColumnPropNameInRow="Status" msprop:Generator_ColumnPropNameInTable="StatusColumn" msprop:Generator_ColumnVarNameInTable="columnStatus" msprop:Generator_UserColumnName="Status" 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="Description" msprop:Generator_ColumnPropNameInRow="Description" msprop:Generator_ColumnPropNameInTable="DescriptionColumn" msprop:Generator_ColumnVarNameInTable="columnDescription" msprop:Generator_UserColumnName="Description" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="SalaryMonth" msprop:Generator_ColumnPropNameInRow="SalaryMonth" msprop:Generator_ColumnPropNameInTable="SalaryMonthColumn" msprop:Generator_ColumnVarNameInTable="columnSalaryMonth" msprop:Generator_UserColumnName="SalaryMonth" type="xs:string" minOccurs="0" />
|
||||
<xs:element name="GradeSalaryAssesment" msprop:Generator_ColumnPropNameInRow="GradeSalaryAssesment" msprop:Generator_ColumnPropNameInTable="GradeSalaryAssesmentColumn" msprop:Generator_ColumnVarNameInTable="columnGradeSalaryAssesment" msprop:Generator_UserColumnName="GradeSalaryAssesment" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<DiagramLayout xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ex:showrelationlabel="False" ViewPortX="-76" ViewPortY="-38" 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="-76" ViewPortY="-18" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
|
||||
<Shapes>
|
||||
<Shape ID="DesignTable:Payslip" ZOrder="85" X="917" Y="260" Height="257" Width="157" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="253" />
|
||||
<Shape ID="DesignTable:EmployeeInfo" ZOrder="3" X="-66" Y="301" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" SplitterPosition="24" />
|
||||
|
|
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,13 +524,6 @@
|
|||
<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="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:complexType>
|
||||
</xs:element>
|
||||
|
@ -919,75 +912,47 @@
|
|||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<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:sequence>
|
||||
<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_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_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_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_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_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_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_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_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_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_ColumnPropNameInTable="GroupIDColumn" msprop:Generator_ColumnPropNameInRow="GroupID" msprop:Generator_UserColumnName="GroupID" msprop:Generator_ColumnVarNameInTable="columnGroupID" type="xs:int" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<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: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:complexType>
|
||||
<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="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="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_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_UserColumnName="AccountNo" msprop:Generator_ColumnPropNameInTable="AccountNoColumn" msprop:Generator_ColumnPropNameInRow="AccountNo" msprop:Generator_ColumnVarNameInTable="columnAccountNo" 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="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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_UserColumnName="PaymentDate" msprop:Generator_ColumnPropNameInTable="PaymentDateColumn" msprop:Generator_ColumnPropNameInRow="PaymentDate" msprop:Generator_ColumnVarNameInTable="columnPaymentDate" type="xs:string" 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="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="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="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="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="GroupID" msprop:Generator_UserColumnName="GroupID" msprop:Generator_ColumnPropNameInTable="GroupIDColumn" msprop:Generator_ColumnPropNameInRow="GroupID" msprop:Generator_ColumnVarNameInTable="columnGroupID" type="xs:int" 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: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: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: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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="PaymentDate" msprop:Generator_ColumnPropNameInRow="PaymentDate" msprop:Generator_ColumnPropNameInTable="PaymentDateColumn" msprop:Generator_ColumnVarNameInTable="columnPaymentDate" msprop:Generator_UserColumnName="PaymentDate" type="xs:string" minOccurs="0" />
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
|
|
@ -4,61 +4,59 @@
|
|||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
</autogenerated>-->
|
||||
<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">
|
||||
<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">
|
||||
<Shapes>
|
||||
<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="16" X="260" Y="7" Height="28" Width="226" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" 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="26" X="580" Y="14" Height="28" Width="168" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="86" 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="15" X="261" Y="40" Height="28" Width="150" 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="33" X="906" Y="1" Height="28" Width="190" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" 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="49" X="1255" Y="6" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" 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="12" X="263" Y="138" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" 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="11" X="262" Y="202" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" 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="32" X="907" Y="41" Height="28" Width="188" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="196" 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="18" X="-1" Y="79" Height="28" Width="150" 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="47" X="1258" Y="141" Height="28" Width="161" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" 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="21" X="263" Y="269" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="253" 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="27" X="907" Y="88" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" 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="17" X="-4" Y="123" Height="28" Width="199" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" 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="3" X="-2" Y="167" Height="219" Width="197" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="24" SplitterPosition="215" />
|
||||
<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="52" X="582" Y="431" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="139" 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="8" X="572" Y="213" 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="40" X="1262" Y="250" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="235" 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="41" X="1266" Y="311" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="120" 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="42" X="1259" Y="378" Height="28" Width="166" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" 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="38" X="1268" Y="445" Height="28" Width="160" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" 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="35" X="1262" Y="517" Height="28" Width="169" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" 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="31" X="907" Y="227" Height="28" Width="157" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="158" 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="25" X="899" Y="183" Height="28" Width="173" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" 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="23" X="579" Y="333" Height="28" Width="200" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="101" 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="22" X="1084" Y="257" Height="28" Width="150" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="234" SplitterPosition="24" />
|
||||
<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" />
|
||||
<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:DepartmentWiseManpower" ZOrder="11" 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:BankAdviceLetter" ZOrder="22" 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:DtAgeRange" ZOrder="10" 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:EmployeeMasterData" ZOrder="30" 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:SalarySheet" ZOrder="47" 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:dtCashAdvice" ZOrder="7" 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:DTOPI" ZOrder="6" 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:ExperienceCertificate" ZOrder="29" 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:ManagersPTT" ZOrder="13" 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:SalaryCertificate" ZOrder="45" 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:DTFSS" ZOrder="16" 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:PFException" ZOrder="23" 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:MonthlySalaryRevision" ZOrder="12" 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:EmployeeQualification" ZOrder="32" X="-2" Y="167" Height="28" Width="197" AdapterExpanded="true" DataTableExpanded="false" OldAdapterHeight="0" OldDataTableHeight="215" SplitterPosition="24" />
|
||||
<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:AllTaxInfo" ZOrder="50" 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:MoneyReceipt" ZOrder="3" 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:dtGeneral" ZOrder="38" 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:dtSpouse" ZOrder="39" 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:dtEmpExperience" ZOrder="40" 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:dtEmpAcademic" ZOrder="36" 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:dtEmpPublication" ZOrder="33" 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:EducationalInfo" ZOrder="27" 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:DtCostCenterTotal" ZOrder="21" 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:CCWiseBonusSummary" ZOrder="19" 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:dtPerquisite" ZOrder="17" 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" />
|
||||
</Shapes>
|
||||
<Connectors />
|
||||
</DiagramLayout>
|
File diff suppressed because it is too large
Load Diff
|
@ -1,227 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
|
||||
<AutoRefresh>0</AutoRefresh>
|
||||
<DataSources>
|
||||
<DataSource Name="DigitalServiceBookDataSet">
|
||||
<ConnectionProperties>
|
||||
<DataProvider>System.Data.DataSet</DataProvider>
|
||||
<ConnectString>/* Local Connection */</ConnectString>
|
||||
</ConnectionProperties>
|
||||
<rd:DataSourceID>d39c60b2-8a79-4bb8-aed2-7927b2b3603a</rd:DataSourceID>
|
||||
</DataSource>
|
||||
</DataSources>
|
||||
<DataSets>
|
||||
<DataSet Name="EMPDigitalServiceBook">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="EMPLOYEEID">
|
||||
<DataField>EMPLOYEEID</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="EMPLOYEENO">
|
||||
<DataField>EMPLOYEENO</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="NAME">
|
||||
<DataField>NAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="FATHERNAME">
|
||||
<DataField>FATHERNAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="MOTHERNAME">
|
||||
<DataField>MOTHERNAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="SPOUSENAME">
|
||||
<DataField>SPOUSENAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="JOININGDATE">
|
||||
<DataField>JOININGDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="DESIGNATION">
|
||||
<DataField>DESIGNATION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PARMANENTADDRESS">
|
||||
<DataField>PARMANENTADDRESS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PRESENTADDRESS">
|
||||
<DataField>PRESENTADDRESS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BIRTHDATE">
|
||||
<DataField>BIRTHDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PHOTO">
|
||||
<DataField>PHOTO</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="NIDNO">
|
||||
<DataField>NIDNO</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="HEIGHT">
|
||||
<DataField>HEIGHT</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BLOODGROUP">
|
||||
<DataField>BLOODGROUP</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="LMDESIGNATION">
|
||||
<DataField>LMDESIGNATION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="EDUCATIONLEVEL">
|
||||
<DataField>EDUCATIONLEVEL</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PARMANENTDISTRICT">
|
||||
<DataField>PARMANENTDISTRICT</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PARMANENTTHANA">
|
||||
<DataField>PARMANENTTHANA</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>EMPDigitalServiceBook</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="SystemInformation">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="NAME">
|
||||
<DataField>NAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="CORPORATEADDRESS">
|
||||
<DataField>CORPORATEADDRESS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>SystemInformation</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="EMPLifecycle">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="EFFECTDATE">
|
||||
<DataField>EFFECTDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="DESIGNATION">
|
||||
<DataField>DESIGNATION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BASICSALARY">
|
||||
<DataField>BASICSALARY</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="HOUSERENT">
|
||||
<DataField>HOUSERENT</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="MEDICAL">
|
||||
<DataField>MEDICAL</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BONUS">
|
||||
<DataField>BONUS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\SVN\cel.hrm\branches\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>EMPLifecycle</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="LeaveEntry">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="FROMDATE">
|
||||
<DataField>FROMDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="TODATE">
|
||||
<DataField>TODATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="TOTALDAYS">
|
||||
<DataField>TOTALDAYS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>LeaveEntry</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="Complain">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="EFFECTDATE">
|
||||
<DataField>EFFECTDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="DESCRIPTION">
|
||||
<DataField>DESCRIPTION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>Complain</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
</DataSets>
|
||||
<ReportSections>
|
||||
<ReportSection>
|
||||
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
|
||||
<Body>
|
||||
<ReportItems>
|
||||
<Tablix Name="Tablix5">
|
||||
|
@ -402,7 +180,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!EMPLOYEENO.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -464,7 +242,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!EMPLOYEENO.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -691,7 +469,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!FATHERNAME.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -732,7 +510,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!FATHERNAME.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -778,7 +556,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!MOTHERNAME.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -819,7 +597,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!MOTHERNAME.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -952,7 +730,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!PRESENTADDRESS.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -993,7 +771,7 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!PRESENTADDRESS.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -2316,7 +2094,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!PARMANENTADDRESS.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -2387,7 +2165,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!PARMANENTTHANA.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -2496,7 +2274,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!PARMANENTDISTRICT.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -2534,7 +2312,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!PRESENTADDRESS.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -2863,7 +2641,8 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!NAME.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>9pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
|
@ -2876,7 +2655,8 @@
|
|||
<TextRun>
|
||||
<Value>=Fields!CORPORATEADDRESS.Value</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>9pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
|
@ -5889,7 +5669,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!FATHERNAME.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -5925,7 +5705,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!MOTHERNAME.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -5961,7 +5741,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!SPOUSENAME.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -6033,7 +5813,7 @@
|
|||
<TextRun>
|
||||
<Value>=First(Fields!NIDNO.Value, "EMPDigitalServiceBook")</Value>
|
||||
<Style>
|
||||
<FontFamily>SutonnyMJ</FontFamily>
|
||||
<FontFamily>times New Roman</FontFamily>
|
||||
<FontSize>11pt</FontSize>
|
||||
</Style>
|
||||
</TextRun>
|
||||
|
@ -6408,84 +6188,226 @@
|
|||
<BottomMargin>0.29in</BottomMargin>
|
||||
<Style />
|
||||
</Page>
|
||||
</ReportSection>
|
||||
</ReportSections>
|
||||
<ReportParameters>
|
||||
<ReportParameter Name="CompanyInfo">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="Logo">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="Address">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="SearchCriteria">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="Phone">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="Photo">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>ReportParameter1</Prompt>
|
||||
</ReportParameter>
|
||||
</ReportParameters>
|
||||
<ReportParametersLayout>
|
||||
<GridLayoutDefinition>
|
||||
<NumberOfColumns>4</NumberOfColumns>
|
||||
<NumberOfRows>2</NumberOfRows>
|
||||
<CellDefinitions>
|
||||
<CellDefinition>
|
||||
<ColumnIndex>0</ColumnIndex>
|
||||
<RowIndex>0</RowIndex>
|
||||
<ParameterName>CompanyInfo</ParameterName>
|
||||
</CellDefinition>
|
||||
<CellDefinition>
|
||||
<ColumnIndex>1</ColumnIndex>
|
||||
<RowIndex>0</RowIndex>
|
||||
<ParameterName>Logo</ParameterName>
|
||||
</CellDefinition>
|
||||
<CellDefinition>
|
||||
<ColumnIndex>2</ColumnIndex>
|
||||
<RowIndex>0</RowIndex>
|
||||
<ParameterName>Address</ParameterName>
|
||||
</CellDefinition>
|
||||
<CellDefinition>
|
||||
<ColumnIndex>3</ColumnIndex>
|
||||
<RowIndex>0</RowIndex>
|
||||
<ParameterName>SearchCriteria</ParameterName>
|
||||
</CellDefinition>
|
||||
<CellDefinition>
|
||||
<ColumnIndex>0</ColumnIndex>
|
||||
<RowIndex>1</RowIndex>
|
||||
<ParameterName>Phone</ParameterName>
|
||||
</CellDefinition>
|
||||
<CellDefinition>
|
||||
<ColumnIndex>1</ColumnIndex>
|
||||
<RowIndex>1</RowIndex>
|
||||
<ParameterName>Photo</ParameterName>
|
||||
</CellDefinition>
|
||||
</CellDefinitions>
|
||||
</GridLayoutDefinition>
|
||||
</ReportParametersLayout>
|
||||
<AutoRefresh>0</AutoRefresh>
|
||||
<DataSources>
|
||||
<DataSource Name="DigitalServiceBookDataSet">
|
||||
<ConnectionProperties>
|
||||
<DataProvider>System.Data.DataSet</DataProvider>
|
||||
<ConnectString>/* Local Connection */</ConnectString>
|
||||
</ConnectionProperties>
|
||||
<rd:DataSourceID>d39c60b2-8a79-4bb8-aed2-7927b2b3603a</rd:DataSourceID>
|
||||
</DataSource>
|
||||
</DataSources>
|
||||
<DataSets>
|
||||
<DataSet Name="EMPDigitalServiceBook">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="EMPLOYEEID">
|
||||
<DataField>EMPLOYEEID</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="EMPLOYEENO">
|
||||
<DataField>EMPLOYEENO</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="NAME">
|
||||
<DataField>NAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="FATHERNAME">
|
||||
<DataField>FATHERNAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="MOTHERNAME">
|
||||
<DataField>MOTHERNAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="SPOUSENAME">
|
||||
<DataField>SPOUSENAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="JOININGDATE">
|
||||
<DataField>JOININGDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="DESIGNATION">
|
||||
<DataField>DESIGNATION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PARMANENTADDRESS">
|
||||
<DataField>PARMANENTADDRESS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PRESENTADDRESS">
|
||||
<DataField>PRESENTADDRESS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BIRTHDATE">
|
||||
<DataField>BIRTHDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PHOTO">
|
||||
<DataField>PHOTO</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="NIDNO">
|
||||
<DataField>NIDNO</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="HEIGHT">
|
||||
<DataField>HEIGHT</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BLOODGROUP">
|
||||
<DataField>BLOODGROUP</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="LMDESIGNATION">
|
||||
<DataField>LMDESIGNATION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="EDUCATIONLEVEL">
|
||||
<DataField>EDUCATIONLEVEL</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PARMANENTDISTRICT">
|
||||
<DataField>PARMANENTDISTRICT</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="PARMANENTTHANA">
|
||||
<DataField>PARMANENTTHANA</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>EMPDigitalServiceBook</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="SystemInformation">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="NAME">
|
||||
<DataField>NAME</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="CORPORATEADDRESS">
|
||||
<DataField>CORPORATEADDRESS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>SystemInformation</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="EMPLifecycle">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="EFFECTDATE">
|
||||
<DataField>EFFECTDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="DESIGNATION">
|
||||
<DataField>DESIGNATION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BASICSALARY">
|
||||
<DataField>BASICSALARY</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="HOUSERENT">
|
||||
<DataField>HOUSERENT</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="MEDICAL">
|
||||
<DataField>MEDICAL</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="BONUS">
|
||||
<DataField>BONUS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\SVN\cel.hrm\branches\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>EMPLifecycle</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="LeaveEntry">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="FROMDATE">
|
||||
<DataField>FROMDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="TODATE">
|
||||
<DataField>TODATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="TOTALDAYS">
|
||||
<DataField>TOTALDAYS</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>LeaveEntry</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
<DataSet Name="Complain">
|
||||
<Query>
|
||||
<DataSourceName>DigitalServiceBookDataSet</DataSourceName>
|
||||
<CommandText>/* Local Query */</CommandText>
|
||||
</Query>
|
||||
<Fields>
|
||||
<Field Name="EFFECTDATE">
|
||||
<DataField>EFFECTDATE</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
<Field Name="DESCRIPTION">
|
||||
<DataField>DESCRIPTION</DataField>
|
||||
<rd:TypeName>System.String</rd:TypeName>
|
||||
</Field>
|
||||
</Fields>
|
||||
<rd:DataSetInfo>
|
||||
<rd:DataSetName>DigitalServiceBookDataSet</rd:DataSetName>
|
||||
<rd:SchemaPath>D:\LOCAL\SanofiNew\HRM.Report\PayrollDataSet\DigitalServiceBookDataSet.xsd</rd:SchemaPath>
|
||||
<rd:TableName>Complain</rd:TableName>
|
||||
<rd:TableAdapterFillMethod />
|
||||
<rd:TableAdapterGetDataMethod />
|
||||
<rd:TableAdapterName />
|
||||
</rd:DataSetInfo>
|
||||
</DataSet>
|
||||
</DataSets>
|
||||
<rd:ReportUnitType>Inch</rd:ReportUnitType>
|
||||
<rd:ReportID>d4372a4e-ecfa-4ddb-8c60-7a03e554d1d6</rd:ReportID>
|
||||
</Report>
|
|
@ -3911,25 +3911,21 @@
|
|||
</ReportParameter>
|
||||
<ReportParameter Name="CompanyInfo">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>Report_Parameter_1</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="Logo">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>Report_Parameter_2</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="Address">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>Report_Parameter_3</Prompt>
|
||||
</ReportParameter>
|
||||
<ReportParameter Name="Phone">
|
||||
<DataType>String</DataType>
|
||||
<Nullable>true</Nullable>
|
||||
<AllowBlank>true</AllowBlank>
|
||||
<Prompt>Report_Parameter_4</Prompt>
|
||||
</ReportParameter>
|
||||
|
|
|
@ -162,7 +162,7 @@
|
|||
<Paragraph>
|
||||
<TextRuns>
|
||||
<TextRun>
|
||||
<Value>="Design No: " &Fields!DesignNo.Value</Value>
|
||||
<Value>="Department: " &Fields!Department.Value</Value>
|
||||
<Style />
|
||||
</TextRun>
|
||||
</TextRuns>
|
||||
|
@ -1656,7 +1656,7 @@
|
|||
<TablixMember>
|
||||
<Group Name="table1_Group1">
|
||||
<GroupExpressions>
|
||||
<GroupExpression>=Fields!DesignNo.Value</GroupExpression>
|
||||
<GroupExpression>=Fields!DepartmentID.Value</GroupExpression>
|
||||
</GroupExpressions>
|
||||
</Group>
|
||||
<TablixMembers>
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -838,7 +838,7 @@ namespace HRM.Report
|
|||
reportParameters.Add(rParam);
|
||||
|
||||
// rParam = new ReportParameter("CompanyInfo", oPT.Description.ToString());
|
||||
rParam = new ReportParameter("CompanyInfo", payrollType != null ? (payrollType.CompanyName != null && payrollType.CompanyName.Trim() != "" ? payrollType.CompanyName : systemInformation?.name) : string.Empty);
|
||||
rParam = new ReportParameter("CompanyInfo", payrollType != null ? payrollType.CompanyName : string.Empty);
|
||||
reportParameters.Add(rParam);
|
||||
|
||||
rParam = new ReportParameter("SearchCriteria", "");
|
||||
|
@ -3939,7 +3939,7 @@ namespace HRM.Report
|
|||
{
|
||||
byte[] bytes = null;
|
||||
|
||||
string RDLC = "HRM.Report.RDLC.DigitalServiceBook.rdlc";//AllDigitalServiceBook.rdlc";
|
||||
string RDLC = "HRM.Report.RDLC.AllDigitalServiceBook.rdlc";
|
||||
//string filePath = Path.Combine(folderPath, "../HRM.Report/RDLC/DigitalServiceBook.rdlc");
|
||||
//string RDLC = filePath;
|
||||
//_PATH = Application.StartupPath + @"\Logo.jpg";
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 161 KiB |
Binary file not shown.
Before Width: | Height: | Size: 11 KiB |
|
@ -48,8 +48,6 @@ export class DailyAttnProcess extends BaseObject {
|
|||
this.actualOutTime = new Date();
|
||||
this.actualShiftID = null;
|
||||
this.shift= null;
|
||||
this.onlyManualInTime = false;
|
||||
this.onlyManualOutTime = false;
|
||||
}
|
||||
attnDate: Date;
|
||||
inTime: Date;
|
||||
|
@ -92,9 +90,6 @@ export class DailyAttnProcess extends BaseObject {
|
|||
shift: Shift;
|
||||
remarksType: number;
|
||||
|
||||
onlyManualInTime: boolean;
|
||||
onlyManualOutTime: boolean;
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -138,7 +138,7 @@ export class Employee {
|
|||
this.taxCircle = EnumTaxCircle.CityCorporation;
|
||||
this.isConfirmed = false;
|
||||
this.endOfContractDate = null;
|
||||
this.status = EnumEmployeeStatus.Waitingforjoin;
|
||||
this.status = EnumEmployeeStatus.Live;
|
||||
this.statusName = '';
|
||||
this.isShownInTaxSheet = false;
|
||||
this.pfMemberType = EnumPFMembershipType.NotYetLive;
|
||||
|
@ -219,9 +219,6 @@ export class Employee {
|
|||
case EnumEmployeeStatus.Discontinued:
|
||||
str = "Discontinued";
|
||||
break;
|
||||
case EnumEmployeeStatus.Waitingforjoin:
|
||||
str = "Waiting For Join";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
|
|
|
@ -36,9 +36,7 @@ export class EmpContact extends BaseObject {
|
|||
presentAddressInBangla: string;
|
||||
permanentPostCodeNo: string;
|
||||
presentPostCodeNo: string;
|
||||
presentPO: string;
|
||||
presentPOInBangla: string;
|
||||
permanentPO: string;
|
||||
parmanentPOInBangla: string;
|
||||
constructor() {
|
||||
super();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import {NominationPurpose} from '../HRBasic/nomination-purpose';
|
||||
import {Relation} from '../HRBasic/relation';
|
||||
import {Occupation} from '../HRBasic/occupation';
|
||||
import {EnumProfileStatus, EnumGender} from '../enums';
|
||||
import {EnumProfileStatus} from '../enums';
|
||||
import {BaseObject} from '../Basic/baseObject';
|
||||
import {empFileuploads} from './hrEmployee';
|
||||
|
||||
|
@ -19,19 +19,10 @@ export class EmpNominee extends BaseObject {
|
|||
occupation: Occupation;
|
||||
address: string;
|
||||
telePhone: string;
|
||||
nomineeMobileNo: string;
|
||||
photograph: empFileuploads;
|
||||
signature: empFileuploads;
|
||||
emailAddress: string;
|
||||
profileStatus: EnumProfileStatus;
|
||||
fatherName: string;
|
||||
motherName: string;
|
||||
spouseName: string;
|
||||
nationalID: string;
|
||||
gender: EnumGender;
|
||||
districtID?: number | null;
|
||||
thanaID?: number | null;
|
||||
postOffice: string;
|
||||
hasPicture: boolean;
|
||||
hasSignature: boolean;
|
||||
constructor() {
|
||||
|
@ -49,7 +40,6 @@ export class EmpNominee extends BaseObject {
|
|||
this.photograph = new empFileuploads();
|
||||
this.signature = new empFileuploads();
|
||||
this.emailAddress = '';
|
||||
this.nomineeMobileNo = '';
|
||||
this.hasSignature = false;
|
||||
this.hasPicture = false;
|
||||
}
|
||||
|
|
|
@ -998,7 +998,6 @@ export enum EnumTrainingCompletedFrom {
|
|||
}
|
||||
|
||||
export enum EnumBloodGroup {
|
||||
NA,
|
||||
None,
|
||||
APos,
|
||||
ANeg,
|
||||
|
@ -1007,7 +1006,7 @@ export enum EnumBloodGroup {
|
|||
OPos,
|
||||
ONeg,
|
||||
ABPos,
|
||||
ABNeg
|
||||
ABNeg,
|
||||
}
|
||||
|
||||
export enum EnumOGPositionType {
|
||||
|
@ -3150,15 +3149,14 @@ export enum EnumSuccessorReadiness {
|
|||
}
|
||||
|
||||
export let BloodGroupList = [
|
||||
{ name: "N/A", value: 1 },
|
||||
{ name: "A+", value: 2 },
|
||||
{ name: "A-", value: 3 },
|
||||
{ name: "B+", value: 4 },
|
||||
{ name: "B-", value: 5 },
|
||||
{ name: "O+", value: 6 },
|
||||
{ name: "O-", value: 7 },
|
||||
{ name: "AB+", value: 8 },
|
||||
{ name: "AB-", value: 9 },
|
||||
{ name: "A+", value: 1 },
|
||||
{ name: "A-", value: 2 },
|
||||
{ name: "B+", value: 3 },
|
||||
{ name: "B-", value: 4 },
|
||||
{ name: "O+", value: 5 },
|
||||
{ name: "O-", value: 6 },
|
||||
{ name: "AB+", value: 7 },
|
||||
{ name: "AB-", value: 8 },
|
||||
];
|
||||
|
||||
export class EnumExtension {
|
||||
|
|
|
@ -209,10 +209,6 @@ export class AttendanceServices {
|
|||
// return this.apiService.httpGet<EmployeeWorkPlanSetup[]>('/Attendance' + '/getNotYetAssiged');
|
||||
return this.apiService.httpGet<Employee[]>('/Attendance' + '/getNotYetAssiged');
|
||||
}
|
||||
getLastAttnProcessDate() {
|
||||
// return this.apiService.httpGet<EmployeeWorkPlanSetup[]>('/Attendance' + '/getNotYetAssiged');
|
||||
return this.apiService.httpGet<Date>('/Attendance' + '/getLastAttnProcessDate');
|
||||
}
|
||||
getEmployeeWorkPlanSetupByWPGroupID(groupId: number) {
|
||||
return this.apiService.httpGet<EmployeeWorkPlanSetup[]>('/Attendance' + '/getEmployeeWorkPlanSetupByWPGroupID' + '/' + groupId);
|
||||
}
|
||||
|
@ -276,9 +272,6 @@ export class AttendanceServices {
|
|||
getDailyAttnProcessByEmp(empList: any) {
|
||||
return this.apiService.httpPost<DailyAttnProcess[]>('/Attendance' + '/getDailyAttnProcessByEmp', empList);
|
||||
}
|
||||
getDailyAttnProcessByEmpForManualEntry(empList: any) {
|
||||
return this.apiService.httpPost<DailyAttnProcess[]>('/Attendance' + '/getDailyAttnProcessByEmpForManualEntry', empList);
|
||||
}
|
||||
|
||||
// DailyAttnProcess
|
||||
getDailyAttnProcessByEmployeeId(employeeId: number) {
|
||||
|
|
|
@ -99,13 +99,6 @@ export class EmployeeServices {
|
|||
return this.apiService.httpGet<SearchEmployee[]>('/Employee/getEmpCodeName' + '/' + ncode + '/' + nname);
|
||||
}
|
||||
|
||||
getEmpCodeNameForEmployeePickerInput(code?: string, name?: string) {
|
||||
let nname = this.apiService.getApiDefaultData(name);
|
||||
let ncode = this.apiService.getApiDefaultData(code);
|
||||
|
||||
return this.apiService.httpGet<SearchEmployee[]>('/Employee/getEmpCodeNameForEmployeePickerInput' + '/' + ncode + '/' + nname);
|
||||
}
|
||||
|
||||
getEmployees() {
|
||||
return this.apiService.httpGet(this.apiService.base_url + 'getemployees');
|
||||
}
|
||||
|
@ -367,12 +360,6 @@ export class EmployeeServices {
|
|||
|
||||
return this.apiService.httpGet<any>('/Employee/GetuploadEmpFile' + '/' + empid + '/' + referenceid + '/' + filetype);
|
||||
}
|
||||
GetEmpImageSignFile(empid: number, referenceid: number, filetype: number):
|
||||
Observable<HttpEvent<any>> {
|
||||
|
||||
return this.apiService.httpGet<any>('/Employee/GetEmpImageSignFile' + '/' + empid + '/' + referenceid + '/' + filetype);
|
||||
}
|
||||
|
||||
GetCompanyImage(): Observable<HttpEvent<any>>{
|
||||
return this.apiService.httpGet<any>('/Employee/GetCompanyImage');
|
||||
}
|
||||
|
|
|
@ -11,7 +11,6 @@ import { EnumLetterOrganizationType } from '../../_models/enums';
|
|||
import { LetterRequest } from '../../_models/Letter-Request/Letter-Request';
|
||||
import { AuthorizedPerson } from '../../adhoc-feature/authorized-persons/authorizedPerson';
|
||||
import { WFMovementTran } from '../../_models/Work-Flow/wFMovementTran';
|
||||
import { SearchEmployee } from 'src/app/_models/Employee/searchEmployee';
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
|
@ -234,10 +233,6 @@ export class LetterRequestService {
|
|||
getImage(id: number) {
|
||||
return this.apiService.httpGet<any>('/LetterRequest/getImage' + '/' + id);
|
||||
}
|
||||
generatedExceptiinLetter(type: number, param: SearchEmployee[]) {
|
||||
return this.apiService.httpPost('/LetterRequest/generatedExceptiinLetter/' + type , param);
|
||||
// return this.apiService.httpDownloadFile('/LetterRequest/generatedExceptiinLetter/' + type , param);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -238,7 +238,5 @@ export class SalaryService {
|
|||
DownloadPayslipForMultiple(param: any): Observable<HttpEvent<any>> {
|
||||
return this.apiService.httpPost<any>('/salary/DownloadPayslipForMultiple', param);
|
||||
}
|
||||
IsSalaryProcessed(salaryMonth: Date) {
|
||||
return this.apiService.httpGet<boolean>('/salary' + '/IsSalaryprocessedMonthly' + '/' + salaryMonth.toDateString());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -130,10 +130,4 @@ export class ReportServices {
|
|||
getAttendanceReport(param: any, reportType: string) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,7 +19,6 @@ import {LetterRequestByAdminApprovalComponent} from './letter-request-by-admin-a
|
|||
import {ApproveFinancialDataComponent} from './approve-financial-data/approve-financial-data.component';
|
||||
import {AuthorizedPersonsComponent} from './authorized-persons/authorized-persons.component';
|
||||
import { LetterGenerateComponent } from './letter-generate/letter-generate.component';
|
||||
import { ExceptionLetterGenerateComponent } from './exception-letter-generate/exception-letter-generate.component';
|
||||
|
||||
|
||||
const routes: Routes = [
|
||||
|
@ -32,7 +31,6 @@ const routes: Routes = [
|
|||
{path: 'letter-generate', component: LetterGenerateComponent, canActivate: [AuthGuard]},
|
||||
{path: 'workflow-delegation-by-employee', component: WorkflowDelegationByEmployeeComponent, canActivate: [AuthGuard]},
|
||||
{path: 'delegation-from-admin-panel', component: DelegationFromAdminPanelComponent, canActivate: [AuthGuard]},
|
||||
{path: 'exception-letter-generate', component: ExceptionLetterGenerateComponent, canActivate: [AuthGuard]},
|
||||
//{path: 'letter-request-by-employee-and-approval', component: LetterRequestByEmployeeAndApprovalComponent, canActivate: [AuthGuard]},
|
||||
//{path: 'letter-request-approval', component: LetterRequestApprovalComponent, canActivate: [AuthGuard]},
|
||||
//{path: 'letter-print-by-admin-panel', component: LetterPrintByAdminPanelComponent, canActivate: [AuthGuard]},
|
||||
|
|
|
@ -49,14 +49,13 @@ import { ApproveFinancialDataComponent } from './approve-financial-data/approve-
|
|||
import { AuthorizedPersonsComponent } from './authorized-persons/authorized-persons.component';
|
||||
import { AuthorizedPersonComponent } from './authorized-persons/authorized-person/authorized-person.component';
|
||||
import { LetterGenerateComponent } from './letter-generate/letter-generate.component';
|
||||
import { ExceptionLetterGenerateComponent } from './exception-letter-generate/exception-letter-generate.component';
|
||||
|
||||
@NgModule({
|
||||
|
||||
declarations: [workflowRuleComponent, WorkFlowSetupComponent, WorkFlowSetupNewComponent, WorkFlowAdministrativeStatusComponent,
|
||||
WorkFlowAdminComponent, WorkflowDelegationByEmployeeComponent, DelegationFromAdminPanelComponent,
|
||||
LetterRequestApprovalComponent, LetterPrintByAdminPanelComponent,
|
||||
LetterRequestByAdminApprovalComponent, ApproveFinancialDataComponent, AuthorizedPersonsComponent, AuthorizedPersonComponent, LetterGenerateComponent, ExceptionLetterGenerateComponent
|
||||
LetterRequestByAdminApprovalComponent, ApproveFinancialDataComponent, AuthorizedPersonsComponent, AuthorizedPersonComponent, LetterGenerateComponent
|
||||
],
|
||||
|
||||
imports: [
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
<app-loading-panel> </app-loading-panel>
|
||||
<div class="card" style="padding:10px;">
|
||||
<div class="p-grid">
|
||||
<div class="p-col-12">
|
||||
<div class="p-grid">
|
||||
<div class="p-col-4 p-md-2">
|
||||
<label>Employee(s)</label>
|
||||
</div>
|
||||
<div class="p-col-8 p-md-4">
|
||||
<!-- <app-employee-picker (ItemSelected)="GetSelectedEmployee($event)" [setSelectedEmp]="selectedEmps"
|
||||
[MultiSelect]="true"></app-employee-picker> -->
|
||||
<app-employee-picker (ItemSelected)="GetSelectedEmployee($event)"
|
||||
[MultiSelect]="true"></app-employee-picker>
|
||||
</div>
|
||||
<div class="p-col-4 p-md-2">
|
||||
<label>Letter</label>
|
||||
</div>
|
||||
<div class="p-col-8 p-md-4">
|
||||
<kendo-dropdownlist [(ngModel)]="selectedreportType" [data]="reportTypes" [textField]="'text'"
|
||||
[valueField]="'value'" [defaultItem]="{ text: 'Select Letter..', value: null }"
|
||||
(valueChange)="onSelectReport($event)">
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
<div class="p-col-12">
|
||||
<kendo-grid #grid [data]="selectedEmps" [kendoGridSelectBy]="'employeeID'" [selectedKeys]="mySelection" [pageable]="false" [sortable]="true" [reorderable]="true"
|
||||
[resizable]="true">
|
||||
<!-- <ng-template kendoGridToolbarTemplate>
|
||||
<button type="button" kendoButton icon="delete" class="kt-delete" (click)="onClickRemoveAll()">
|
||||
Remove All
|
||||
</button>
|
||||
<kendo-grid-spacer></kendo-grid-spacer>
|
||||
<label>Attendance Count: {{employeeList.length}} </label>
|
||||
</ng-template> -->
|
||||
<kendo-grid-checkbox-column [resizable]="false" [width]="45" showSelectAll="true">
|
||||
</kendo-grid-checkbox-column>
|
||||
<kendo-grid-column field="employeeNo" title="Employee No" [width]="150">
|
||||
</kendo-grid-column>
|
||||
<kendo-grid-column field="name" title="Employee Name" [width]="220">
|
||||
</kendo-grid-column>
|
||||
<kendo-grid-column field="departmentName" title="Department" [width]="220">
|
||||
</kendo-grid-column>
|
||||
<kendo-grid-column field="gradeName" title="Grade" [width]="220">
|
||||
</kendo-grid-column>
|
||||
<!-- <kendo-grid-column title="Actions" width="25%" align="middle">
|
||||
<ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
|
||||
<button kendoButton class="kt-delete" icon="delete" style="width: fit-content;"
|
||||
(click)="onClickRemove(dataItem)">Remove</button>
|
||||
</ng-template>
|
||||
</kendo-grid-column> -->
|
||||
</kendo-grid>
|
||||
<div class="p-col-12" align="right">
|
||||
<button kendoButton icon="upload" type="button" (click)="generateLetter()" [primary] = true>Generate</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,162 +0,0 @@
|
|||
import { error } from 'console';
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { DynamicPicker, EnumDynamicpickerType } from '../../picker/dynamic-picker/Dynamic-Picker';
|
||||
import { SearchEmployee } from 'src/app/_models/Employee/searchEmployee';
|
||||
import { Router } from '@angular/router';
|
||||
import { ApiService } from 'src/app/app.api.service';
|
||||
import { HRMNotificationService } from 'src/app/app.notification.service';
|
||||
import { loadingPanelService } from 'src/app/hrm-loding panel/loding.panel.service';
|
||||
import { BasicService } from 'src/app/_services/Basic/basic.service';
|
||||
import { Department } from 'src/app/_models/Basic/department';
|
||||
import { Grade } from 'src/app/_models/Basic/grade';
|
||||
import { EnumStatus } from '../../_models/enums';
|
||||
import { Employee } from 'src/app/_models/Employee/employee';
|
||||
import { LetterRequestService } from 'src/app/_services/letter-request/letter-request.service';
|
||||
import { saveAs } from 'file-saver';
|
||||
|
||||
@Component({
|
||||
selector: 'app-exception-letter-generate',
|
||||
templateUrl: './exception-letter-generate.component.html',
|
||||
styleUrls: ['./exception-letter-generate.component.scss']
|
||||
})
|
||||
export class ExceptionLetterGenerateComponent implements OnInit {
|
||||
|
||||
public selectedEmps: SearchEmployee[] = [];
|
||||
public mySelection: number[] = [];
|
||||
|
||||
public selectedreportType: EnumExceptionLetterTemplateType;
|
||||
public reportTypes = Object.keys(EnumExceptionLetterTemplateType)
|
||||
.filter(key => !isNaN(Number(EnumExceptionLetterTemplateType[key])))
|
||||
.map(key => ({
|
||||
text: key.replace(/_/g, ' '),
|
||||
value: EnumExceptionLetterTemplateType[key]
|
||||
}));
|
||||
public allDepartments: Department[];
|
||||
public allGrades: Grade[];
|
||||
|
||||
constructor(
|
||||
public router: Router, public loadingPanel: loadingPanelService,
|
||||
public notificationService: HRMNotificationService,
|
||||
public apiService: ApiService,
|
||||
public basicService: BasicService, public letterRequestService: LetterRequestService) {
|
||||
this.apiService.selectedMenuName = 'Employee Letter Generation';
|
||||
}
|
||||
|
||||
ngOnInit(): void {
|
||||
// this.basicService.getAllDepartment(EnumStatus.Active).subscribe(
|
||||
// (resp) => {
|
||||
// this.allDepartments = resp;
|
||||
// },
|
||||
// (err: any) => {
|
||||
// this.notificationService.showError(err.error);
|
||||
// }
|
||||
// );
|
||||
// this.basicService.getAllGrade(EnumStatus.Active).subscribe(
|
||||
// (resp) => {
|
||||
// this.allGrades = resp;
|
||||
// },
|
||||
// (err: any) => {
|
||||
// this.notificationService.showError(err.error);
|
||||
// }
|
||||
// );
|
||||
}
|
||||
public GetSelectedEmployee(childData) {
|
||||
this.selectedEmps = childData;
|
||||
// this.selectedEmps.forEach(element => {
|
||||
// element.departmentName = this.allDepartments.find(d => d.id == element.departmentID).name;
|
||||
// element.gradeName = this.allDepartments.find(g => g.id == element.gradeID).name;
|
||||
// });
|
||||
}
|
||||
|
||||
public onSelectReport(value: any) {
|
||||
debugger;
|
||||
}
|
||||
generateLetter() {
|
||||
let employeeDataToGenerate: SearchEmployee[] = [];
|
||||
this.selectedEmps.forEach(element => {
|
||||
this.mySelection.forEach(item => {
|
||||
if (element.employeeID == item) employeeDataToGenerate.push(element);
|
||||
});
|
||||
});
|
||||
this.selectedreportType;
|
||||
if (this.selectedreportType == undefined || this.selectedreportType['value'] == null) {
|
||||
this.notificationService.showWarning("Please select a Letter to Generate");
|
||||
return;
|
||||
}
|
||||
if (employeeDataToGenerate.length <= 0) {
|
||||
this.notificationService.showWarning("Please select Employee to Generate Letter");
|
||||
return;
|
||||
}
|
||||
this.loadingPanel.ShowLoadingPanel = true;
|
||||
this.letterRequestService.generatedExceptiinLetter(this.selectedreportType['value'], employeeDataToGenerate).subscribe(
|
||||
(resp: any[]) => {
|
||||
debugger
|
||||
if (resp.length > 0) {
|
||||
resp.forEach(fileData => {
|
||||
// this.downloadBlob(new Blob([fileData.fileContents], { type: 'application/msword' }), 'application/msword', fileData.fileDownloadName);
|
||||
this.downloadFileWord(fileData.fileContents, fileData.fileDownloadName);
|
||||
});
|
||||
}
|
||||
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
},
|
||||
(err: any) => {
|
||||
this.notificationService.showError(err.error);
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
downloadFileWord(blobContent, fileName) {
|
||||
// const blob = new Blob([this.b64toBlob(blobContent, 'application/data:application/vnd.openxmlformats-officedocument.wordprocessingml.document', 1024)], {});
|
||||
// saveAs(blob, fileName + '.docx');
|
||||
const blob = new Blob([this.b64toBlob(blobContent, 'application/msword', 1024)], {});
|
||||
saveAs(blob, fileName);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
export enum EnumExceptionLetterTemplateType {
|
||||
Letter_Template_Staff = 1,
|
||||
Letter_Template_Worker = 2
|
||||
}
|
|
@ -55,7 +55,6 @@
|
|||
|
||||
<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-ml" type='application/pdf' [zoom]="zoomLevel"></iframe>
|
||||
</div>
|
||||
|
|
|
@ -60,7 +60,6 @@ export class LetterGenerateComponent implements OnInit {
|
|||
};
|
||||
}
|
||||
this.showPopUp = true;
|
||||
this.loadingPanelService.ShowLoadingPanel = true;
|
||||
this.reportService.getAppointmentLetter(data).subscribe(
|
||||
(resp: any) => {
|
||||
if (this.reportType === 'PDF'){
|
||||
|
|
|
@ -13,8 +13,7 @@ export class ApiService {
|
|||
|
||||
public isSSO = false;
|
||||
public versionDeployement = false;
|
||||
// public versionNumber = `V-${GlobalfunctionExtension.generateVersionNumber(new Date(2025, 1, 25))}-`+"01";
|
||||
public versionNumber = `V-20250427-`+"01";
|
||||
public versionNumber = `V-${GlobalfunctionExtension.generateVersionNumber(new Date(2024, 10, 3))}-`+"01";
|
||||
public static BASE_URL = '';
|
||||
public base_url = '';
|
||||
// public currentLink = '';
|
||||
|
|
|
@ -329,7 +329,7 @@
|
|||
<div class="p-col-12" align="right">
|
||||
<button kendoButton icon="arrow-left" style="margin-right: 20px;" class="k-button k-primary" *ngIf="isVisibleCordinatorPicker" (click)="goBack()">
|
||||
Back </button>
|
||||
<button icon="save" kendoButton class="k-button k-primary" (click)="update()">
|
||||
<button icon="rotate" kendoButton class="k-button k-primary" (click)="update()">
|
||||
Update
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -274,8 +274,7 @@ export class AttendanceManualEditForMultipleEmployeeComponent implements OnInit
|
|||
|
||||
if (attnRequest.length == 0) return;
|
||||
|
||||
// this.attendanceServices.getDailyAttnProcessByEmp(attnRequest).subscribe(
|
||||
this.attendanceServices.getDailyAttnProcessByEmpForManualEntry(attnRequest).subscribe(
|
||||
this.attendanceServices.getDailyAttnProcessByEmp(attnRequest).subscribe(
|
||||
(resp) => {
|
||||
|
||||
if (this.dailyAttenProcessList == undefined || this.dailyAttenProcessList.length == 0) {
|
||||
|
@ -372,17 +371,8 @@ export class AttendanceManualEditForMultipleEmployeeComponent implements OnInit
|
|||
}
|
||||
|
||||
|
||||
if ((x.inTime == null && x.outTime == null) && x.attenType == EnumAttendanceType.Present) {
|
||||
msg = msg + "Employee: " + x.employee.employeeNo + ", Status present is not allowed while In Time and Out Time is not entered.; ";
|
||||
|
||||
}
|
||||
else {
|
||||
if (x.inTime != null && x.outTime == null) {
|
||||
x.onlyManualInTime = true;
|
||||
}
|
||||
if (x.inTime == null && x.outTime != null) {
|
||||
x.onlyManualOutTime = true;
|
||||
}
|
||||
if ((x.inTime == null || x.outTime == null) && x.attenType == EnumAttendanceType.Present) {
|
||||
msg = msg + "Employee: " + x.employee.employeeNo + ", Status present is not allowed while inTime and outTime is not entered.; ";
|
||||
}
|
||||
var bvalid = false;
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<form>
|
||||
<div class="card card-w-title">
|
||||
<div class="p-grid form-group">
|
||||
<div class="p-col-12 p-md-4">
|
||||
<div class="p-col-12 p-md-5">
|
||||
<div class="p-col-12">
|
||||
<label for="processFromDate">Process From</label>
|
||||
</div>
|
||||
|
@ -17,7 +17,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-4">
|
||||
<div class="p-col-12 p-md-5">
|
||||
<div class="p-col-12">
|
||||
<label for="processToDate">Process To</label>
|
||||
</div>
|
||||
|
@ -33,23 +33,12 @@
|
|||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-2">
|
||||
<div class="p-col-12">
|
||||
<label for="chkIWithEmployee">Employee Wise</label>
|
||||
</div>
|
||||
<div class="p-col-12">
|
||||
<input type="checkbox" (change)="checkBoxChange()" [checked]="withEmployee"
|
||||
id="withEmployee" kendoCheckBox/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-2" *ngIf="withEmployee">
|
||||
<div class="p-col-12">
|
||||
<label for="employeePicker">Select Employee</label>
|
||||
</div>
|
||||
<div class="p-col-12">
|
||||
<app-employee-picker
|
||||
[MultiSelect]="true"
|
||||
[isActive]="withEmployee"
|
||||
(ItemSelected)="GetSelectedEmployee($event)"
|
||||
></app-employee-picker>
|
||||
</div>
|
||||
|
@ -58,22 +47,10 @@
|
|||
<div class="p-grid form-group">
|
||||
<div class="p-col-12 p-md-5">
|
||||
<div class="p-col-12">
|
||||
<!-- <label for="txtLE">(Number of Attendance Employees : {{ employees.length }})</label> -->
|
||||
<!-- <label for="txtWP">Number of Employees not in Work Plan : {{ employees.length }}</label> -->
|
||||
<button class="link-button"
|
||||
icon="window"
|
||||
kendoButton
|
||||
(click)="onClickNotInWorkPlanEmployee()"
|
||||
[disabled]="employees.length == 0"
|
||||
style="text-decoration: none; font-weight: bold;">
|
||||
Number of Employees not in Work Plan : {{ employees.length }}
|
||||
</button>
|
||||
</div>
|
||||
<div class="p-col-12" *ngIf="lastProcessDate != null">
|
||||
<label style="color: red;" for="txtWP">Last Process date : {{ lastProcessDate != null ? (lastProcessDate | date: 'dd MMM yyyy') : '' }}</label>
|
||||
<label for="txtWP">(Number of Employees not in Work Plan : {{ employees.length }})</label>
|
||||
</div>
|
||||
<div class="p-col-12">
|
||||
<button icon="cogs"
|
||||
<button icon="rotate"
|
||||
kendoButton
|
||||
class="k-button k-primary"
|
||||
(click)="onSave($event)">
|
||||
|
@ -87,26 +64,3 @@
|
|||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<p-dialog header="Not in Work Plan Employees" [(visible)]="showModal" modal="modal"
|
||||
showEffect="fade" [style]="{width: '60%', maxHeight:'475px', position: 'absolute'}">
|
||||
<p-scrollPanel mode="native">
|
||||
<div class="p-grid">
|
||||
<div class="p-col-12">
|
||||
<fieldset>
|
||||
<kendo-grid [data]="employees" [pageable]="false" [sortable]="true" [reorderable]="true" [resizable]="true">
|
||||
|
||||
<kendo-grid-column field="sortOrder" title="SL" width="15%">
|
||||
</kendo-grid-column>
|
||||
<kendo-grid-column field="employeeNo" title="Employee No" width="20%">
|
||||
</kendo-grid-column>
|
||||
<kendo-grid-column field="name" title="Employee Name" width="25%">
|
||||
</kendo-grid-column>
|
||||
<kendo-grid-column field="gradeName" title="Grade" width="30%">
|
||||
</kendo-grid-column>
|
||||
</kendo-grid>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
</p-scrollPanel>
|
||||
</p-dialog>
|
|
@ -23,10 +23,7 @@ export class AttendanceProcessComponent {
|
|||
selectedEmployees: SearchEmployee[] = [];
|
||||
notYetAssingedList: EmployeeWorkPlanSetup[];
|
||||
employees: any[] = [];
|
||||
lastProcessDate: Date;
|
||||
processStatus:string = "";
|
||||
withEmployee: boolean = false;
|
||||
showModal: boolean = false;
|
||||
constructor(public attnService: AttendanceServices, public datatransferservice: DataTransferService,
|
||||
public loadingPanel: loadingPanelService,
|
||||
public notificationService: HRMNotificationService,
|
||||
|
@ -44,18 +41,6 @@ export class AttendanceProcessComponent {
|
|||
this.attnService.getNotYetAssiged().subscribe(
|
||||
(x) => {
|
||||
this.employees = x;
|
||||
debugger
|
||||
},
|
||||
(x) => {
|
||||
},
|
||||
() => {
|
||||
});
|
||||
this.attnService.getLastAttnProcessDate().subscribe(
|
||||
(resp) => {
|
||||
if (resp != null) {
|
||||
this.lastProcessDate = new Date(resp);
|
||||
}
|
||||
|
||||
},
|
||||
(x) => {
|
||||
},
|
||||
|
@ -96,7 +81,6 @@ export class AttendanceProcessComponent {
|
|||
|
||||
|
||||
attnRequest.push({ "fromDate": this.fromDate, "toDate": this.toDate, "isWithEmployee": true, "employeeID": 0 });
|
||||
if (this.withEmployee) {
|
||||
if (this.selectedEmployees != undefined && this.selectedEmployees.length > 0) {
|
||||
attnRequest = [];
|
||||
this.selectedEmployees.forEach(x => {
|
||||
|
@ -104,12 +88,6 @@ export class AttendanceProcessComponent {
|
|||
|
||||
});
|
||||
}
|
||||
else {
|
||||
this.notificationService.showWarning('Please Select Employee!');
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
this.loadingPanel.ShowLoadingPanel = true;
|
||||
|
||||
this.attnService.dailyAttnProcessManual(attnRequest).subscribe(
|
||||
|
@ -128,18 +106,4 @@ export class AttendanceProcessComponent {
|
|||
this.processStatus = "Attendance Process is completed successfully.";
|
||||
});
|
||||
}
|
||||
|
||||
public checkBoxChange() {
|
||||
debugger
|
||||
if (this.withEmployee) {
|
||||
this.withEmployee = false;
|
||||
this.selectedEmployees = [];
|
||||
}
|
||||
else
|
||||
this.withEmployee = true;
|
||||
|
||||
}
|
||||
public onClickNotInWorkPlanEmployee() {
|
||||
this.showModal = true;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,8 +6,6 @@ import { InputsModule, TextBoxModule } from '@progress/kendo-angular-inputs';
|
|||
import { ChartsModule } from '@progress/kendo-angular-charts';
|
||||
import { CardModule as kendoCardModule } from '@progress/kendo-angular-layout';
|
||||
import { DialogsModule } from '@progress/kendo-angular-dialog';
|
||||
import { DialogModule } from 'primeng/dialog';
|
||||
import { ScrollPanelModule } from 'primeng/scrollpanel';
|
||||
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
||||
import { PanelModule } from 'primeng/panel';
|
||||
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
||||
|
@ -83,8 +81,6 @@ import { OrganizationManagementModule } from '../organization-management/organiz
|
|||
FormsModule,
|
||||
ReactiveFormsModule,
|
||||
DialogsModule,
|
||||
DialogModule,
|
||||
ScrollPanelModule,
|
||||
CommonModule,
|
||||
GridModule,
|
||||
InputsModule,
|
||||
|
|
|
@ -11,25 +11,13 @@
|
|||
<app-employee-picker [MultiSelect]="true"
|
||||
(ItemSelected)="GetSelectedEmployee($event)"></app-employee-picker>
|
||||
</div>
|
||||
<div class="rosterAssignmentControls">
|
||||
<strong>
|
||||
<label>Roster Type: </label>
|
||||
</strong>
|
||||
</div>
|
||||
<div class="rosterAssignmentControls">
|
||||
<kendo-dropdownlist [(ngModel)]="selectedWorkPlanTypeIsFixed" [data]="workPlanTypes"
|
||||
[defaultItem]="{ text: 'Select Roster Type..', value: null }" [textField]="'text'" [valueField]="'value'"
|
||||
(valueChange)="onChangeWorkPlanType($event)" [valuePrimitive]="true"
|
||||
class="form-control form-control-sm input-sm" formControlName="type">
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
<div class="rosterAssignmentControls">
|
||||
<strong>
|
||||
<label>Roster: </label>
|
||||
</strong>
|
||||
</div>
|
||||
<div class="rosterAssignmentControls">
|
||||
<kendo-dropdownlist [(ngModel)]="selectedWorkPlanID" [data]="workPlanGroupListByType"
|
||||
<kendo-dropdownlist [(ngModel)]="selectedWorkPlanID" [data]="workPlanGroupList"
|
||||
[defaultItem]="{ name: 'Select..', value: null }" [textField]="'name'" [valueField]="'id'"
|
||||
(valueChange)="populateEmpWorkPlanByWorkGroup($event)" [valuePrimitive]="true"
|
||||
class="form-control form-control-sm input-sm" formControlName="group">
|
||||
|
@ -66,7 +54,7 @@
|
|||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<kendo-grid [kendoGridBinding]="empWorkPlanSetupList" [height]="380" [filterable]="true">
|
||||
<kendo-grid [data]="empWorkPlanSetupList" [height]="380" [filterable]="true" [kendoGridBinding]="empWorkPlanSetupList">
|
||||
<ng-template kendoGridToolbarTemplate>
|
||||
<label>Count: {{ this.empWorkPlanSetupList.length }}</label>
|
||||
<kendo-grid-spacer></kendo-grid-spacer>
|
||||
|
|
|
@ -31,23 +31,16 @@ export class EchotexRosterAssignmentComponent implements OnInit {
|
|||
workPlanGroupName = '';
|
||||
workPlanGroupInitialShift = '';
|
||||
workPlanGroupList: WorkPlanGroup[];
|
||||
workPlanGroupListByType: WorkPlanGroup[] = [];
|
||||
selectedEmployees: SearchEmployee[];
|
||||
employees: Employee[];
|
||||
empIds: number[] = [];
|
||||
exportExcelFileName: string = '';
|
||||
|
||||
selectedWorkPlanTypeIsFixed: boolean;
|
||||
selectedWorkPlanID: number;
|
||||
fixedWorkPlan: boolean = true;
|
||||
startDate: Date;
|
||||
holidayDayOfWeekArray = Object.values(HolidayDayOfWeek);
|
||||
|
||||
workPlanTypes: { text: string, value: boolean| null }[] = [
|
||||
{ text: 'Fixed', value: true },
|
||||
{ text: 'Counter Clock', value: false }
|
||||
]
|
||||
|
||||
constructor(public employeeService: EmployeeServices,
|
||||
public attendanceServices: AttendanceServices,
|
||||
public apiService: ApiService,
|
||||
|
@ -92,7 +85,6 @@ export class EchotexRosterAssignmentComponent implements OnInit {
|
|||
|
||||
createForm() {
|
||||
this.rosterAssignmentForm = new FormBuilder().group({
|
||||
type: ['', Validators.required],
|
||||
group: ['', Validators.required],
|
||||
startDate: [''],
|
||||
});
|
||||
|
@ -141,7 +133,7 @@ export class EchotexRosterAssignmentComponent implements OnInit {
|
|||
ewpList.workPlanGroupID = this.selectedWorkPlanID;
|
||||
var wp = this.workPlanGroupList.find(w => w.id == this.selectedWorkPlanID);
|
||||
ewpList.workPlanGroupNameView = wp.name;
|
||||
// debugger;
|
||||
debugger;
|
||||
if (!this.fixedWorkPlan) {
|
||||
ewpList.startDate = this.startDate;
|
||||
// ewpList.weekEndOn = this.getDayOfWeekEnum(ewpList.startDate);
|
||||
|
@ -209,14 +201,14 @@ export class EchotexRosterAssignmentComponent implements OnInit {
|
|||
loadGroupTypeAndInitialShift(workPlanGroup: WorkPlanGroup) {
|
||||
this.loadingPanel.ShowLoadingPanel = true;
|
||||
this.empWorkPlanSetupList = [];
|
||||
// debugger;
|
||||
// if (workPlanGroup.type != EnumWorkPlanGroup.Fixed &&
|
||||
// (workPlanGroup.type != undefined || workPlanGroup.type != null)) {
|
||||
// this.fixedWorkPlan = false;
|
||||
// this.startDate = new Date();
|
||||
// } else {
|
||||
// this.fixedWorkPlan = true;
|
||||
// }
|
||||
debugger;
|
||||
if (workPlanGroup.type != EnumWorkPlanGroup.Fixed &&
|
||||
(workPlanGroup.type != undefined || workPlanGroup.type != null)) {
|
||||
this.fixedWorkPlan = false;
|
||||
this.startDate = new Date();
|
||||
} else {
|
||||
this.fixedWorkPlan = true;
|
||||
}
|
||||
this.attendanceServices.getEmployeeWorkPlanSetupByWPGroupID(workPlanGroup.id).subscribe(
|
||||
(resp) => {
|
||||
this.empWorkPlanSetupList = resp;
|
||||
|
@ -227,7 +219,7 @@ export class EchotexRosterAssignmentComponent implements OnInit {
|
|||
},
|
||||
() => {
|
||||
//console.log(this.empWorkPlanSetupList);
|
||||
// debugger;
|
||||
debugger;
|
||||
// if (this.empWorkPlanSetupList.length > 0) {
|
||||
// if (this.empWorkPlanSetupList[0].workPlanGroupType != EnumWorkPlanGroup.Fixed &&
|
||||
// (this.empWorkPlanSetupList[0].workPlanGroupType != undefined || this.empWorkPlanSetupList[0].workPlanGroupType != null)) {
|
||||
|
@ -340,7 +332,7 @@ export class EchotexRosterAssignmentComponent implements OnInit {
|
|||
}
|
||||
|
||||
public getHolidayDayOfWeek( day: number): string {
|
||||
// debugger;
|
||||
debugger;
|
||||
day = day + 1;
|
||||
switch (day) {
|
||||
case HolidayDayOfWeek.Sunday:
|
||||
|
@ -373,23 +365,4 @@ export class EchotexRosterAssignmentComponent implements OnInit {
|
|||
// return dayIndex as EnumDayOfWeek;
|
||||
// }
|
||||
|
||||
|
||||
onChangeWorkPlanType(type: any) {
|
||||
this.empWorkPlanSetupList = [];
|
||||
this.workPlanGroupListByType = [];
|
||||
this.selectedWorkPlanID = null;
|
||||
this.fixedWorkPlan = true;
|
||||
if (type == undefined || type == null) {
|
||||
return;
|
||||
}
|
||||
else if (type){
|
||||
this.workPlanGroupListByType = this.workPlanGroupList.filter(y => y.type == EnumWorkPlanGroup.Fixed);
|
||||
}
|
||||
else {
|
||||
this.workPlanGroupListByType = this.workPlanGroupList.filter(y => y.type != EnumWorkPlanGroup.Fixed);
|
||||
this.fixedWorkPlan = false;
|
||||
this.startDate = new Date();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ export class IdCardPrintComponent implements OnInit {
|
|||
selectedAuthorizePersonid = undefined;
|
||||
selectedReportTypeid = undefined;
|
||||
reportTypes: { id: number, name: string }[] = [];
|
||||
constructor(public notificationService : HRMNotificationService,
|
||||
constructor(public notificctionService : HRMNotificationService,
|
||||
public reportService: ReportServices,
|
||||
public basicService: BasicService,
|
||||
public employeeService: EmployeeServices,
|
||||
|
@ -59,8 +59,7 @@ export class IdCardPrintComponent implements OnInit {
|
|||
this.authorizedPersons = resp;
|
||||
},
|
||||
(x)=>{
|
||||
this.notificationService.showError(x.error);
|
||||
// console.log(x);
|
||||
console.log(x);
|
||||
},
|
||||
()=>{
|
||||
}
|
||||
|
@ -68,15 +67,15 @@ export class IdCardPrintComponent implements OnInit {
|
|||
}
|
||||
preview(reportType: string) {
|
||||
if(this.selectedAuthorizePersonid === undefined){
|
||||
this.notificationService.showWarning("Please select Authorized Person first!","Warning");
|
||||
this.notificctionService.showWarning("Please select Authorized Person first!","Warning");
|
||||
return;
|
||||
}
|
||||
if(this.selectedReportTypeid === undefined){
|
||||
this.notificationService.showWarning("Please select Report Type first!","Warning");
|
||||
this.notificctionService.showWarning("Please select Report Type first!","Warning");
|
||||
return;
|
||||
}
|
||||
if(this.isThreeYear!= true && this.isFiveYear!=true){
|
||||
this.notificationService.showWarning("Please select Expire Date first!","Warning");
|
||||
this.notificctionService.showWarning("Please select Expire Date first!","Warning");
|
||||
return;
|
||||
}
|
||||
let empIds = SearchEmployee.getEmpIds(this.selectedEmps);
|
||||
|
@ -103,8 +102,7 @@ export class IdCardPrintComponent implements OnInit {
|
|||
}
|
||||
},
|
||||
(err) => {
|
||||
// console.log(err);
|
||||
this.notificationService.showError(err.error);
|
||||
console.log(err);
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
this.closeForm();
|
||||
},
|
||||
|
|
|
@ -26,12 +26,11 @@
|
|||
<kendo-dropdownlist
|
||||
style="width:100%"
|
||||
[data]="users"
|
||||
[defaultItem]="{ userName: 'Select User', id: null }"
|
||||
[defaultItem]="{ userName: 'Select User', userID: null }"
|
||||
[textField]="'userName'"
|
||||
[valueField]="'id'"
|
||||
[valueField]="'userID'"
|
||||
[(ngModel)]="selectedUser"
|
||||
(valueChange)="onUserChange($event)"
|
||||
[disabled]="!(_selectedPayroll != null && _selectedRoleType != null) "
|
||||
>
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
@ -49,7 +48,6 @@
|
|||
[valueField]="'id'"
|
||||
[valuePrimitive]="true"
|
||||
(valueChange)="onPayrollChange($event)"
|
||||
[disabled]="!_selectedRoleType"
|
||||
>
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
@ -61,11 +59,10 @@
|
|||
<kendo-dropdownlist class="form-control form-control-sm input-sm"
|
||||
style="width:100%"
|
||||
[data]="permissionTypes"
|
||||
[defaultItem]="{ name: 'Select Permission Type', value: null }"
|
||||
[defaultItem]="{ name: 'Select Permission Type', id: null }"
|
||||
[textField]="'name'"
|
||||
[valueField]="'value'"
|
||||
[valueField]="'id'"
|
||||
(selectionChange)="EventPermissionType($event)"
|
||||
[disabled]="!_selectedPayroll"
|
||||
>
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
|
|
@ -52,7 +52,6 @@ export class DataPermssionComponent implements OnInit {
|
|||
public isLocation: boolean = false;
|
||||
|
||||
onUserTypeChange(_selectedRoleType: any): void {
|
||||
if (this._selectedRoleType.value != null) {
|
||||
this.utilityHandlerService.ShowLoadingPanel = true;
|
||||
this.userService.GetUsers(this._selectedRoleType.value).subscribe(
|
||||
(x) => {
|
||||
|
@ -67,11 +66,6 @@ export class DataPermssionComponent implements OnInit {
|
|||
this.utilityHandlerService.ShowLoadingPanel = false;
|
||||
});
|
||||
}
|
||||
else {
|
||||
this.users = [];
|
||||
this.selectedUser = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
EventPermissionType(selectedPermissionType: any): void {
|
||||
this.isDepartment = false;
|
||||
|
@ -86,14 +80,12 @@ export class DataPermssionComponent implements OnInit {
|
|||
}
|
||||
|
||||
onUserChange(selectedUserID: any): void {
|
||||
if(selectedUserID.id != null){
|
||||
this._selectedUser = selectedUserID;
|
||||
this._userID = this._selectedUser.id;
|
||||
|
||||
if (this._userID != undefined && this._selectedPayroll != undefined)
|
||||
this.loadGridView()
|
||||
}
|
||||
}
|
||||
|
||||
onPayrollChange(selectedPayrollID: any): void {
|
||||
this._selectedPayroll = selectedPayrollID;
|
||||
|
|
|
@ -184,10 +184,8 @@ export class UserRoleEntryComponent implements OnInit {
|
|||
userRole.payrollTypeID = this._selectedPayrollTypeid;
|
||||
userRole.employeeID = u.employeeID;
|
||||
}
|
||||
if (this._selectedRoleType == EnumRoleType.Admin){
|
||||
if (this._selectedRoleType == EnumRoleType.Admin)
|
||||
userRole.userID = u.id;
|
||||
userRole.userRoleStatus = EnumAuthStatus.Active;
|
||||
}
|
||||
|
||||
userRole.loginIDView = u.loginID;
|
||||
userRole.roleID = r;
|
||||
|
|
|
@ -10,10 +10,9 @@
|
|||
<div class="p-col-12 p-md-6 p-lg-4" >
|
||||
<kendo-dropdownlist [(ngModel)]="selectedEducationTypeID" [data]="educationTypes"
|
||||
[defaultItem]="{ description: 'Select a Level', id: null }" [textField]="'description'"
|
||||
[valueField]="'id'" [valuePrimitive]="true"
|
||||
[valueField]="'id'" [valuePrimitive]="true" (valueChange)="selectEducationTypeEvent($event)"
|
||||
class="form-control form-control-sm input-sm" formControlName="educationTypePicker"
|
||||
style="width:100%;">
|
||||
<!-- (valueChange)="selectEducationTypeEvent($event)" -->
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
||||
|
@ -24,10 +23,9 @@
|
|||
<kendo-dropdownlist [(ngModel)]="selectedEducationLevelID" [data]="educationLevels"
|
||||
[defaultItem]="{ description: 'Select Exam / Degree Title', id: null }" [textField]="'description'"
|
||||
[valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm"
|
||||
formControlName="educationLevelPicker"
|
||||
formControlName="educationLevelPicker" (valueChange)="selectEducationLevelEvent($event)"
|
||||
[disabled]="selectedEducationTypeID == undefined || selectedEducationTypeID == null"
|
||||
style="width:100%;">
|
||||
<!-- (valueChange)="selectEducationLevelEvent($event)"
|
||||
[disabled]="selectedEducationTypeID == undefined || selectedEducationTypeID == null" -->
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
||||
|
@ -38,10 +36,10 @@
|
|||
<kendo-dropdownlist [(ngModel)]="selectedInstitutionID" [data]="institutions"
|
||||
[defaultItem]="{ name: 'Select institution/Board', id: null }" [textField]="'name'"
|
||||
[valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm"
|
||||
[disabled]="(selectedEducationTypeID == undefined ||selectedEducationTypeID == null) || (selectedEducationLevelID == undefined || selectedEducationLevelID == null)"
|
||||
[filterable]="true" (filterChange)="handleFilterInstitution($event)"
|
||||
(valueChange)="selectInstitutionEvent($event)" formControlName="institutionPicker"
|
||||
style="width:100%;">
|
||||
<!-- [disabled]="(selectedEducationTypeID == undefined ||selectedEducationTypeID == null) || (selectedEducationLevelID == undefined || selectedEducationLevelID == null)" -->
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
||||
|
@ -52,10 +50,10 @@
|
|||
<kendo-dropdownlist class="form-control form-control-sm" id="subject" [data]="educationDiscipline"
|
||||
[defaultItem]="{ description: 'Select a discipline', id: null }" [textField]="'description'"
|
||||
[valueField]="'id'" [valuePrimitive]="true" [(ngModel)]="selectedDisciplineID"
|
||||
[disabled]="isEditActive"
|
||||
[disabled]="selectedEducationLevelID == undefined || selectedEducationLevelID == null"
|
||||
[filterable]="true" (filterChange)="handleFilter($event)" formControlName="disciplinePicker"
|
||||
style="width:100%">
|
||||
<!-- [disabled]="isEditActive"
|
||||
[disabled]="selectedEducationLevelID == undefined || selectedEducationLevelID == null" -->
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
||||
|
@ -96,23 +94,19 @@
|
|||
</div>
|
||||
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<!-- *ngIf="isGrade" -->
|
||||
<div class="p-col-12 p-md-6 p-lg-2" *ngIf="isGrade" style="margin: auto;">
|
||||
<label for="txtCgpaObtained">CGPA/Marks</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<!-- *ngIf="isGrade" -->
|
||||
<div class="p-col-12 p-md-6 p-lg-4" *ngIf="isGrade" >
|
||||
<input id="txtCgpaObtained" formControlName="gpaOrMarks" [(ngModel)]="academic.gpaOrMarks"
|
||||
type="number" style="width: 100%;" pInputText />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2">
|
||||
<!-- *ngIf="isGrade" -->
|
||||
<div class="p-col-12 p-md-6 p-lg-2" *ngIf="isGrade" >
|
||||
<label for="txtCgpaOutOf">Out of</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4"style="margin: auto;">
|
||||
<!-- *ngIf="isGrade" -->
|
||||
<div class="p-col-12 p-md-6 p-lg-4" *ngIf="isGrade" style="margin: auto;">
|
||||
<input id="txtCgpaOutOf" style="width: 100%;" formControlName="outOf" [(ngModel)]="academic.outOf"
|
||||
type="number" pInputText />
|
||||
</div>
|
||||
|
|
|
@ -17,7 +17,6 @@ import { BasicService } from '../../../../_services/Basic/basic.service';
|
|||
import { enumEmpFileUploadType, EnumStatus } from '../../../../_models/enums';
|
||||
import { loadingPanelService } from '../../../../hrm-loding panel/loding.panel.service';
|
||||
import { empFileuploads } from '../../../../_models/HREmployee/hrEmployee';
|
||||
import { forkJoin } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'app-academic-entry',
|
||||
|
@ -116,139 +115,84 @@ export class AcademicEntryComponent implements OnInit {
|
|||
// }
|
||||
// }
|
||||
loadData() {
|
||||
// this.basicService.getAllEducationLevel().subscribe(
|
||||
// (resp) => {
|
||||
// this.alleducationLevels = resp;
|
||||
// },
|
||||
// (err: any) => {
|
||||
// console.log(err);
|
||||
// },
|
||||
// () => {
|
||||
// // if (this.academic.id > 0) {
|
||||
// // this.educationLevels = this.alleducationLevels//.filter(x => x.educationTypeID == this.academic.educationTypeID);
|
||||
// // }
|
||||
// // else {
|
||||
// this.educationLevels = this.alleducationLevels//.filter(x => x.educationTypeID == this.academic.educationTypeID);
|
||||
// // }
|
||||
// this.basicService.getAllDiscipline().subscribe(
|
||||
// (resp) => {
|
||||
// this.alleducationDiscipline = resp;
|
||||
// },
|
||||
// (err: any) => {
|
||||
// console.log(err);
|
||||
// },
|
||||
// () => {
|
||||
// // if (this.academic.id > 0) {
|
||||
// // // this.educationDiscipline = this.alleducationDiscipline.filter(x => x.educationLevelID == this.academic.educationLevelID);
|
||||
// // // this.educationDiscipline = this.alleducationDiscipline.filter(x => x.id == this.academic.disciplineID);
|
||||
// // this.educationDiscipline = this.alleducationDiscipline;
|
||||
// // }
|
||||
// // else {
|
||||
// // this.educationDiscipline = this.alleducationDiscipline.filter(x => x.educationLevelID == this.academic.educationLevelID);
|
||||
// this.educationDiscipline = this.alleducationDiscipline;
|
||||
// // }
|
||||
|
||||
|
||||
// this.basicService.getAllInstitutions().subscribe(
|
||||
// (resp) => {
|
||||
// this.allinstitutions = resp;
|
||||
// },
|
||||
// (err: any) => {
|
||||
// console.log(err);
|
||||
// },
|
||||
// () => {
|
||||
// if (this.academic.id > 0) {
|
||||
// // this.institutions = this.allinstitutions.filter(x => x.boardRequired == this.academic.educationType.boardRequired);
|
||||
// if (this.academic.institution != undefined && this.academic.institution.boardRequired)
|
||||
// // this.institutions = this.allinstitutions.filter(x => x.id == this.academic.institutionID || x.boardRequired == true);
|
||||
// this.institutions = this.allinstitutions.filter(x => x.boardRequired == true);
|
||||
// else
|
||||
// // this.institutions = this.allinstitutions.filter(x => x.educationTypeID == this.academic.educationTypeID);
|
||||
// this.institutions = this.allinstitutions.filter(x => x.boardRequired == false);
|
||||
// }
|
||||
// //console.log(this.institutions);
|
||||
|
||||
// this.basicService.getAllResultTypesByStatus(EnumStatus.Regardless).subscribe(
|
||||
// (resp) => {
|
||||
// this.allresultTypes = resp;
|
||||
// },
|
||||
// (err: any) => {
|
||||
// console.log(err);
|
||||
// },
|
||||
// () => {
|
||||
// if (this.academic.id > 0)
|
||||
// //console.log(this.allresultTypes);
|
||||
// if (this.academic.id > 0) {
|
||||
// let selectedEducationType: EducationType[] = this.educationTypes//.filter(x => x.id == this.academic.educationTypeID)
|
||||
// // this.resultTypes = this.allresultTypes.filter(x => x.type == selectedEducationType[0].resultType);
|
||||
// // if (selectedEducationType[0].resultType === 2 || selectedEducationType[0].resultType === 4) {
|
||||
// // this.isGrade = true;
|
||||
// // }
|
||||
// // else {
|
||||
// // this.isGrade = false;
|
||||
// // }
|
||||
// }
|
||||
|
||||
|
||||
// let educationType = this.educationTypes.find(x => x.description.toLowerCase() == "academic");
|
||||
// if (this.academic.id == 0 && educationType != undefined) {
|
||||
// this.academic.educationTypeID = educationType.id;
|
||||
// this.selectedEducationTypeID = this.academic.educationTypeID;
|
||||
// this.academic.examDate = new Date().getFullYear();
|
||||
// this.academic.passingYear = new Date().getFullYear();
|
||||
// this.selectEducationTypeEvent(educationType.id);
|
||||
// let descp = this.alleducationDiscipline.find(d => d.description.toLowerCase() == 'nil');
|
||||
// this.academic.disciplineID = descp != undefined ? descp.id : 0;
|
||||
// let inst = this.allinstitutions.find(d => d.name.toLowerCase() == 'Institute of Chartered Secretary of Bangladesh'.toLowerCase());
|
||||
// this.academic.institutionID = inst != undefined ? inst.id : 0;
|
||||
// }
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
// );
|
||||
const educationlevelService = this.basicService.getAllEducationLevel();
|
||||
const disciplineService = this.basicService.getAllDiscipline();
|
||||
const institutionService = this.basicService.getAllInstitutions();
|
||||
const resultTyoeService = this.basicService.getAllResultTypesByStatus(EnumStatus.Regardless);
|
||||
|
||||
this.loadingPanelService.ShowLoadingPanel = true;
|
||||
forkJoin(educationlevelService, disciplineService, institutionService, resultTyoeService).subscribe(
|
||||
([res1, res2, res3, res4]) => {
|
||||
this.alleducationLevels = res1;
|
||||
this.alleducationDiscipline = res2;
|
||||
this.allinstitutions = res3;
|
||||
this.allresultTypes = res4;
|
||||
this.basicService.getAllEducationLevel().subscribe(
|
||||
(resp) => {
|
||||
this.alleducationLevels = resp;
|
||||
},
|
||||
(x) => {
|
||||
this.loadingPanelService.ShowLoadingPanel = false;
|
||||
console.log(x);
|
||||
this.notificationService.showError(x.error);
|
||||
(err: any) => {
|
||||
console.log(err);
|
||||
},
|
||||
() => {
|
||||
this.educationLevels = this.alleducationLevels;
|
||||
this.educationDiscipline = this.alleducationDiscipline;
|
||||
this.institutions = this.allinstitutions;
|
||||
this.resultTypes = this.allresultTypes;
|
||||
|
||||
this.loadingPanelService.ShowLoadingPanel = false;
|
||||
let educationType = this.educationTypes.find(x => x.description.toLowerCase() == "academic");
|
||||
if (this.academic.id == 0 && educationType != undefined) {
|
||||
this.academic.educationTypeID = educationType.id;
|
||||
this.selectedEducationTypeID = this.academic.educationTypeID;
|
||||
let descp = this.alleducationDiscipline.find(d => d.description.toLowerCase() == 'nil');
|
||||
this.academic.disciplineID = descp != undefined ? descp.id : 0;
|
||||
this.selectedDisciplineID = this.academic.disciplineID;
|
||||
let inst = this.allinstitutions.find(d => d.name.toLowerCase() == 'Institute of Chartered Secretary of Bangladesh'.toLowerCase());
|
||||
this.academic.institutionID = inst != undefined ? inst.id : 0;
|
||||
this. selectedInstitutionID = this.academic.institutionID;
|
||||
this.academic.examDate = new Date().getFullYear();
|
||||
this.academic.passingYear = new Date().getFullYear();
|
||||
// this.selectEducationTypeEvent(educationType.id);
|
||||
if (this.academic.id > 0) {
|
||||
this.educationLevels = this.alleducationLevels.filter(x => x.educationTypeID == this.academic.educationTypeID);
|
||||
}
|
||||
else {
|
||||
this.educationLevels = this.alleducationLevels.filter(x => x.educationTypeID == this.academic.educationTypeID);
|
||||
}
|
||||
this.basicService.getAllDiscipline().subscribe(
|
||||
(resp) => {
|
||||
this.alleducationDiscipline = resp;
|
||||
},
|
||||
(err: any) => {
|
||||
console.log(err);
|
||||
},
|
||||
() => {
|
||||
if (this.academic.id > 0) {
|
||||
// this.educationDiscipline = this.alleducationDiscipline.filter(x => x.educationLevelID == this.academic.educationLevelID);
|
||||
// this.educationDiscipline = this.alleducationDiscipline.filter(x => x.id == this.academic.disciplineID);
|
||||
this.educationDiscipline = this.alleducationDiscipline;
|
||||
}
|
||||
else {
|
||||
// this.educationDiscipline = this.alleducationDiscipline.filter(x => x.educationLevelID == this.academic.educationLevelID);
|
||||
this.educationDiscipline = this.alleducationDiscipline;
|
||||
}
|
||||
|
||||
|
||||
this.basicService.getAllInstitutions().subscribe(
|
||||
(resp) => {
|
||||
this.allinstitutions = resp;
|
||||
},
|
||||
(err: any) => {
|
||||
console.log(err);
|
||||
},
|
||||
() => {
|
||||
if (this.academic.id > 0) {
|
||||
// this.institutions = this.allinstitutions.filter(x => x.boardRequired == this.academic.educationType.boardRequired);
|
||||
if (this.academic.institution.boardRequired)
|
||||
// this.institutions = this.allinstitutions.filter(x => x.id == this.academic.institutionID || x.boardRequired == true);
|
||||
this.institutions = this.allinstitutions.filter(x => x.boardRequired == true);
|
||||
else
|
||||
// this.institutions = this.allinstitutions.filter(x => x.educationTypeID == this.academic.educationTypeID);
|
||||
this.institutions = this.allinstitutions.filter(x => x.boardRequired == false);
|
||||
}
|
||||
//console.log(this.institutions);
|
||||
|
||||
this.basicService.getAllResultTypesByStatus(EnumStatus.Regardless).subscribe(
|
||||
(resp) => {
|
||||
this.allresultTypes = resp;
|
||||
},
|
||||
(err: any) => {
|
||||
console.log(err);
|
||||
},
|
||||
() => {
|
||||
if (this.academic.id > 0)
|
||||
//console.log(this.allresultTypes);
|
||||
if (this.academic.id > 0) {
|
||||
let selectedEducationType: EducationType[] = this.educationTypes.filter(x => x.id == this.academic.educationTypeID)
|
||||
// this.resultTypes = this.allresultTypes.filter(x => x.type == selectedEducationType[0].resultType);
|
||||
// if (selectedEducationType[0].resultType === 2 || selectedEducationType[0].resultType === 4) {
|
||||
// this.isGrade = true;
|
||||
// }
|
||||
// else {
|
||||
// this.isGrade = false;
|
||||
// }
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
@ -266,8 +210,8 @@ export class AcademicEntryComponent implements OnInit {
|
|||
}
|
||||
selectEducationTypeEvent(typeid: number) {
|
||||
if (typeid !== null) {
|
||||
this.educationLevels = this.alleducationLevels//.filter(x => x.educationTypeID == typeid);
|
||||
let selectedEducationType: EducationType[] = this.educationTypes//.filter(x => x.id == this.academic.educationTypeID)
|
||||
this.educationLevels = this.alleducationLevels.filter(x => x.educationTypeID == typeid);
|
||||
let selectedEducationType: EducationType[] = this.educationTypes.filter(x => x.id == this.academic.educationTypeID)
|
||||
// this.institutions = this.allinstitutions.filter(x => x.boardRequired == selectedEducationType[0].boardRequired);
|
||||
// this.institutions = this.allinstitutions.filter(x => x.educationTypeID == typeid);
|
||||
this.institutions = this.allinstitutions;
|
||||
|
@ -306,7 +250,7 @@ export class AcademicEntryComponent implements OnInit {
|
|||
if (seletedInstitution.boardRequired == true) resultType = 1;
|
||||
else resultType = 2;
|
||||
if (institutionid !== null)
|
||||
this.resultTypes = this.allresultTypes//.filter(x => x.type == resultType);
|
||||
this.resultTypes = this.allresultTypes.filter(x => x.type == resultType);
|
||||
|
||||
this.selectedResultTypeID = null;
|
||||
this.isGrade = false;
|
||||
|
@ -341,7 +285,7 @@ export class AcademicEntryComponent implements OnInit {
|
|||
educationLevelPicker: ['', Validators.required],
|
||||
disciplinePicker: ['', Validators.required],
|
||||
institutionPicker: ['', Validators.required],
|
||||
resultTypePicker: [''],
|
||||
resultTypePicker: ['', Validators.required],
|
||||
examHeldOn: ['', Validators.required],
|
||||
passingYear: ['', Validators.required],
|
||||
gpaOrMarks: [''],
|
||||
|
@ -360,12 +304,11 @@ export class AcademicEntryComponent implements OnInit {
|
|||
this.selectedResultTypeID = this.academic.resultTypeID;
|
||||
}
|
||||
public onSave(e): void {
|
||||
debugger;
|
||||
this.academic.educationTypeID = this.selectedEducationTypeID;
|
||||
this.academic.educationLevelID = this.selectedEducationLevelID;
|
||||
this.academic.institutionID = this.selectedInstitutionID;
|
||||
this.academic.disciplineID = this.selectedDisciplineID;
|
||||
this.academic.resultTypeID = this.selectedResultTypeID != null ? this.selectedResultTypeID : 0;
|
||||
this.academic.resultTypeID = this.selectedResultTypeID;
|
||||
if (this.employeeService.hrEmployee.id === undefined || this.employeeService.hrEmployee.id === 0) {
|
||||
this.notificationService.showWarning('please select an employee');
|
||||
this.onCancel(null);
|
||||
|
@ -377,9 +320,10 @@ export class AcademicEntryComponent implements OnInit {
|
|||
return;
|
||||
}
|
||||
|
||||
this.academic.employeeID = this.employeeService.hrEmployee.id;
|
||||
this.academic.createdBy = 0;
|
||||
this.academic.createdDate = new Date();
|
||||
this.academic.employeeID = this.employeeService.hrEmployee.id;
|
||||
this.academic.createdDate = new Date(this.academic.createdBy);
|
||||
this.academic.createdBy = 0;
|
||||
this.loadingPanelService.ShowLoadingPanel = true;
|
||||
this.employeeService.saveEmployeeAcademic(this.academic).subscribe(
|
||||
(resp) => {
|
||||
|
|
|
@ -57,21 +57,6 @@
|
|||
[(ngModel)]="contact.permanentTelephone" type="text" pInputText style="width:100%">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-12 p-lg-3" style="margin: auto;">
|
||||
<label for="txtPermanentMobilePhone">Mobile Phone</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<input id="txtPermanentMobilePhone" formControlName="permanentMobilePhone"
|
||||
[(ngModel)]="contact.permanentMobile" type="text" pInputText style="width:100%">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<label for="txtParmanentPOInBangla">Post Office Name</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<input id="txtParmanentPO" formControlName="parmanentPO"
|
||||
[(ngModel)]="contact.permanentPO" type="text" pInputText style="width:100%">
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<label for="txtParmanentPOInBangla">Post Office Name (Bn)</label>
|
||||
</div>
|
||||
|
@ -80,15 +65,21 @@
|
|||
[(ngModel)]="contact.parmanentPOInBangla" type="text" pInputText style="width:100%">
|
||||
</div>
|
||||
|
||||
<!-- <div class="p-col-12 p-md-12 p-lg-1"></div> -->
|
||||
<div class="p-col-12 p-md-12 p-lg-3" style="margin: auto;">
|
||||
<label for="txtPermanentMobilePhone">Mobile Phone</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<input id="txtPermanentMobilePhone" formControlName="permanentMobilePhone"
|
||||
[(ngModel)]="contact.permanentMobile" type="text" pInputText style="width:100%">
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-1"></div>
|
||||
<div class="p-col-12 p-md-12 p-lg-2" style="margin: auto;">
|
||||
<label for="txtPermanentPostalCode">Postal Code</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<input id="txtPermanentPostalCode" formControlName="permanentPostalCode"
|
||||
[(ngModel)]="contact.permanentPostCodeNo" type="text" pInputText style="width:100%">
|
||||
</div>
|
||||
<div class="p-lg-6"></div>
|
||||
<div class="p-col-12 p-md-12 p-lg-12">
|
||||
<label class="k-form-field right">
|
||||
<!-- <input type="checkbox" [(ngModel)]="isSameAddress" (change)="checkAddress()" id="isSameAddress"
|
||||
|
@ -164,24 +155,6 @@
|
|||
[readonly]="this.isSameAddress">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-12 p-lg-3" style="margin: auto;">
|
||||
<label for="txtPresentMobilePhone">Mobile Phone</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<input id="txtPresentMobilePhone" formControlName="presentMobilePhone"
|
||||
[(ngModel)]="contact.presentMobile" type="text" pInputText style="width:100%"
|
||||
[readonly]="this.isSameAddress">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<label for="txtPresentPOInBangla">Post Office Name</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<input id="txtPresentPO" formControlName="presentPO"
|
||||
[(ngModel)]="contact.presentPO" type="text" pInputText style="width:100%"
|
||||
[readonly]="this.isSameAddress">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<label for="txtPresentPOInBangla">Post Office Name(Bn)</label>
|
||||
</div>
|
||||
|
@ -191,9 +164,17 @@
|
|||
[readonly]="this.isSameAddress">
|
||||
</div>
|
||||
|
||||
|
||||
<!-- <div class="p-col-12 p-md-12 p-lg-1"></div> -->
|
||||
<div class="p-col-12 p-md-12 p-lg-3" style="margin: auto;">
|
||||
<label for="txtPresentMobilePhone">Mobile Phone</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
<input id="txtPresentMobilePhone" formControlName="presentMobilePhone"
|
||||
[(ngModel)]="contact.presentMobile" type="text" pInputText style="width:100%"
|
||||
[readonly]="this.isSameAddress">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-12 p-lg-1"></div>
|
||||
<div class="p-col-12 p-md-12 p-lg-2" style="margin: auto;">
|
||||
<label for="txtPresentPostalCode">Postal Code</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-3">
|
||||
|
@ -201,7 +182,6 @@
|
|||
[(ngModel)]="contact.presentPostCodeNo" type="text" pInputText style="width:100%"
|
||||
[readonly]="this.isSameAddress">
|
||||
</div>
|
||||
<div class="p-lg-6"></div>
|
||||
<div class="p-col-12 p-md-12 p-lg-12" style="height: 34px;">
|
||||
<label class="k-form-field right">
|
||||
<!-- <input type="checkbox" [(ngModel)]="isSameAddress" (change)="checkAddress()" id="isSameAddress"
|
||||
|
|
|
@ -89,8 +89,6 @@ export class ContactComponent implements OnInit {
|
|||
permanentDistrictDropdown: new FormControl('', Validators.required),
|
||||
permanentThanaDropdown: new FormControl('', Validators.required),
|
||||
permanentPostalCode: new FormControl(''),
|
||||
parmanentPO: new FormControl(''),
|
||||
parmanentPOInBangla: new FormControl(''),
|
||||
|
||||
presentAddress: new FormControl('', Validators.required),
|
||||
presentAddressInBangla: new FormControl(''),
|
||||
|
@ -99,8 +97,6 @@ export class ContactComponent implements OnInit {
|
|||
presentDistrictDropdown: new FormControl('', Validators.required),
|
||||
presentThanaDropdown: new FormControl('', Validators.required),
|
||||
presentPostCode: new FormControl(''),
|
||||
presentPO: new FormControl(''),
|
||||
presentPOInBangla: new FormControl(''),
|
||||
|
||||
contactLandPhone: new FormControl(''),
|
||||
contactMobileNo: new FormControl(''),
|
||||
|
@ -108,12 +104,14 @@ export class ContactComponent implements OnInit {
|
|||
contactOfficialEmail: new FormControl(''),
|
||||
contactFax: new FormControl(''),
|
||||
|
||||
emergencyContactPerson: new FormControl(''),
|
||||
emergencyAddress: new FormControl(''),
|
||||
emergencyContactPerson: new FormControl('', Validators.required),
|
||||
emergencyAddress: new FormControl('', Validators.required),
|
||||
emergencyLandPhone: new FormControl(''),
|
||||
emergencyMobileNo: new FormControl(''),
|
||||
emergencyMobileNo: new FormControl('', Validators.required),
|
||||
relation: new FormControl(''),
|
||||
|
||||
presentPOInBangla: new FormControl(''),
|
||||
parmanentPOInBangla: new FormControl(''),
|
||||
});
|
||||
/* if (this.employeeService.hrEmployee !== undefined && this.employeeService.hrEmployee.contacts.length > 0) {
|
||||
this.contact = this.employeeService.hrEmployee.contacts[0];
|
||||
|
@ -214,7 +212,6 @@ export class ContactComponent implements OnInit {
|
|||
this.contact.presentDistrictID = this.contact.permanentDistrictID;
|
||||
this.contact.presentThanaID = this.contact.permanentThanaID;
|
||||
this.contact.presentTelephone = this.contact.permanentTelephone;
|
||||
this.contact.presentPO = this.contact.permanentPO;
|
||||
this.contact.presentPOInBangla = this.contact.parmanentPOInBangla;
|
||||
this.contact.presentMobile = this.contact.permanentMobile;
|
||||
this.contact.presentPostCodeNo = this.contact.permanentPostCodeNo;
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
</div>
|
||||
<div *ngIf="newEmployee" class="p-col-12 p-lg-4">
|
||||
<input [(ngModel)]="this.employeeService.hrEmployee.employeeNo"
|
||||
placeholder="Input Employee Id for new Employee.." id="txtempno" pInputText style="width:100%" type="text" [readOnly]="true">
|
||||
placeholder="Input Employee Id for new Employee.." id="txtempno" pInputText style="width:100%" type="text">
|
||||
</div>
|
||||
<div class="p-col-12 p-lg-6" style="margin: auto;" align="middle">
|
||||
<span class="k-icon k-i-warning k-i-exception"></span>
|
||||
|
@ -27,9 +27,7 @@
|
|||
|
||||
<p-tabView [scrollable]="true">
|
||||
<p-tabPanel header="General" leftIcon="pi pi-user">
|
||||
<app-general [isActive]="!newEmployee" [employeeNo]="this.employeeService.hrEmployee.employeeNo"
|
||||
(defaultNationalityHandler)="defaultNationalityHandler($event)"
|
||||
(defaultEmployeeTypeHandler)="defaultEmployeeTypeHandler($event)"></app-general>
|
||||
<app-general [isActive]="!newEmployee" [employeeNo]="this.employeeService.hrEmployee.employeeNo"></app-general>
|
||||
</p-tabPanel>
|
||||
<p-tabPanel header="Contacts" leftIcon="pi pi-phone">
|
||||
<app-contact (saveContact)="saveContact($event)"></app-contact>
|
||||
|
|
|
@ -11,8 +11,6 @@ import { ApiService } from '../../app.api.service';
|
|||
import {loadingPanelService} from '../../hrm-loding panel/loding.panel.service';
|
||||
import {HRMNotificationService} from '../../app.notification.service';
|
||||
import {DomSanitizer} from '@angular/platform-browser';
|
||||
import { Nationality } from '../nationality/nationality';
|
||||
import { Category } from 'src/app/_models/Basic/category';
|
||||
|
||||
@Component({
|
||||
selector: 'app-employee-profile',
|
||||
|
@ -32,8 +30,6 @@ export class EmployeeProfileComponent implements OnInit {
|
|||
attachment: any;
|
||||
fileType = '';
|
||||
isDisplay = false;
|
||||
defaultNationality: Nationality;
|
||||
defaultEmployeeType: Category;
|
||||
constructor(private fb: FormBuilder,
|
||||
public employeeService: EmployeeServices,
|
||||
public basicService: BasicService,
|
||||
|
@ -193,19 +189,19 @@ export class EmployeeProfileComponent implements OnInit {
|
|||
|
||||
this.refreshEmployee(new HrEmployee());
|
||||
|
||||
// this.loadingPanel.ShowLoadingPanel = true;
|
||||
// this.employeeService.generateEmployeeNo().subscribe(
|
||||
// (resp) => {
|
||||
// this.employeeService.hrEmployee.employeeNo = resp as string;
|
||||
// },
|
||||
// (err) => {
|
||||
// this.notificationService.showError(err);
|
||||
// this.loadingPanel.ShowLoadingPanel = false;
|
||||
// },
|
||||
// () => {
|
||||
// this.loadingPanel.ShowLoadingPanel = false;
|
||||
// }
|
||||
// );
|
||||
this.loadingPanel.ShowLoadingPanel = true;
|
||||
this.employeeService.generateEmployeeNo().subscribe(
|
||||
(resp) => {
|
||||
this.employeeService.hrEmployee.employeeNo = resp as string;
|
||||
},
|
||||
(err) => {
|
||||
this.notificationService.showError(err);
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
},
|
||||
() => {
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
}
|
||||
);
|
||||
}
|
||||
else {
|
||||
this.employeeService.hrEmployee.employeeNo = undefined;
|
||||
|
@ -265,12 +261,6 @@ export class EmployeeProfileComponent implements OnInit {
|
|||
this.employeeService.hrEmployee.passportExpDate = new Date(this.employeeService.hrEmployee.passportExpDate);
|
||||
this.employeeService.hrEmployee.passportIssueDate = new Date(this.employeeService.hrEmployee.passportIssueDate);
|
||||
}
|
||||
else {
|
||||
this.hrEmployeeProfile.birthDate = new Date();
|
||||
this.hrEmployeeProfile.joiningDate = new Date();
|
||||
this.hrEmployeeProfile.nationalityID = this.defaultNationality != null ? this.defaultNationality.id : null;
|
||||
this.hrEmployeeProfile.categoryID = this.defaultEmployeeType != null ? this.defaultEmployeeType.id : null;
|
||||
}
|
||||
this.employeeService.Employee_Get_Completed.next(this.hrEmployeeProfile);
|
||||
}
|
||||
|
||||
|
@ -318,12 +308,5 @@ export class EmployeeProfileComponent implements OnInit {
|
|||
onPopUpClose() {
|
||||
this.isDisplay = false;
|
||||
}
|
||||
|
||||
defaultNationalityHandler(dataItem: Nationality) {
|
||||
this.defaultNationality = dataItem;
|
||||
}
|
||||
defaultEmployeeTypeHandler(dataItem: Category) {
|
||||
this.defaultEmployeeType = dataItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -67,12 +67,6 @@ export class ChildrenListComponent implements OnInit {
|
|||
addNew() {
|
||||
this.editIndex = -1;
|
||||
this.empChildren = new EmpChildren();
|
||||
this.empChildren.birthDate = new Date();
|
||||
let notApli = null;
|
||||
if(this.occupations != null)
|
||||
notApli = this.occupations.find(o => o.description.toUpperCase() == 'N/A');
|
||||
if (notApli != null)
|
||||
this.empChildren.occupationID = notApli.id;
|
||||
this.isDisplay = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -68,13 +68,6 @@ export class SpouseListComponent implements OnInit {
|
|||
addNew() {
|
||||
this.editIndex = -1;
|
||||
this.empSpouse = new EmpSpouse();
|
||||
this.empSpouse.dateOfBirth = new Date();
|
||||
this.empSpouse.marriageDate = new Date();
|
||||
let notApli = null;
|
||||
if(this.occupations != null)
|
||||
notApli = this.occupations.find(o => o.description.toUpperCase() == 'N/A');
|
||||
if (notApli != null)
|
||||
this.empSpouse.occupationID = notApli.id;
|
||||
this.isDisplay = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -16,21 +16,13 @@
|
|||
<span class="editIcon">✎</span>
|
||||
</button>
|
||||
</div>
|
||||
<div style="position: relative; display: inline-block;">
|
||||
<img id="imgEmpSigneture" [src]="empSigneture"
|
||||
style="height: 60px; width: 180px; border-radius: 10px; border: 1px solid #52527A;" />
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-12" align="center">
|
||||
<input formControlName="empPhoto" id="fupEmpPhoto" #fileInput
|
||||
(change)="selectFile($event)" type="file" style="display: none;">
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-12" style="height: 76px;">
|
||||
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-12" style="height: 76px;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -181,7 +173,6 @@
|
|||
|
||||
<button class="k-button k-primary" kendoButton icon="save"
|
||||
(click)="SavePersonalInfo()">
|
||||
<!-- (click)="SavePersonalInfo()"> -->
|
||||
Save
|
||||
</button>
|
||||
</div>
|
||||
|
@ -368,9 +359,7 @@
|
|||
</button>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-12 p-lg-4" style="margin-top: 11px;" align="right">
|
||||
<button class="k-button k-primary" kendoButton icon="save"
|
||||
(click)="SavePersonalInfo()">
|
||||
<!-- (click)="SavePersonalInfo()"> -->
|
||||
<button class="k-button k-primary" kendoButton icon="save" (click)="SavePersonalInfo()">
|
||||
Save
|
||||
</button>
|
||||
</div>
|
||||
|
@ -534,12 +523,12 @@
|
|||
class="bangla-font" pInputText style="width:100%" type="text">
|
||||
</div>
|
||||
|
||||
<!-- <div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right">
|
||||
<div class="p-col-12 p-md-12 p-lg-12" style="margin: auto;" align="right">
|
||||
<button class="k-button k-primary" kendoButton icon="save"
|
||||
(click)="saveBanglaPersonalInformation()">
|
||||
Save
|
||||
</button>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<form [formGroup]="contactForm">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
||||
import { DataTransferService } from '../../../data.transfer.service';
|
||||
import { EmployeeServices } from '../../../_services/employee/employee.service';
|
||||
|
@ -104,7 +104,6 @@ export class GeneralComponent implements OnInit {
|
|||
selectedFiles?: FileList;
|
||||
currentFile?: File;
|
||||
employeePhoto: any;
|
||||
empSigneture: any;
|
||||
occupations: Occupation[];
|
||||
newUser: boolean = false;
|
||||
userid: number;
|
||||
|
@ -115,10 +114,8 @@ export class GeneralComponent implements OnInit {
|
|||
pickerEmployee: SearchEmployee;
|
||||
nationalities: Nationality[];
|
||||
defaultNationality: Nationality;
|
||||
defaultEmployeeType: Category;
|
||||
nameBangla: string = 'asasas';
|
||||
defaultPhoto = "assets/photos/profile-default.jpg";
|
||||
photoPath = "Documents/EMPPHOTO";
|
||||
isDisplay: boolean = false;
|
||||
|
||||
contactForm: FormGroup;
|
||||
|
@ -127,8 +124,6 @@ export class GeneralComponent implements OnInit {
|
|||
permanentThanas: Thana[];
|
||||
|
||||
isAccessCard: boolean = false;
|
||||
@Output() defaultNationalityHandler = new EventEmitter<Nationality>();
|
||||
@Output() defaultEmployeeTypeHandler = new EventEmitter<Category>();
|
||||
|
||||
constructor(public employeeService: EmployeeServices, public basicService: BasicService,
|
||||
public notificationService: HRMNotificationService,
|
||||
|
@ -139,7 +134,6 @@ export class GeneralComponent implements OnInit {
|
|||
ngOnInit() {
|
||||
|
||||
this.employeePhoto = this.defaultPhoto;
|
||||
this.empSigneture = "";
|
||||
this.basicService.getAllReligion().subscribe(
|
||||
(resp: any) => {
|
||||
this.religions = resp;
|
||||
|
@ -159,11 +153,6 @@ export class GeneralComponent implements OnInit {
|
|||
|
||||
},
|
||||
() => {
|
||||
this.defaultEmployeeType = this.employeeTypes.find(x => x.name.toLowerCase() == "worker");
|
||||
if (this.defaultEmployeeType != undefined) {
|
||||
// this.hrEmployee.categoryID = this.defaultEmployeeType.id;
|
||||
this.defaultEmployeeTypeHandler.emit(this.defaultEmployeeType);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -186,8 +175,7 @@ export class GeneralComponent implements OnInit {
|
|||
() => {
|
||||
this.defaultNationality=this.nationalities.find(x=>x.description.toLowerCase()=="bangladeshi");
|
||||
if(this.defaultNationality){
|
||||
// this.hrEmployee.nationalityID = this.defaultNationality.id;
|
||||
this.defaultNationalityHandler.emit(this.defaultNationality);
|
||||
this.hrEmployee.nationalityID = this.defaultNationality.id;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -241,7 +229,7 @@ export class GeneralComponent implements OnInit {
|
|||
maxValue: new FormControl(),
|
||||
insuranceId: new FormControl(''),
|
||||
inclusionDate: new FormControl(),
|
||||
empSigneture: new FormControl(),
|
||||
//signature: new FormControl()
|
||||
dateOfRetirement: new FormControl(),
|
||||
spouseNameBangla: new FormControl(),
|
||||
spouseName: new FormControl(),
|
||||
|
@ -258,7 +246,6 @@ export class GeneralComponent implements OnInit {
|
|||
(resp: any) => {
|
||||
this.hrEmployee = resp;
|
||||
//console.log(this.hrEmployee);
|
||||
debugger;
|
||||
if (this.hrEmployee.id !== undefined && this.hrEmployee.id !== 0) {
|
||||
this.showEmpImage();
|
||||
this.userid = undefined;
|
||||
|
@ -266,7 +253,6 @@ export class GeneralComponent implements OnInit {
|
|||
emp.employeeID = this.employeeService.hrEmployee.id;
|
||||
emp.employeeNo = this.employeeService.hrEmployee.employeeNo;
|
||||
emp.name = this.employeeService.hrEmployee.name;
|
||||
//this.employeePhoto = this.employeeService.hrEmployee.photoPath;
|
||||
this.pickerEmployee = emp;
|
||||
if (this.hrEmployee.lineManagerID > 0) {
|
||||
this.getLineManager();
|
||||
|
@ -276,7 +262,6 @@ export class GeneralComponent implements OnInit {
|
|||
}
|
||||
} else {
|
||||
this.employeePhoto = this.defaultPhoto;
|
||||
this.empSigneture = "";
|
||||
// this.employeeService.generateEmployeeNo().subscribe(
|
||||
// (resp) => {
|
||||
// this.hrEmployee.employeeNo = resp as string;
|
||||
|
@ -374,15 +359,10 @@ export class GeneralComponent implements OnInit {
|
|||
}
|
||||
|
||||
public showEmpImage() {
|
||||
debugger;
|
||||
this.loadingPanel.ShowLoadingPanel = true;
|
||||
this.empSigneture = "";
|
||||
this.employeePhoto = this.defaultPhoto;
|
||||
//this.employeePhoto = this.photoPath + "/" + "Image-" + this.hrEmployee.employeeNo + ".jpg";
|
||||
this.employeeService.GetEmpImageSignFile(this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
|
||||
this.employeeService.GetuploadEmpFile(this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
|
||||
(resp: any) => {
|
||||
if (resp) {
|
||||
|
||||
this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp}`);
|
||||
} else {
|
||||
this.employeePhoto = this.defaultPhoto;
|
||||
|
@ -392,26 +372,6 @@ export class GeneralComponent implements OnInit {
|
|||
(err: any) => {
|
||||
|
||||
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
this.notificationService.showError(err.error);
|
||||
},
|
||||
() => {
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
}
|
||||
);
|
||||
this.employeeService.GetEmpImageSignFile(this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe(
|
||||
(resp: any) => {
|
||||
if (resp) {
|
||||
|
||||
this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp}`);
|
||||
} else {
|
||||
this.employeePhoto = this.defaultPhoto;
|
||||
}
|
||||
|
||||
},
|
||||
(err: any) => {
|
||||
|
||||
|
||||
this.loadingPanel.ShowLoadingPanel = false;
|
||||
this.notificationService.showError(err.error);
|
||||
},
|
||||
|
@ -426,29 +386,6 @@ export class GeneralComponent implements OnInit {
|
|||
|
||||
}
|
||||
|
||||
// public saveGeneratedEmployee() {
|
||||
// debugger
|
||||
// if (this.active == false) {
|
||||
// this.loadingPanel.ShowLoadingPanel = true;
|
||||
// this.employeeService.generateEmployeeNo().subscribe(
|
||||
// (resp) => {
|
||||
// this.employeeService.hrEmployee.employeeNo = resp as string;
|
||||
// },
|
||||
// (err) => {
|
||||
// this.notificationService.showError(err);
|
||||
// this.loadingPanel.ShowLoadingPanel = false;
|
||||
// },
|
||||
// () => {
|
||||
// this.loadingPanel.ShowLoadingPanel = false; setTimeout(() => {
|
||||
// this.SavePersonalInfo();
|
||||
// }, 1000);
|
||||
// }
|
||||
// );
|
||||
// }
|
||||
// else{
|
||||
// this.SavePersonalInfo();
|
||||
// }
|
||||
// }
|
||||
SavePersonalInfo() {
|
||||
// console.log(this.hrEmployee.banglaName);
|
||||
// return;
|
||||
|
@ -464,18 +401,12 @@ export class GeneralComponent implements OnInit {
|
|||
if (this.hrEmployee.lastName !== null) {
|
||||
this.hrEmployee.name += ' ' + this.hrEmployee.lastName;
|
||||
}
|
||||
// if (this.employeeService.hrEmployee.employeeNo.length > 0) {
|
||||
// this.hrEmployee.employeeNo = this.employeeService.hrEmployee.employeeNo;
|
||||
// }
|
||||
if (this.employeeService.hrEmployee.employeeNo.length > 0) {
|
||||
this.hrEmployee.employeeNo = this.employeeService.hrEmployee.employeeNo;
|
||||
}
|
||||
this.employeeService.saveHrPersonalInfo(this.hrEmployee).subscribe(
|
||||
(resp: HrEmployee) => {
|
||||
if (resp != undefined) {
|
||||
this.hrEmployee.id = resp.id;
|
||||
if (this.active == false) {
|
||||
this.hrEmployee.employeeNo = resp.employeeNo;
|
||||
this.employeeService.hrEmployee.employeeNo = resp.employeeNo;
|
||||
}
|
||||
}
|
||||
(resp: any) => {
|
||||
this.hrEmployee.id = resp;
|
||||
},
|
||||
(err: any) => {
|
||||
console.log(err);
|
||||
|
@ -529,7 +460,6 @@ export class GeneralComponent implements OnInit {
|
|||
|
||||
}
|
||||
saveFile(feferenceID: number, selectedFiles: any, type: enumEmpFileUploadType) {
|
||||
debugger;
|
||||
if (selectedFiles != undefined && selectedFiles.length > 0) {
|
||||
const file: File | null = selectedFiles.item(0);
|
||||
this.currentFile = file;
|
||||
|
@ -578,9 +508,8 @@ export class GeneralComponent implements OnInit {
|
|||
)
|
||||
}
|
||||
SaveBanglaContactInformation(){
|
||||
this.saveBanglaPersonalInformation();
|
||||
const data ={
|
||||
employeeID: this.employeeService.hrEmployee.id,
|
||||
employeeNo: this.employeeService.hrEmployee.employeeNo,
|
||||
presentPOInBangla: this.contact.presentPOInBangla,
|
||||
presentAddressInBangla: this.contact.presentAddressInBangla,
|
||||
parmanentPOInBangla: this.contact.parmanentPOInBangla,
|
||||
|
@ -629,19 +558,18 @@ export class GeneralComponent implements OnInit {
|
|||
if (confirm('Are you sure change the profile picture? selected picture will be store in database as well as will be used as profile picture.') == false) {
|
||||
return;
|
||||
}
|
||||
debugger;
|
||||
|
||||
this.selectedFiles = event.target.files;
|
||||
|
||||
if (this.selectedFiles.length > 0) {
|
||||
const file: File | null = this.selectedFiles.item(0);
|
||||
this.currentFile = file;
|
||||
debugger;
|
||||
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.Profile_Picture).subscribe(
|
||||
(resp: any) => {
|
||||
console.log('image data');
|
||||
// console.log(resp.body);
|
||||
//this.employeePhoto = resp;
|
||||
this.employeePhoto = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
|
||||
|
||||
this.employeePhoto = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
|
||||
},
|
||||
(err: any) => {
|
||||
this.notificationService.showError(err.error);
|
||||
|
@ -878,7 +806,6 @@ export class GeneralComponent implements OnInit {
|
|||
this.currentFile = file;
|
||||
this.employeeService.uploadEmpFile(this.currentFile, this.hrEmployee.id, this.hrEmployee.id, enumEmpFileUploadType.signature).subscribe(
|
||||
(resp: any) => {
|
||||
this.empSigneture = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
|
||||
// console.log(resp.body);
|
||||
//this.Sigfiles = resp;// this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${resp.body}`);
|
||||
},
|
||||
|
|
|
@ -32,10 +32,10 @@
|
|||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<div class="p-col-12 p-md-6 p-lg-2" >
|
||||
<label>Relation</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;">
|
||||
<kendo-dropdownlist [(ngModel)]="nominee.relationID" [data]="relations"
|
||||
[defaultItem]="{ description: 'Select Relations..', value: null }" [textField]="'description'"
|
||||
[valueField]="'id'" [valuePrimitive]="true" class="form-control form-control-sm input-sm"
|
||||
|
@ -51,10 +51,10 @@
|
|||
type="number" pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<div class="p-col-12 p-md-6 p-lg-2" >
|
||||
<label for="dtpDateOfBirth">Birth Date</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;">
|
||||
<kendo-datepicker [(ngModel)]="nominee.birthDate" [format]="'dd-MMM-yyyy'"
|
||||
formControlName="dateOfBirth" id="dtpDateOfBirth" style="width:100%"></kendo-datepicker>
|
||||
</div>
|
||||
|
@ -70,15 +70,12 @@
|
|||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtAddress">Gender</label>
|
||||
<div class="p-col-12 p-md-6 p-lg-2" >
|
||||
<label for="txtAddress">Address</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<kendo-dropdownlist [(ngModel)]="nominee.gender" [data]="genderType"
|
||||
[defaultItem]="{ name: 'Select Gender..', value: null }" [textField]="'name'" [valueField]="'value'"
|
||||
[valuePrimitive]="true" class="form-control form-control-sm input-sm" formControlName="gender"
|
||||
id="gender" style="width:100%">
|
||||
</kendo-dropdownlist>
|
||||
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;">
|
||||
<input id="txtAddress" formControlName="address" [(ngModel)]="nominee.address" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
|
@ -89,99 +86,14 @@
|
|||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtNomineeMobileNo">Mobile</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<input id="txtNnomineeMobileNo" formControlName="mobile" [(ngModel)]="nominee.nomineeMobileNo" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<div class="p-col-12 p-md-6 p-lg-2" >
|
||||
<label for="txtEmail">Email</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;">
|
||||
<input id="txtEmail" formControlName="email" [(ngModel)]="nominee.emailAddress" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtAddress">Address</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<input id="txtAddress" formControlName="address" [(ngModel)]="nominee.address" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtFatherName">Father Name</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<input id="txtFatherName" formControlName="fatherName" [(ngModel)]="nominee.fatherName" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtMotherName">Mother Name</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<input id="txtMotherName" formControlName="motherName" [(ngModel)]="nominee.motherName" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtSpouseName">Spouse Name</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<input id="txtSpouseName" formControlName="spouseName" [(ngModel)]="nominee.spouseName" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtNationalID">NationalID</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<input id="txtNationalID" formControlName="nID" [(ngModel)]="nominee.nationalID" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtDistrict">District</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<!-- <input id="txtDistrict" formControlName="district" [(ngModel)]="nominee.districtID" type="text"
|
||||
pInputText style="width:100%" /> -->
|
||||
<kendo-dropdownlist [(ngModel)]="nominee.districtID" [data]="districts"
|
||||
[defaultItem]="{ name: 'Select District..', value: null }" [textField]="'name'"
|
||||
[valueField]="'id'" style="width: 100%" (valueChange)="loadThana($event)"
|
||||
[valuePrimitive]="true" class="form-control form-control-sm input-sm"
|
||||
formControlName="district">
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtThana">Thana</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<!-- <input id="txtThana" formControlName="thana" [(ngModel)]="nominee.thanaID" type="text"
|
||||
pInputText style="width:100%" /> -->
|
||||
<kendo-dropdownlist [(ngModel)]="nominee.thanaID" [data]="thanas"
|
||||
[defaultItem]="{ name: 'Select Thana..', value: null }" [textField]="'name'" [valueField]="'id'"
|
||||
style="width: 100%" [valuePrimitive]="true" class="form-control form-control-sm input-sm"
|
||||
formControlName="thana">
|
||||
</kendo-dropdownlist>
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="txtPostOffice">Post Office</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<input id="txtPostOffice" formControlName="postOffice" [(ngModel)]="nominee.postOffice" type="text"
|
||||
pInputText style="width:100%" />
|
||||
</div>
|
||||
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<label for="fupPicture">Picture</label>
|
||||
</div>
|
||||
|
@ -190,16 +102,14 @@
|
|||
type="file">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-2" style="margin: auto;">
|
||||
<div class="p-col-12 p-md-6 p-lg-2" >
|
||||
<label for="fupSignature">Signature</label>
|
||||
</div>
|
||||
<div class="p-col-12 p-md-6 p-lg-4">
|
||||
<div class="p-col-12 p-md-6 p-lg-4" style="margin: auto;">
|
||||
<input formControlName="signaturePath" pInputText (change)="selectSignature($event)" type="file"
|
||||
style="width:100%">
|
||||
</div>
|
||||
|
||||
<div class="p-col-12 p-md-6 p-lg-6" ></div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
|
|
@ -11,12 +11,10 @@ import { HrEmployee } from '../../../../_models/HREmployee/hrEmployee';
|
|||
import { BasicService } from '../../../../_services/Basic/basic.service';
|
||||
import { forkJoin } from 'rxjs';
|
||||
import { Relation } from '../../../../_models/HRBasic/relation';
|
||||
import { District } from '../../../../_models/HRBasic/district';
|
||||
import { Thana } from '../../../../_models/HRBasic/thana';
|
||||
import { Occupation } from '../../../../_models/HRBasic/occupation';
|
||||
import { NominationPurpose } from '../../../../_models/HRBasic/nomination-purpose';
|
||||
import { loadingPanelService } from '../../../../hrm-loding panel/loding.panel.service';
|
||||
import { enumEmpFileUploadType, EnumExtension, EnumGender, EnumMaritalStatus } from '../../../../_models/enums';
|
||||
import { enumEmpFileUploadType } from '../../../../_models/enums';
|
||||
import { debug } from 'console';
|
||||
|
||||
|
||||
|
@ -32,9 +30,6 @@ export class NomineeEntryComponent implements OnInit {
|
|||
nomineeForm: FormGroup;
|
||||
public active = false;
|
||||
nominee: EmpNominee;
|
||||
genderType: any = EnumExtension.getNamesAndValues(EnumGender);
|
||||
districts: District[];
|
||||
thanas: Thana[];
|
||||
selectedPicture?: FileList;
|
||||
selectedSignature?: FileList;
|
||||
currentFile?: File;
|
||||
|
@ -43,8 +38,6 @@ export class NomineeEntryComponent implements OnInit {
|
|||
@Input()
|
||||
public set InputObject(InputObject: EmpNominee) {
|
||||
this.nominee = InputObject;
|
||||
if(this.nominee != undefined && this.nominee.districtID != null && this.nominee.districtID != 0)
|
||||
this.loadThana(this.nominee.districtID);
|
||||
}
|
||||
|
||||
constructor(public employeeService: EmployeeServices,
|
||||
|
@ -67,14 +60,12 @@ export class NomineeEntryComponent implements OnInit {
|
|||
const getRelations = this.basicService.getAllRelations();
|
||||
const getOccupations = this.basicService.getAllOccupation();
|
||||
const getNominationPurpose = this.basicService.getAllNominationPurpose();
|
||||
const getDistricts = this.basicService.getAllDistricts();
|
||||
|
||||
forkJoin([getRelations, getOccupations, getNominationPurpose, getDistricts]).subscribe(
|
||||
([resp1, resp2, resp3, resp4]) => {
|
||||
forkJoin([getRelations, getOccupations, getNominationPurpose]).subscribe(
|
||||
([resp1, resp2, resp3]) => {
|
||||
this.relations = resp1;
|
||||
this.occupations = resp2;
|
||||
this.nominationPurposes = resp3;
|
||||
this.districts = resp4;
|
||||
},
|
||||
(x) => {
|
||||
console.log(x);
|
||||
|
@ -85,19 +76,6 @@ export class NomineeEntryComponent implements OnInit {
|
|||
);
|
||||
}
|
||||
|
||||
loadThana(value: any) {
|
||||
this.basicService.getAllThanas(value).subscribe((resp) => {
|
||||
this.thanas = resp;
|
||||
},
|
||||
() => {
|
||||
|
||||
},
|
||||
() => {
|
||||
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
createForm() {
|
||||
this.nomineeForm = new FormBuilder().group({
|
||||
nominationDate: ['', Validators.required],
|
||||
|
@ -112,15 +90,6 @@ export class NomineeEntryComponent implements OnInit {
|
|||
email: [''],
|
||||
picturePath: [''],
|
||||
signaturePath: [''],
|
||||
mobile: [''],
|
||||
gender: ['', Validators.required],
|
||||
fatherName: [''],
|
||||
motherName: [''],
|
||||
spouseName: [''],
|
||||
nID: [''],
|
||||
district: [''],
|
||||
thana: [''],
|
||||
postOffice: [''],
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -187,5 +156,4 @@ export class NomineeEntryComponent implements OnInit {
|
|||
selectedFiles = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -67,12 +67,12 @@
|
|||
</ng-template>
|
||||
</kendo-grid-command-column>
|
||||
<kendo-grid-command-column title="Action" width="100">
|
||||
<ng-template kendoGridCellTemplate let-dataItem let-rowIndex="rowIndex">
|
||||
<ng-template kendoGridCellTemplate let-dataItem>
|
||||
<button
|
||||
kendoGridEditCommand
|
||||
icon="pencil"
|
||||
[primary]="true"
|
||||
(click)="editHandler(rowIndex)"
|
||||
(click)="editHandler(dataItem)"
|
||||
[style.width.%]="49"
|
||||
></button>
|
||||
<button
|
||||
|
|
|
@ -86,19 +86,9 @@ export class NomineeListComponent implements OnInit {
|
|||
this.editIndex = -1;
|
||||
this.nominee = new EmpNominee();
|
||||
this.nominee.employeeID = this.employeeService.hrEmployee.id;
|
||||
this.nominee.percentage = 100;
|
||||
let notApli = null;
|
||||
if(this.occupations != null)
|
||||
notApli = this.occupations.find(o => o.description.toUpperCase() == 'N/A');
|
||||
if (notApli != null)
|
||||
this.nominee.occupationID = notApli.id;
|
||||
let np = this.nominationPurposes.find(n => n.id == 8);
|
||||
if(this.nominationPurposes != null && np != null)
|
||||
this.nominee.nominationPurposeID = np.id;
|
||||
this.isDisplay = true;
|
||||
}
|
||||
public editHandler(rowIndex: any) {
|
||||
debugger
|
||||
this.editIndex = rowIndex;
|
||||
this.nominee = this.nominees[this.editIndex];
|
||||
this.isDisplay = true;
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
<label>Schedule Date</label>
|
||||
</div>
|
||||
<div class="p-col-6 p-md-2">
|
||||
<kendo-datepicker [(ngModel)]="selectedDate" [format]="'dd MMMM yyyy'" style="width:100%" (valueChange)="scheduleDateChange($event)" ></kendo-datepicker>
|
||||
<kendo-datepicker [(ngModel)]="selectedDate" [format]="'dd MMMM yyyy'" style="width:100%"></kendo-datepicker>
|
||||
</div>
|
||||
|
||||
<div class="p-col-6 p-md-1 label-ailgn">
|
||||
|
@ -136,6 +136,6 @@
|
|||
</div>
|
||||
<div class="p-col-10"></div>
|
||||
<div class="p-col-2" align="right">
|
||||
<button icon="save" kendoButton style="width:80%" (click)="onClickSubmit()" [disabled]="isprevious">Submit</button>
|
||||
<button icon="save" kendoButton style="width:80%" (click)="onClickSubmit()">Submit</button>
|
||||
</div>
|
||||
</div>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user