def get(self): result = "" mine_info = "" response_message = "" try: permit_no = request.args.get('a_PermitNumber') permit_prefix = permit_no.split("-")[0] type_of_deemed_auth = request.args.get('a_TypeofDeemedAuth') permits = Permit.find_by_permit_no_all(permit_no) for permit in permits: mine = Mine.find_by_mine_guid(str(permit.mine_guid)) # Mine must be operating. if not mine.mine_status or mine.mine_status[ 0].mine_status_xref.mine_operation_status_code != "OP": break # IP SURVEYS (Induced): Valid MMS mine types: 'CX','ES','EU' # There may be need of a check against mine_tenure_type_code IN ["MIN", "COL"] and mine_disturbance_code IN ["SUR", "UND"] # but this data is inconsistant for now. if type_of_deemed_auth == "INDUCED" and permit_prefix not in [ "CX", "MX" ]: break # DRILL PROGRAM (Drill): Valid MMS mine types: 'CS','CU','MS','MU','IS','IU' if type_of_deemed_auth != "INDUCED" and permit_prefix not in [ "C", "M" ]: break mine_info = mine_info + mine.mine_no + ' - ' + mine.mine_name + '\r\c' if mine_info != "": result = "Success" else: result = "Failure" response_message = "NoValidMinesForPermit" except Exception as e: current_app.logger.error(str(e)) result = "Failure" mine_info = "" response_message = "Unhandled Exception" return { "a_Result": result, "a_MineInfo": mine_info, "a_ResponseMessage": response_message, "a_Timestamp": datetime.utcnow() }
def get(self): result = "" now_info = "" response_message = "" try: permit_no = request.args.get('a_PermitNumber') permit_prefix = permit_no.split("-")[0] permits = Permit.find_by_permit_no_all(permit_no) for permit in permits: mine = Mine.find_by_mine_guid(str(permit.mine_guid)) # Mine must be operating. if not mine.mine_status or mine.mine_status[ 0].mine_status_xref.mine_operation_status_code != "OP": break if permit_prefix not in ["CX", "MX"]: break for permit_amendment in permit.permit_amendments: if (permit_amendment.authorization_end_date - datetime.utcnow().date()).days > 30: #only want permits that expire 30 days or further in the future if permit_amendment.now_identity: now_info = now_info + str( permit_amendment.now_identity.now_number ) + " - " + str( permit_amendment.authorization_end_date) + '\r' else: now_info = now_info + " - " + str( permit_amendment.authorization_end_date) + '\r' break if now_info != "": result = "Success" else: result = "Failure" response_message = "NoValidNowsForPermit" except Exception as e: current_app.logger.error(str(e)) result = "Failure" now_info = "" response_message = "Unhandled Exception" return { "a_Result": result, "a_NoWInfo": now_info, "a_ResponseMessage": response_message, "a_Timestamp": datetime.utcnow() }