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