Commit cc43ba84 authored by Vijay Akula's avatar Vijay Akula

Removed the dependencies of resources and billing in all classes

parent e3d77a40
package com.nisum.myteam.model.dao; //package com.nisum.myteam.model.dao;
//
import java.io.Serializable; //import java.io.Serializable;
import java.util.Date; //import java.util.Date;
//
import com.nisum.myteam.model.AuditFields; //import com.nisum.myteam.model.AuditFields;
import org.bson.types.ObjectId; //import org.bson.types.ObjectId;
import org.springframework.data.annotation.Id; //import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document; //import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.format.annotation.DateTimeFormat; //import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.format.annotation.DateTimeFormat.ISO; //import org.springframework.format.annotation.DateTimeFormat.ISO;
//
import lombok.AllArgsConstructor; //import lombok.AllArgsConstructor;
import lombok.Getter; //import lombok.Getter;
import lombok.NoArgsConstructor; //import lombok.NoArgsConstructor;
import lombok.Setter; //import lombok.Setter;
import lombok.ToString; //import lombok.ToString;
//
@Setter //@Setter
@Getter //@Getter
@AllArgsConstructor //@AllArgsConstructor
@NoArgsConstructor //@NoArgsConstructor
@ToString //@ToString
@Document(collection = "billing") //@Document(collection = "billing")
public class Billing extends AuditFields implements Serializable { //public class Billing extends AuditFields implements Serializable {
//
public Date getBillingEndDate() { // public Date getBillingEndDate() {
return billingEndDate; // return billingEndDate;
} // }
//
private static final long serialVersionUID = 1L; // private static final long serialVersionUID = 1L;
//
@Id // @Id
private ObjectId id; // private ObjectId id;
private String employeeId; // private String employeeId;
private String employeeName; // private String employeeName;
private String account; // private String account;
private String projectId; // private String projectId;
private String projectName; // private String projectName;
private String billableStatus; // private String billableStatus;
@DateTimeFormat(iso = ISO.DATE) // @DateTimeFormat(iso = ISO.DATE)
private Date billingStartDate; // private Date billingStartDate;
@DateTimeFormat(iso = ISO.DATE) // @DateTimeFormat(iso = ISO.DATE)
private Date billingEndDate; // private Date billingEndDate;
private String comments; // private String comments;
private boolean active; // private boolean active;
// @DateTimeFormat(pattern = "dd-MM-yyyy") // // @DateTimeFormat(pattern = "dd-MM-yyyy")
// private Date createDate; // // private Date createDate;
//
} //}
package com.nisum.myteam.repository; //package com.nisum.myteam.repository;
//
import java.util.List; //import java.util.List;
//
import org.bson.types.ObjectId; //import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository; //import org.springframework.data.mongodb.repository.MongoRepository;
//
import com.nisum.myteam.model.dao.Billing; //import com.nisum.myteam.model.dao.Billing;
//
public interface BillingRepo extends MongoRepository<Billing, String> { //public interface BillingRepo extends MongoRepository<Billing, String> {
//
List<Billing> findByProjectId(String projectId); // List<Billing> findByProjectId(String projectId);
//
List<Billing> findByEmployeeId(String employeeId); // List<Billing> findByEmployeeId(String employeeId);
//
Billing findById(ObjectId id); // Billing findById(ObjectId id);
//
List<Billing> findByEmployeeIdAndProjectId(String employeeId, String projectId); // List<Billing> findByEmployeeIdAndProjectId(String employeeId, String projectId);
//
} //}
package com.nisum.myteam.repository; //package com.nisum.myteam.repository;
//
import java.util.List; //import java.util.List;
import java.util.Optional; //import java.util.Optional;
//
import org.bson.types.ObjectId; //import org.bson.types.ObjectId;
import org.springframework.data.mongodb.repository.MongoRepository; //import org.springframework.data.mongodb.repository.MongoRepository;
//
import com.nisum.myteam.model.dao.Resource; //import com.nisum.myteam.model.dao.Resource;
//
public interface ResourceRepo //public interface ResourceRepo
extends MongoRepository<Resource, String> { // extends MongoRepository<Resource, String> {
//
List<Resource> findByProjectId(String projectId); // List<Resource> findByProjectId(String projectId);
//
List<Resource> findByEmployeeId(String employeeId); // List<Resource> findByEmployeeId(String employeeId);
//
Resource findById(ObjectId id); // Resource findById(ObjectId id);
//
Resource findByEmployeeIdAndProjectId(String employeeId,String projectId); // Resource findByEmployeeIdAndProjectId(String employeeId,String projectId);
//
List<Resource> findByEmployeeIdAndActive(String employeeId,boolean status); // List<Resource> findByEmployeeIdAndActive(String employeeId,boolean status);
//
List<Resource> findByEmployeeIdAndProjectIdAndActive(String employeeId, String projectId, boolean status); // List<Resource> findByEmployeeIdAndProjectIdAndActive(String employeeId, String projectId, boolean status);
//
List<Resource> findByAccountAndActiveAndBillableStatus( String account, boolean status, String billableStatus); // List<Resource> findByAccountAndActiveAndBillableStatus( String account, boolean status, String billableStatus);
//
Optional<List<Resource>> findByActiveAndShiftLikeOrderByEmployeeIdDesc( boolean active, String shift); // Optional<List<Resource>> findByActiveAndShiftLikeOrderByEmployeeIdDesc( boolean active, String shift);
} //}
package com.nisum.myteam.service; //package com.nisum.myteam.service;
//
import java.util.List; //import java.util.List;
//
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
//
import com.nisum.myteam.model.dao.Billing; //import com.nisum.myteam.model.dao.Billing;
import com.nisum.myteam.model.dao.Employee; //import com.nisum.myteam.model.dao.Employee;
//
@Service //@Service
public interface IBillingService { //public interface IBillingService {
//
Billing addBilling(Billing billingDetails, String loginEmpId); // Billing addBilling(Billing billingDetails, String loginEmpId);
//
Billing updateBilling(Billing billingDetails, String loginEmpId); // Billing updateBilling(Billing billingDetails, String loginEmpId);
//
void deleteBilling(Billing teamMate); // void deleteBilling(Billing teamMate);
//
Billing addBillingtoResource(Billing billing, Employee employee, String loginEmpId); // Billing addBillingtoResource(Billing billing, Employee employee, String loginEmpId);
//
List<Billing> getBillingsForEmployee(String empId); // List<Billing> getBillingsForEmployee(String empId);
//
List<Billing> getActiveBillings(String empId, String projectId); // List<Billing> getActiveBillings(String empId, String projectId);
//
List<Billing> getBillingsForProject(String empId, String projectId); // List<Billing> getBillingsForProject(String empId, String projectId);
//
} //}
package com.nisum.myteam.service; //package com.nisum.myteam.service;
//
import com.nisum.myteam.exception.handler.MyTeamException; //import com.nisum.myteam.exception.handler.MyTeamException;
import com.nisum.myteam.model.dao.Employee; //import com.nisum.myteam.model.dao.Employee;
import com.nisum.myteam.model.dao.Resource; //import com.nisum.myteam.model.dao.Resource;
import org.bson.types.ObjectId; //import org.bson.types.ObjectId;
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
//
import java.util.HashMap; //import java.util.HashMap;
import java.util.List; //import java.util.List;
//
@Service //@Service
public interface IResourceService { //public interface IResourceService {
//
// Resource addResource(Resource projectTeamMate, String loginEmpId) throws MyTeamException; // Resource addResource(Resource projectTeamMate, String loginEmpId) throws MyTeamException;
// //
// String updateResource(Resource projectTeamMate, String loginEmpId) throws MyTeamException; // String updateResource(Resource projectTeamMate, String loginEmpId) throws MyTeamException;
...@@ -43,6 +43,6 @@ public interface IResourceService { ...@@ -43,6 +43,6 @@ public interface IResourceService {
// public List<Resource> getResourcesUnderDeliveryLead(String empId); // public List<Resource> getResourcesUnderDeliveryLead(String empId);
// //
// public HashMap<String, Object> verifyResourceAssignedToAnyProject(Resource projectTeamMate, String loginEmpId) throws MyTeamException; // public HashMap<String, Object> verifyResourceAssignedToAnyProject(Resource projectTeamMate, String loginEmpId) throws MyTeamException;
//
//
} //}
...@@ -5,7 +5,6 @@ import com.nisum.myteam.exception.handler.MyTeamException; ...@@ -5,7 +5,6 @@ import com.nisum.myteam.exception.handler.MyTeamException;
import com.nisum.myteam.model.AttendenceData; import com.nisum.myteam.model.AttendenceData;
import com.nisum.myteam.model.dao.EmpLoginData; import com.nisum.myteam.model.dao.EmpLoginData;
import com.nisum.myteam.model.dao.Employee; import com.nisum.myteam.model.dao.Employee;
import com.nisum.myteam.repository.ResourceRepo;
import com.nisum.myteam.service.IAttendanceService; import com.nisum.myteam.service.IAttendanceService;
import com.nisum.myteam.service.IEmployeeService; import com.nisum.myteam.service.IEmployeeService;
import com.nisum.myteam.utils.CommomUtil; import com.nisum.myteam.utils.CommomUtil;
...@@ -33,9 +32,6 @@ public class AttendanceService implements IAttendanceService { ...@@ -33,9 +32,6 @@ public class AttendanceService implements IAttendanceService {
@Autowired @Autowired
DbConnection dbConnection; DbConnection dbConnection;
@Autowired
ResourceRepo projectTeamMatesRepo;
@Autowired @Autowired
private PdfReportGenerator pdfReportGenerator; private PdfReportGenerator pdfReportGenerator;
......
package com.nisum.myteam.service.impl; //package com.nisum.myteam.service.impl;
//
import java.util.Comparator; //import java.util.Comparator;
import java.util.List; //import java.util.List;
import java.util.stream.Collectors; //import java.util.stream.Collectors;
//
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; //import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; //import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; //import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; //import org.springframework.stereotype.Service;
//
import com.nisum.myteam.model.dao.Billing; //import com.nisum.myteam.model.dao.Billing;
import com.nisum.myteam.model.dao.Employee; //import com.nisum.myteam.model.dao.Employee;
import com.nisum.myteam.repository.BillingRepo; //import com.nisum.myteam.repository.BillingRepo;
import com.nisum.myteam.service.IBillingService; //import com.nisum.myteam.service.IBillingService;
import com.nisum.myteam.utils.MyTeamUtils; //import com.nisum.myteam.utils.MyTeamUtils;
//
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
//
@Service //@Service
@Slf4j //@Slf4j
public class BillingService implements IBillingService { //public class BillingService implements IBillingService {
//
@Autowired // @Autowired
private BillingRepo billingRepo; // private BillingRepo billingRepo;
//
@Autowired // @Autowired
private MongoTemplate mongoTemplate; // private MongoTemplate mongoTemplate;
//
@Override // @Override
public Billing addBilling(Billing billing, String loginEmpId) { // public Billing addBilling(Billing billing, String loginEmpId) {
billing.setAuditFields(loginEmpId, MyTeamUtils.CREATE); // billing.setAuditFields(loginEmpId, MyTeamUtils.CREATE);
return billingRepo.save(billing); // return billingRepo.save(billing);
} // }
//
@Override // @Override
public Billing updateBilling(Billing billing, String loginEmpId) { // public Billing updateBilling(Billing billing, String loginEmpId) {
billing.setAuditFields(loginEmpId, MyTeamUtils.UPDATE); // billing.setAuditFields(loginEmpId, MyTeamUtils.UPDATE);
return billingRepo.save(billing); // return billingRepo.save(billing);
} // }
//
@Override // @Override
public void deleteBilling(Billing billing) { // public void deleteBilling(Billing billing) {
billingRepo.delete(billing); // billingRepo.delete(billing);
} // }
//
@Override // @Override
public List<Billing> getBillingsForProject(String empId, String projectId) { // public List<Billing> getBillingsForProject(String empId, String projectId) {
List<Billing> billingsList = billingRepo.findByEmployeeIdAndProjectId(empId, projectId); // List<Billing> billingsList = billingRepo.findByEmployeeIdAndProjectId(empId, projectId);
//
if (billingsList == null || billingsList.size() == 0) { // if (billingsList == null || billingsList.size() == 0) {
return billingsList; // return billingsList;
} else { // } else {
//return billingsList.stream().sorted(Comparator.comparing(Billing::getCreatedOn).reversed()).collect(Collectors.toList()); // //return billingsList.stream().sorted(Comparator.comparing(Billing::getCreatedOn).reversed()).collect(Collectors.toList());
return billingsList.stream().sorted(Comparator.comparing(Billing::getBillingStartDate).reversed()).collect(Collectors.toList()); // return billingsList.stream().sorted(Comparator.comparing(Billing::getBillingStartDate).reversed()).collect(Collectors.toList());
} // }
//
} // }
//
@Override // @Override
public List<Billing> getBillingsForEmployee(String empId) { // public List<Billing> getBillingsForEmployee(String empId) {
List<Billing> billingsList = billingRepo.findByEmployeeId(empId); // List<Billing> billingsList = billingRepo.findByEmployeeId(empId);
if (billingsList == null || billingsList.size() == 0) { // if (billingsList == null || billingsList.size() == 0) {
return billingsList; // return billingsList;
} else { // } else {
log.info("The billing list before sorting::"+billingsList); // log.info("The billing list before sorting::"+billingsList);
//return billingsList.stream().sorted(Comparator.comparing(Billing::getCreatedOn).reversed()).collect(Collectors.toList()); // //return billingsList.stream().sorted(Comparator.comparing(Billing::getCreatedOn).reversed()).collect(Collectors.toList());
return billingsList.stream().sorted(Comparator.comparing(Billing::getBillingStartDate).reversed()).collect(Collectors.toList()); // return billingsList.stream().sorted(Comparator.comparing(Billing::getBillingStartDate).reversed()).collect(Collectors.toList());
//
} // }
} // }
//
@Override // @Override
public List<Billing> getActiveBillings(String empId, String projectId) { // public List<Billing> getActiveBillings(String empId, String projectId) {
Query query = new Query(); // Query query = new Query();
query.addCriteria(Criteria.where("active").is(new Boolean(true))); // query.addCriteria(Criteria.where("active").is(new Boolean(true)));
query.addCriteria(Criteria.where("employeeId").is(empId)); // query.addCriteria(Criteria.where("employeeId").is(empId));
query.addCriteria(Criteria.where("projectId").is(projectId)); // query.addCriteria(Criteria.where("projectId").is(projectId));
//
List<Billing> billingList = mongoTemplate.find(query, Billing.class); // List<Billing> billingList = mongoTemplate.find(query, Billing.class);
//
if (billingList == null || billingList.size() == 0) { // if (billingList == null || billingList.size() == 0) {
return billingList; // return billingList;
} else { // } else {
return billingList.stream().sorted(Comparator.comparing(Billing::getBillingStartDate).reversed()) // return billingList.stream().sorted(Comparator.comparing(Billing::getBillingStartDate).reversed())
.collect(Collectors.toList()); // .collect(Collectors.toList());
} // }
//
} // }
//
public Billing addBillingtoResource(Billing billing, Employee employee, String loginEmpId) { // public Billing addBillingtoResource(Billing billing, Employee employee, String loginEmpId) {
//
billing.setBillingEndDate(employee.getEndDate()); // billing.setBillingEndDate(employee.getEndDate());
billing.setActive(false); // billing.setActive(false);
billing.setAuditFields(loginEmpId, MyTeamUtils.UPDATE); // billing.setAuditFields(loginEmpId, MyTeamUtils.UPDATE);
return billingRepo.save(billing); // return billingRepo.save(billing);
} // }
//
} //}
package com.nisum.myteam.statuscodes;
public class BillingStatus {
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment