コード例 #1
0
ファイル: firm.py プロジェクト: deepigarg/honour
def winsLoses(FirmID):
    '''FIRM: Look at total wins and loses'''
    query = "SELECT COUNT(*) as 'Wins' from Closed_Cases where WonID_Lawyer in (SELECT ID from Lawyers where FirmID = %s)"
    param = (FirmID, )
    wins = selectWrapper(query, param)

    if (wins['res'] == 'failed'):
        return wins
    else:
        n_wins = wins['arr'][0]

    query = "SELECT COUNT(*) as 'Loses' from Closed_Cases where WonID_Lawyer NOT IN (SELECT ID from Lawyers where FirmID = %s) AND (Victim_LawyerID IN (SELECT ID from Lawyers where FirmID = %s) OR Accused_LawyerID IN (SELECT ID from Lawyers where FirmID = %s))"
    param = (
        FirmID,
        FirmID,
        FirmID,
    )
    loses = selectWrapper(query, param)

    if (loses['res'] == 'failed'):
        return loses
    else:
        n_loses = loses['arr'][0]

    return {
        'res':
        'success',
        'arr': [{
            'FirmID': FirmID,
            'Wins': n_wins['Wins'],
            'Loses': n_loses['Loses']
        }]
    }
コード例 #2
0
ファイル: firm.py プロジェクト: deepigarg/honour
def lawyerPerformance(LawyerID):
    '''FIRM: Look at lawyer's performance'''
    query = "SELECT COUNT(*) as 'wins' from Closed_Cases where WonID_Lawyer = %s"
    param = (LawyerID, )
    wins = selectWrapper(query, param)
    if (wins['res'] == 'failed'):
        return wins
    else:
        n_wins = wins['arr'][0]

    query = "SELECT COUNT(*) as 'loses' from Closed_Cases where (Accused_LawyerID = %s OR Victim_LawyerID = %s) AND NOT WonID_Lawyer = %s"
    param = (
        LawyerID,
        LawyerID,
        LawyerID,
    )
    loses = selectWrapper(query, param)
    if (loses['res'] == 'failed'):
        return loses
    else:
        n_loses = loses['arr'][0]
    return {
        'res':
        'success',
        'arr': [{
            'LawyerID': LawyerID,
            'wins': n_wins['wins'],
            'loses': n_loses['loses']
        }]
    }
コード例 #3
0
def acceptCase(FilingNo, FirstHearing, CourtNo, JudgeID):
	'''JUDGE: Accept a pending case'''

	query = "SELECT * from Pending_Cases where is_Verified = 1 AND FilingNo = %s"
	param = (FilingNo,)
	res = selectWrapper(query, param)

	if(res['res'] == 'failed' or len(res['arr'])==0):
		return {'res': 'failed', 'type': 'some error occured please recheck param values.'}

	data = res['arr'][0]

	#delete from pending cases
	query = "SET FOREIGN_KEY_CHECKS = OFF"
	param = tuple()
	res = insertUpdateDeleteWrapper(query, param)

	query = "DELETE from Pending_Cases where FilingNo=%s"
	param = (FilingNo,)
	result =  insertUpdateDeleteWrapper(query, param)
	
	query = "SET FOREIGN_KEY_CHECKS = ON"
	param = tuple()
	res = insertUpdateDeleteWrapper(query, param)

	if(result['res'] == 'failed'):
		return result

	#add to active cases
	query = "INSERT into Active_Cases(FilingNo, FilingDate, FirstHearing, NextHearing, CourtNo, JudgeID, VictimID, AccusedID) VALUES(%s,%s,%s,%s,%s,%s,%s,%s)"
	param = (FilingNo, data['FilingDate'], FirstHearing, FirstHearing, CourtNo, JudgeID, data['VictimID'], data['AccusedID'])
	result = insertUpdateDeleteWrapper(query, param)

	if(result['res'] == 'failed'):
		return result

	#add to lawyer client
	query = "SELECT CNRno from Active_Cases where FilingNo = %s"
	param = (FilingNo,)
	result = selectWrapper(query, param)

	if(result['res'] == 'failed'):
		return result

	res = result['arr'][0]
	CNR = res['CNRno']

	query = "INSERT into Lawyer_Client(LawyerID, ClientID, CNRno, Side) VALUES(%s,%s,%s,0)"
	param = (data['Victim_LawyerID'], data['VictimID'], CNR)
	result = insertUpdateDeleteWrapper(query, param)

	if(result['res'] == 'failed'):
		return result

	if(data['Type'] == 1):
		query = "INSERT into Lawyer_Client(LawyerID, ClientID, CNRno, Side) VALUES(%s,%s,%s,1)"
		param = (data['Accused_LawyerID'], data['AccusedID'], CNR)
		result = insertUpdateDeleteWrapper(query, param)

	return result
