Comment out cost related code

task-fixes
osh 1 year ago
parent 0abf955fe0
commit 6fd84dcbef

@ -248,7 +248,7 @@ public class DeviceManagementAdminServiceImpl implements DeviceManagementAdminSe
devices.setList((List<Device>) result.getData()); devices.setList((List<Device>) result.getData());
devices.setDeviceCount(result.getTotalDeviceCount()); devices.setDeviceCount(result.getTotalDeviceCount());
devices.setMessage(result.getMessage()); devices.setMessage(result.getMessage());
devices.setTotalCost(result.getTotalCost()); // devices.setTotalCost(result.getTotalCost());
devices.setBillPeriod(startDate.toString() + " - " + endDate.toString()); devices.setBillPeriod(startDate.toString() + " - " + endDate.toString());
return Response.status(Response.Status.OK).entity(devices).build(); return Response.status(Response.Status.OK).entity(devices).build();
} }

@ -1034,26 +1034,27 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
* @return Whether status is changed or not * @return Whether status is changed or not
* @throws DeviceManagementException on errors while trying to calculate Cost * @throws DeviceManagementException on errors while trying to calculate Cost
*/ */
public BillingResponse calculateCost(String tenantDomain, Timestamp startDate, Timestamp endDate, List<Device> allDevices) throws MetadataManagementDAOException, DeviceManagementException { public BillingResponse calculateUsage(String tenantDomain, Timestamp startDate, Timestamp endDate, List<Device> allDevices) throws MetadataManagementDAOException, DeviceManagementException {
// All code related to cost calculation has being commented out to comply with the current requirements
BillingResponse billingResponse = new BillingResponse(); BillingResponse billingResponse = new BillingResponse();
List<Device> deviceStatusNotAvailable = new ArrayList<>(); List<Device> deviceStatusNotAvailable = new ArrayList<>();
double totalCost = 0.0; // double totalCost = 0.0;
try { try {
MetadataManagementService meta = DeviceManagementDataHolder // MetadataManagementService meta = DeviceManagementDataHolder
.getInstance().getMetadataManagementService(); // .getInstance().getMetadataManagementService();
Metadata metadata = meta.retrieveMetadata(DeviceManagementConstants.META_KEY); // Metadata metadata = meta.retrieveMetadata(DeviceManagementConstants.META_KEY);
//
Gson g = new Gson(); // Gson g = new Gson();
Collection<Cost> costData = null; // Collection<Cost> costData = null;
//
Type collectionType = new TypeToken<Collection<Cost>>() { // Type collectionType = new TypeToken<Collection<Cost>>() {
}.getType(); // }.getType();
if (metadata != null) { // if (metadata != null) {
costData = g.fromJson(metadata.getMetaValue(), collectionType); // costData = g.fromJson(metadata.getMetaValue(), collectionType);
for (Cost tenantCost : costData) { // for (Cost tenantCost : costData) {
if (tenantCost.getTenantDomain().equals(tenantDomain)) { // if (tenantCost.getTenantDomain().equals(tenantDomain)) {
for (Device device : allDevices) { for (Device device : allDevices) {
long dateDiff = 0; long dateDiff = 0;
device.setDeviceStatusInfo(getDeviceStatusHistory(device, null, endDate, true)); device.setDeviceStatusInfo(getDeviceStatusHistory(device, null, endDate, true));
@ -1088,9 +1089,9 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
} }
long dateInDays = (long) dateDiffInDays; long dateInDays = (long) dateDiffInDays;
double cost = (tenantCost.getCost() / 365) * dateInDays; // double cost = (tenantCost.getCost() / 365) * dateInDays;
totalCost += cost; // totalCost += cost;
device.setCost(Math.round(cost * 100.0) / 100.0); // device.setCost(Math.round(cost * 100.0) / 100.0);
long totalDays = dateInDays + device.getDaysUsed(); long totalDays = dateInDays + device.getDaysUsed();
device.setDaysUsed((int) totalDays); device.setDaysUsed((int) totalDays);
if (deviceStatus.isEmpty()) { if (deviceStatus.isEmpty()) {
@ -1098,17 +1099,13 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
} }
} }
} // }
} // }
} // }
} catch (DeviceManagementException e) { } catch (DeviceManagementException e) {
String msg = "Error occurred calculating cost of devices"; String msg = "Error occurred calculating cost of devices";
log.error(msg, e); log.error(msg, e);
throw new DeviceManagementException(msg, e); throw new DeviceManagementException(msg, e);
} catch (MetadataManagementException e) {
String msg = "Error when retrieving metadata of billing feature";
log.error(msg, e);
throw new DeviceManagementException(msg, e);
} }
if (!deviceStatusNotAvailable.isEmpty()) { if (!deviceStatusNotAvailable.isEmpty()) {
@ -1125,7 +1122,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
billingResponse.setStartDate(startDate.toString()); billingResponse.setStartDate(startDate.toString());
billingResponse.setEndDate(endDate.toString()); billingResponse.setEndDate(endDate.toString());
billingResponse.setBillPeriod(calStart.get(Calendar.YEAR) + " - " + calEnd.get(Calendar.YEAR)); billingResponse.setBillPeriod(calStart.get(Calendar.YEAR) + " - " + calEnd.get(Calendar.YEAR));
billingResponse.setTotalCostPerYear(Math.round(totalCost * 100.0) / 100.0); // billingResponse.setTotalCostPerYear(Math.round(totalCost * 100.0) / 100.0);
billingResponse.setDeviceCount(allDevices.size()); billingResponse.setDeviceCount(allDevices.size());
return billingResponse; return billingResponse;
@ -1134,6 +1131,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
@Override @Override
public PaginationResult createBillingFile(int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException { public PaginationResult createBillingFile(int tenantId, String tenantDomain, Timestamp startDate, Timestamp endDate) throws DeviceManagementException {
// All code related to cost calculation has being commented out to comply with the current requirements
PaginationResult paginationResult = new PaginationResult(); PaginationResult paginationResult = new PaginationResult();
List<Device> allDevices = new ArrayList<>(); List<Device> allDevices = new ArrayList<>();
List<BillingResponse> billingResponseList = new ArrayList<>(); List<BillingResponse> billingResponseList = new ArrayList<>();
@ -1192,10 +1190,10 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
// The query returns devices which are enrolled prior this year now in removed state // The query returns devices which are enrolled prior this year now in removed state
allDevicesPerYear.addAll(deviceDAO.getRemovedPriorYearsDeviceList(tenantId, newStartDate, newEndDate)); allDevicesPerYear.addAll(deviceDAO.getRemovedPriorYearsDeviceList(tenantId, newStartDate, newEndDate));
BillingResponse billingResponse = calculateCost(tenantDomain, newStartDate, newEndDate, allDevicesPerYear); BillingResponse billingResponse = calculateUsage(tenantDomain, newStartDate, newEndDate, allDevicesPerYear);
billingResponseList.add(billingResponse); billingResponseList.add(billingResponse);
allDevices.addAll(billingResponse.getDevice()); allDevices.addAll(billingResponse.getDevice());
totalCost = totalCost + billingResponse.getTotalCostPerYear(); // totalCost = totalCost + billingResponse.getTotalCostPerYear();
deviceCount = deviceCount + billingResponse.getDeviceCount(); deviceCount = deviceCount + billingResponse.getDeviceCount();
LocalDateTime nextStartDate = oneYearAfterStart.plusDays(1).with(LocalTime.of(00, 00, 00)); LocalDateTime nextStartDate = oneYearAfterStart.plusDays(1).with(LocalTime.of(00, 00, 00));
startDate = Timestamp.valueOf(nextStartDate); startDate = Timestamp.valueOf(nextStartDate);
@ -1216,10 +1214,10 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
// The query returns devices which are enrolled prior this year now in removed state // The query returns devices which are enrolled prior this year now in removed state
allDevicesPerRemainingDays.addAll(deviceDAO.getRemovedPriorYearsDeviceList(tenantId, startDate, endDate)); allDevicesPerRemainingDays.addAll(deviceDAO.getRemovedPriorYearsDeviceList(tenantId, startDate, endDate));
BillingResponse billingResponse = calculateCost(tenantDomain, startDate, endDate, allDevicesPerRemainingDays); BillingResponse billingResponse = calculateUsage(tenantDomain, startDate, endDate, allDevicesPerRemainingDays);
billingResponseList.add(billingResponse); billingResponseList.add(billingResponse);
allDevices.addAll(billingResponse.getDevice()); allDevices.addAll(billingResponse.getDevice());
totalCost = totalCost + billingResponse.getTotalCostPerYear(); // totalCost = totalCost + billingResponse.getTotalCostPerYear();
deviceCount = deviceCount + billingResponse.getDeviceCount(); deviceCount = deviceCount + billingResponse.getDeviceCount();
} }
@ -1231,7 +1229,7 @@ public class DeviceManagementProviderServiceImpl implements DeviceManagementProv
BillingResponse billingResponse = new BillingResponse("all", Math.round(totalCost * 100.0) / 100.0, allDevices, calStart.get(Calendar.YEAR) + " - " + calEnd.get(Calendar.YEAR), initialStartDate.toString(), endDate.toString(), allDevices.size()); BillingResponse billingResponse = new BillingResponse("all", Math.round(totalCost * 100.0) / 100.0, allDevices, calStart.get(Calendar.YEAR) + " - " + calEnd.get(Calendar.YEAR), initialStartDate.toString(), endDate.toString(), allDevices.size());
billingResponseList.add(billingResponse); billingResponseList.add(billingResponse);
paginationResult.setData(billingResponseList); paginationResult.setData(billingResponseList);
paginationResult.setTotalCost(Math.round(totalCost * 100.0) / 100.0); // paginationResult.setTotalCost(Math.round(totalCost * 100.0) / 100.0);
paginationResult.setTotalDeviceCount(deviceCount); paginationResult.setTotalDeviceCount(deviceCount);
BillingCacheManagerImpl.getInstance().addBillingToCache(paginationResult, tenantDomain, initialStartDate, endDate); BillingCacheManagerImpl.getInstance().addBillingToCache(paginationResult, tenantDomain, initialStartDate, endDate);
return paginationResult; return paginationResult;

Loading…
Cancel
Save