Commit 9093a79b authored by Miurangi Masakorala's avatar Miurangi Masakorala

Updated pharmacy model

parent 3598047c
......@@ -59,21 +59,22 @@ const getMedicalPlaces = async (req, res) => {
//get nearest bus station and get the distance between user given location and the bus station
const getDistanceToBusStation = async (req, res) => {
if (req.body) {
console.log("distance",req.body )
if (!req.body.latitude) return res.status(500).send("latitude is missing");
if (!req.body.longitude) return res.status(500).send("longitude is missing");
const latitude = req.body.latitude;
const longitude = req.body.longitude;
console.log("eeeee",latitude,longitude)
var config = {
method: 'get',
url: `https://maps.googleapis.com/maps/api/place/nearbysearch/json?keyword=bus station&location=${latitude},${longitude}&radius=200&type=bus station&keyword=&key=${process.env.API_KEY_SECRET}`,
url: `https://maps.googleapis.com/maps/api/place/nearbysearch/json?keyword=bus station&location=${latitude},${longitude}&radius=10000&type=bus station&keyword=&key=${process.env.API_KEY_SECRET}`,
headers: { }
};
axios(config)
.then(function (response) {
console.log("23232xcc",response.data.results)
let newlongitude = response.data.results[0].geometry.location.lat;
let newlatitude = response.data.results[0].geometry.location.lng;
console.log("Nearest Bus station latitude: ",newlatitude);
......
......@@ -112,7 +112,7 @@ def restaurant():
#Pharmacy API
def predictionPharmacy(lst):
filename = 'model/pharmacyPred.pickle'
filename = 'model/pharmacyPrediction.pickle'
with open(filename, 'rb') as file:
model = pickle.load(file)
pred_value = model.predict([lst]).tolist()
......@@ -123,13 +123,29 @@ def predictionPharmacy(lst):
def pharmacy():
pred=0
if request.method == 'POST':
Medi_Places_Count = request.json['Medi_Places_Count']
Distance_toStation = request.json['Distance_toStation']
if ( isinstance(Medi_Places_Count, int) and isinstance(Distance_toStation, int) ):
# Medi_Places_Count = request.json['Medi_Places_Count']
# Distance_toStation = request.json['Distance_toStation']
medicalPlaces = request.json['medicalPlaces']
distanceToBus = request.json['distanceToBus']
OpenHours = request.json['OpenHours']
deliver = request.json['deliver']
WhlChairEntrance = request.json['WhlChairEntrance']
WhlChairPark = request.json['WhlChairPark']
cashPay = request.json['cashPay']
cardPay = request.json['cardPay']
if ( isinstance(medicalPlaces, int) and isinstance(distanceToBus, int) ):
feature_list = []
feature_list.append(int(Medi_Places_Count))
feature_list.append(int(Distance_toStation))
feature_list.append(int(medicalPlaces))
feature_list.append(int(distanceToBus))
feature_list.append(int(OpenHours))
feature_list.append(int(deliver))
feature_list.append(int(WhlChairEntrance))
feature_list.append(int(WhlChairPark))
feature_list.append(int(cashPay))
feature_list.append(int(cardPay))
pred = predictionPharmacy(feature_list)
print(pred)
......@@ -137,7 +153,7 @@ def pharmacy():
return jsonify({'data': pred[0]})
else :
if(not isinstance(Medi_Places_Count, int)):
if(not isinstance(medicalPlaces, int)):
return jsonify({'Error': "Medical Places Count Missing !"})
else :
return jsonify({'Error': "Distance to Busstation Missing!"})
......
......@@ -85,15 +85,22 @@ export default function InputDetails() {
"longitude": businessDetails.value[0].longitude
}
API.post('pharmacy/medicalPlaces', body).then(function (medicalPlacesCountResult) {
API.post('pharmacy/medicalPlaces', body).then((medicalPlacesCountResult) =>{
const medicalPlacesCount = medicalPlacesCountResult.data.MediPlacesCount;
let medicalPlacesCount = medicalPlacesCountResult.data.MediPlacesCount;
console.log("med count",medicalPlacesCount);
API.post('pharmacy/distanceToBStation', body).then(function (distanceToBusStationResult) {
API.post('pharmacy/distanceToBStation', body).then((distanceToBusStationResult)=> {
console.log("inside distance to bus")
let busStationDistance = distanceToBusStationResult.data.distance;
const busStationDistance = distanceToBusStationResult.data.distance;
console.log("bus distance",busStationDistance);
if(distanceToBusStationResult.data.distance === "undefined"){
busStationDistance = "200";
}else{
busStationDistance = distanceToBusStationResult.data.distance;
}
//console.log("bus distance",busStationDistance);
let pharmacyObj = {
"medicalPlaces": medicalPlacesCount,
......@@ -106,14 +113,19 @@ export default function InputDetails() {
"cardPay": businessDetails.value[0].serviceDetails.card ? 1 : 0,
}
axios.post('https://businesspredictor.herokuapp.com/pharmacy', pharmacyObj)
let pharmacyLocationFeatures = {
medicalPlacesCount : medicalPlacesCount,
busStationDistance : busStationDistance
}
axios.post('http://127.0.0.1:5000/pharmacy', pharmacyObj)
.then(function (ML_Result) {
console.log("Result Ml part ", ML_Result);
// dispatch(addBusiness({
// ...businessDetails.value[0], locationFeatures: locationFeatures, businessCount: BusinessCount, ml_result: ML_Result.data.data
// }))
console.log("Result Ml part ",ML_Result);
dispatch(addBusiness({
...businessDetails.value[0], pharmacyLocationFeatures: pharmacyLocationFeatures, ml_result: ML_Result.data.data
}))
navigate(`/result`)
handleClose()
//handleClose()
}).catch(function (error) {
return error;
});
......
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