コード例 #4
0
def getCasesDetails(CNRno):
    '''STUDENT: Get case documents and fir'''
    query = "SELECT * FROM Closed_Cases WHERE CNRno = %s"
    param = (CNRno, )

    res = selectWrapper(query, param)

    if (res['res'] == 'failed' or len(res['arr']) == 0):
        return res

    data = res['arr'][0]
    query = "SELECT * FROM Documents WHERE FilingNo = %s"
    param = (data['FilingNo'], )

    doc = selectWrapper(query, param)

    if (doc['res'] == 'failed'):
        return doc

    res['doc'] = doc['arr']

    if (data['AccusedID']):
        query = "SELECT * FROM FIR WHERE FilingNo = %s"
        param = (data['FilingNo'], )

        fir = selectWrapper(query, param)

        if (fir['res'] == 'failed'):
            return fir

        res['fir'] = fir['arr']

    return res
コード例 #5
0
ファイル: officer.py プロジェクト: deepigarg/honour
def schedule():
    '''OFFICER: Check Schedule'''
    curr_start = datetime.now().strftime('%Y-%m-%d') + ' 00:00:00'
    curr_end = datetime.now().strftime('%Y-%m-%d') + ' 23:59:59'
    query = "SELECT * from Active_Cases WHERE NextHearing BETWEEN %s AND %s"
    param = tuple([curr_start, curr_end])
    return selectWrapper(query, param)
コード例 #6
0
ファイル: firm.py プロジェクト: deepigarg/honour
def appointLawyer(FirmID, ClientID, Status, LawyerID=""):
    '''FIRM: Appoint a lawyer to a client'''
    query = "UPDATE Firm_Request SET Status = %s where FirmID = %s and ClientID = %s"
    param = (
        Status,
        FirmID,
        ClientID,
    )
    result = insertUpdateDeleteWrapper(query, param)
    if (Status == 2):
        return result
    else:
        query = "SELECT * from Firm_Request where FirmID = %s and ClientID = %s"
        param = (
            FirmID,
            ClientID,
        )
        res = selectWrapper(query, param)
        if (res['res'] == 'failed'):
            return res
        else:
            values = res['arr'][0]
            query = "INSERT into Lawyer_Request(ClientID, LawyerID, FilingNo, Client_Note, Quotation, Status) VALUES(%s,%s,%s,%s,%s,0)"
            param = (
                ClientID,
                LawyerID,
                values['FilingNo'],
                values['Client_Note'],
                values['Quotation'],
            )
            return insertUpdateDeleteWrapper(query, param)
コード例 #7
0
def schedule(JudgeID):
	'''JUDGE: See Schedule for the day'''
	curr_start = datetime.now().strftime('%Y-%m-%d') + ' 00:00:00'
	curr_end = datetime.now().strftime('%Y-%m-%d') + ' 23:59:59'
	query = 'SELECT * from Active_Cases WHERE NextHearing BETWEEN %s AND %s AND JudgeID = %s'
	param = (curr_start, curr_end, JudgeID,)
	return selectWrapper(query, param)
コード例 #8
0
ファイル: firm.py プロジェクト: deepigarg/honour
def earningByClients(FirmID, datePaid):
    '''FIRM: Look at overall earning based on clients'''
    query = "SELECT ClientID, SUM(Fee) from Lawyer_Client where datePaid>=%s and datePaid<=CURDATE() and ClientID in (SELECT ClientID from Firm_Request where FirmID=%s and Status = 1) GROUP BY ClientID  ORDER BY SUM(Fee) DESC"
    param = (
        datePaid,
        FirmID,
    )
    return selectWrapper(query, param)
コード例 #9
0
ファイル: firm.py プロジェクト: deepigarg/honour
def earningByLawyers(FirmID, datePaid):
    '''FIRM: Look at overall earning based on Lawyers'''
    query = "SELECT LawyerID, SUM(Fee) from Lawyer_Client where datePaid>=%s and datePaid<=CURDATE() and LawyerID in (SELECT ID from Lawyers where FirmID=%s) GROUP BY LawyerID  ORDER BY SUM(Fee) DESC"
    param = (
        datePaid,
        FirmID,
    )
    return selectWrapper(query, param)
