/* * The contents of this file are subject to the OpenMRS Public License * Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://license.openmrs.org * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and * limitations under the License. * * Copyright (C) OpenHMIS. All Rights Reserved. */ package org.openmrs.module.openhmis.cashier.web.controller; import java.util.HashMap; import java.util.Map; import org.openmrs.Concept; import org.openmrs.api.ConceptService; import org.openmrs.api.context.Context; import org.openmrs.module.openhmis.cashier.api.IPaymentModeService; import org.openmrs.module.openhmis.cashier.api.model.PaymentMode; import org.openmrs.module.openhmis.cashier.api.model.PaymentModeAttributeType; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; /** * Controller to manage the payment mode fragments. */ @Controller @RequestMapping("/module/openhmis/cashier/paymentModeFragment") public class PaymentModeFragmentController { @RequestMapping(method = RequestMethod.GET) public void paymentModeFragment(@RequestParam("uuid") String uuid, ModelMap model) { IPaymentModeService service = Context.getService(IPaymentModeService.class); PaymentMode paymentMode = service.getByUuid(uuid); ConceptService conceptService = Context.getConceptService(); Map<Integer, Concept> conceptMap = new HashMap<Integer, Concept>(); for (PaymentModeAttributeType type : paymentMode.getAttributeTypes()) { if (type.getFormat().equals("org.openmrs.Concept") && type.getForeignKey() != null) { conceptMap.put(type.getForeignKey(), conceptService.getConcept(type.getForeignKey())); } } model.addAttribute("paymentMode", paymentMode); model.addAttribute("conceptMap", conceptMap); } }