コード例 #10
0
def clientTrackRecord(ClientID):
	'''JUDGE: Track record of a Client'''
	query = "SELECT * from Closed_Cases where VictimID = %s OR AccusedID = %s"
	param = (ClientID, ClientID)
	res = selectWrapper(query, param)

	if(res['res'] == 'failed'):
		return res
	
	query = "SELECT * from Clients where ID = %s"
	param = (ClientID,)
	temp = selectWrapper(query, param)

	if(temp['res'] == 'failed'):
		return temp

	res['details'] = temp['arr']

	return res
コード例 #11
0
def lawyerTrackRecord(LawyerID):
	'''JUDGE: Track record of a Lawyer'''
	query = "SELECT * from Closed_Cases where Victim_LawyerID = %s OR Accused_LawyerID = %s"
	param = (LawyerID, LawyerID	,)
	res = selectWrapper(query, param)

	if(res['res'] == 'failed'):
		return res
	
	query = "SELECT * from Lawyers where ID = %s"
	param = (LawyerID,)
	temp = selectWrapper(query, param)

	if(temp['res'] == 'failed'):
		return temp

	res['details'] = temp['arr']

	return res
コード例 #12
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def todaySchedule(LawyerID):
    '''LAWYER: Get today schedule'''
    curr_start = datetime.now().strftime('%Y-%m-%d') + ' 00:00:00'
    curr_end = datetime.now().strftime('%Y-%m-%d') + ' 23:59:59'
    query = 'SELECT * FROM Active_Cases WHERE NextHearing BETWEEN %s AND %s AND CNRno in (SELECT DISTINCT CNRno FROM Lawyer_Client WHERE LawyerID = %s)'
    param = (
        curr_start,
        curr_end,
        LawyerID,
    )
    return selectWrapper(query, param)
コード例 #13
0
def getRelatedUser(CNRno):
	'''JUDGE: Get Related Users'''
	query = 'SELECT * FROM Lawyer_Client WHERE CNRno = %s'
	param = (CNRno,)

	res = selectWrapper(query, param)

	if(res['res'] == 'failed'):
		return res

	data = res['arr']

	result = {'res': 'success', 'Accused': [], 'Victim': [], 'Accused_Lawyer': [], 'Victim_Lawyer': []}

	for enteries in data:
		query = 'SELECT * FROM Clients WHERE ID = %s'
		param = (enteries['ClientID'],)

		client = selectWrapper(query, param)

		if(client['res'] == 'failed'):
			return client

		query = 'SELECT * FROM Lawyers WHERE ID = %s'
		param = (enteries['LawyerID'],)

		lawyer = selectWrapper(query, param)

		if(lawyer['res'] == 'failed'):
			return lawyer

		if(enteries['Side'] == 0):
			result['Victim'] = client['arr']
			result['Victim_Lawyer'] = lawyer['arr']
		
		else:
			result['Accused'] = client['arr']
			result['Accused_Lawyer'] = lawyer['arr']

	return result	
コード例 #14
0
ファイル: officer.py プロジェクト: deepigarg/honour
def viewRelatedDocuments(FilingNo, Type):
    '''OFFICER: View Documents and FIR'''
    if (Type == 0):
        query = "SELECT * FROM Documents WHERE FilingNo = %s"
        param = (FilingNo, )
        return selectWrapper(query, param)

    else:
        query = "SELECT * FROM Documents WHERE FilingNo = %s"
        param = (FilingNo, )
        docs = selectWrapper(query, param)

        if (docs['res'] == 'failed'):
            return docs

        query = "SELECT * FROM FIR WHERE FilingNo = %s"
        param = (FilingNo, )

        fir = selectWrapper(query, param)

        if (fir['res'] == 'failed'):
            return fir

        return {'res': 'success', 'doc': docs['arr'], 'fir': fir['arr']}
コード例 #15
0
def getCasesByKeywords(keywords, date=""):
    '''STUDENT: Search previous cases by keywords [and date]'''
    if (not keywords):
        return {'res': 'failed', 'type': 'empty param'}

    keywords = keywords.split(",")
    query = "SELECT * FROM Closed_Cases WHERE ("
    param = []

    if (date):
        query += "Verdict_Date > %s) AND ("
        param.append(date)

    for words in keywords:
        query += "CaseStmnt LIKE %s OR FinalVerdict LIKE %s OR "
        temp = "%" + words + "%"
        param.extend([temp, temp])

    query = query[:-4] + ")"
    param = tuple(param)
    print(query, param)
    return selectWrapper(query, param)
コード例 #16
0
def getCasesByActs(acts, date=""):
    '''STUDENT: Search previous cases by acts [and date]'''
    if (not acts):
        return {'res': 'failed', 'type': 'empty param'}

    acts = acts.split(",")
    query = "SELECT * FROM Closed_Cases WHERE ("
    param = []

    if (date):
        query += "Verdict_Date > %s) AND ("
        param.append(date)

    for words in acts:
        query += "Acts LIKE %s OR "
        temp = "%" + words + "%"
        param.append(temp)

    query = query[:-4] + ")"
    param = tuple(param)

    return selectWrapper(query, param)
コード例 #17
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def getPrevHearings(CNRno):
    '''LAWYER: Get previous hearings'''
    query = 'SELECT * FROM Hearings WHERE CNRno = %s'
    param = (CNRno, )
    return selectWrapper(query, param)
コード例 #18
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def getAccountDetails(LawyerID):
    '''LAWYER: Get Account Details'''
    query = 'SELECT * FROM Lawyers WHERE ID = %s'
    param = (LawyerID, )
    return selectWrapper(query, param)
コード例 #19
0
def prevCasesAct(Acts):
	'''JUDGE: See previous judgements based on Act'''
	query = "SELECT * from Closed_Cases WHERE Acts like %s"
	param = ("%"+Acts+"%",)
	return selectWrapper(query, param)
コード例 #20
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def getRequests(LawyerID):
    '''LAWYER: Get Lawyer Requests'''
    query = 'SELECT * FROM Lawyer_Request WHERE LawyerID = %s AND Status = 0'
    param = (LawyerID, )
    return selectWrapper(query, param)
コード例 #21
0
ファイル: firm.py プロジェクト: deepigarg/honour
def searchClients(FirmID):
    '''FIRM: Search about its clients'''
    query = "SELECT * from Clients where ID in (SELECT ClientID from Firm_Request where FirmID = %s and Status = 1)"
    param = (FirmID, )
    return selectWrapper(query, param)
コード例 #22
0
ファイル: firm.py プロジェクト: deepigarg/honour
def getAccountDetails(FirmID):
    '''FIRM: Get Account Details'''
    query = 'SELECT * FROM Firms WHERE ID = %s'
    param = (FirmID, )
    return selectWrapper(query, param)
コード例 #23
0
ファイル: firm.py プロジェクト: deepigarg/honour
def getLawyers(FirmID):
    '''FIRM: Get lawyers under the firm'''
    query = "SELECT * from Lawyers where FirmID = %s"
    param = (FirmID, )
    return selectWrapper(query, param)
コード例 #24
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def getPendingCases(LawyerID):
    '''LAWYER: Get pending cases'''
    query = 'SELECT * FROM Pending_Cases WHERE Victim_LawyerID = %s OR Accused_LawyerID = %s'
    param = (LawyerID, LawyerID)
    return selectWrapper(query, param)
コード例 #25
0
ファイル: firm.py プロジェクト: deepigarg/honour
def showLawyers(Spec_Area):
    '''FIRM: search for lawyer'''
    query = 'SELECT * FROM Lawyers WHERE (Spec_Area = %s OR Spec_Area IS NULL) AND FirmID IS NULL ORDER BY rating DESC, Fees_range ASC'
    param = (Spec_Area, )
    return selectWrapper(query, param)
コード例 #26
0
ファイル: firm.py プロジェクト: deepigarg/honour
def getRequests(FirmID):
    '''FIRM: Get requests for the firm'''
    query = "SELECT * from Firm_Request where FirmID = %s and Status = 0"
    param = (FirmID, )
    return selectWrapper(query, param)
コード例 #27
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def getActiveCases(LawyerID):
    '''LAWYER: Get active cases'''
    query = 'SELECT * FROM Active_Cases WHERE CNRno in (SELECT DISTINCT CNRno FROM Lawyer_Client WHERE LawyerID = %s)'
    param = (LawyerID, )
    return selectWrapper(query, param)
コード例 #28
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def getClosedCases():
    '''LAWYER: Get closed cases'''
    query = 'SELECT * FROM Closed_Cases'
    param = tuple()
    return selectWrapper(query, param)
コード例 #29
0
ファイル: officer.py プロジェクト: deepigarg/honour
def checkDocStatus(Type):
    '''OFFICER: Check Document upload status'''
    query = "SELECT * from Pending_Cases WHERE is_Verified = 0 and Type = %s"
    param = (Type, )
    return selectWrapper(query, param)
コード例 #30
0
ファイル: lawyer.py プロジェクト: deepigarg/honour
def getNotPaidClients(LawyerID):
    '''LAWYER: Get unpaid clients'''
    query = 'SELECT * FROM Lawyer_Client WHERE LawyerID = %s AND isRequested = 0'
    param = (LawyerID, )
    return selectWrapper(query, param)