예제 #1
0
def client_register(request):
    """
	** client_register **

	This function is used to list all the information about the
	clients registered within the date range specified.
	"""
    if request.method == 'POST':
        form = DateReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            dates(start_date, end_date)
            cr_obj = UserProfile.objects.all().filter(
                date__range=(start_date, end_date)).values(
                    'first_name', 'middle_name', 'last_name', 'address',
                    'company', 'city', 'pin_code', 'state', 'website',
                    'email_address', 'contact_no', 'type_of_organisation',
                    'date')
            template = {'cr_obj': cr_obj}
            return render_to_response('tcc/client_register.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = DateReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #2
0
def non_payment_register(request):
	"""
	** non_payment_register **

	This function lists all the information of non payment jobs within
	the specified date range.
	"""
	if request.method == 'POST':
		form = DateReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date']
			dates(start_date, end_date)
			npr_obj = NonPaymentJob.objects.all().filter(date__range=
			(start_date, end_date)).values('id','date', 'dated','ref_no',
			'site','client__first_name','client__middle_name',
			'client__last_name','client__address','material_type')
			template = {'npr_obj':npr_obj}
			return render_to_response('tcc/non_payment_register.html', 
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = DateReport()
	template ={'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))	
예제 #3
0
def client_register(request):
	"""
	** client_register **

	This function is used to list all the information about the
	clients registered within the date range specified.
	"""
	if request.method == 'POST':
		form = DateReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date']
			dates(start_date, end_date)
			cr_obj = UserProfile.objects.all().filter(date__range=
			(start_date,end_date)).values('first_name','middle_name', 
			'last_name', 'address', 'company', 'city', 'pin_code', 
			'state', 'website', 'email_address', 'contact_no', 
			'type_of_organisation', 'date')
			template={'cr_obj':cr_obj}
			return render_to_response('tcc/client_register.html', 
			dict(template.items()
			+ tmp.items()), context_instance=RequestContext(request))
	else:
		form = DateReport()
	template ={'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))	
예제 #4
0
def non_payment_register(request):
    """
	** non_payment_register **

	This function lists all the information of non payment jobs within
	the specified date range.
	"""
    if request.method == 'POST':
        form = DateReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            dates(start_date, end_date)
            npr_obj = NonPaymentJob.objects.all().filter(
                date__range=(start_date, end_date)).values(
                    'id', 'date', 'dated', 'ref_no', 'site',
                    'client__first_name', 'client__middle_name',
                    'client__last_name', 'client__address', 'material_type')
            template = {'npr_obj': npr_obj}
            return render_to_response('tcc/non_payment_register.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = DateReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #5
0
def  daily_report(request): 
	"""
	** daily_report **

	This lists the jobs with payment type as Cash, Cheque, DD or Online 
	depending on choice selected, within a date range.
	"""
	if request.method == 'POST':
		form = DailyReportadd(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date']
			type = cd['type']
			dates(start_date, end_date)	
			if type=="CASH":
				client = Job.objects.filter(date__range=(start_date,
				end_date)).filter(pay='CASH').values( 'date', 
				'client__client__first_name','client__client__middle_name',
				'client__client__last_name','client__client__address',
				'client__client__city','job_no','client__client__company'\
				).order_by('job_no').distinct()
				job = Job.objects.all().values_list('job_no',flat=True).\
				filter(date__range=(start_date,end_date)).filter(pay=
				'CASH')
				bill = Bill.objects.all()
				net_total_temp = Bill.objects.filter(job_no__in=job).\
				aggregate(Sum('net_total'))
				net_total= net_total_temp['net_total__sum']
				template ={'s_date': start_date,'e_date':end_date, 
				'client':client, 'type':type, 'bill':bill,'net_total':
				net_total,'job':job}
				return render_to_response('tcc/dailyreport.html', 
				dict(template.items() + tmp.items()), context_instance=
				RequestContext(request))
			else :
				client = Job.objects.filter(date__range=(start_date,
				end_date)).filter(Q(pay='CHEQUE')|Q(pay='DD')|\
				Q(pay='ONLINE')).values( 'date','client__client__first_name',
				'client__client__middle_name','client__client__last_name',
				'client__client__address','client__client__city','job_no').\
				order_by('job_no').distinct()
				job = Job.objects.all().values_list('job_no',flat=True).\
				filter(date__range=(start_date,end_date)).\
				filter(Q(pay='CHEQUE')|Q(pay='DD')|Q(pay='ONLINE'))
				bill = Bill.objects.all()
				net_total_temp = Bill.objects.filter(job_no__in=job).\
				aggregate(Sum('net_total'))
				net_total= net_total_temp['net_total__sum']
				template ={'date': start_date, 'client':client, 'type'
				:type, 'bill':bill,'net_total':net_total,'job':job}
				return render_to_response('tcc/dailyreport.html', 
				dict(template.items() + tmp.items()), context_instance=
				RequestContext(request))
	else:
		form = DailyReportadd()
	template = {'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))
예제 #6
0
def tds_register(request):
	"""
	** tds_register **

	This function lists all the jobs with TDS amount within a
	particular date range.
	"""
	if request.method == 'POST':
		form = DateReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date']
			dates(start_date, end_date)
			job = Job.objects.exclude(tds=0).filter(date__range=
			(start_date, end_date)).values('job_no', 'date', 
			'client__client__first_name','client__client__middle_name', 
			'client__client__last_name', 'client__client__address', 
			'client__client__city', 'date', 'tds')
			bill = Bill.objects.all()
			client = Job.objects.values_list('job_no',flat=True).\
			exclude(tds=0).\
			filter(date__range=(start_date, end_date))
			tds_temp = Job.objects.filter(job_no__in=client).\
			aggregate(Sum('tds'))
			tds= tds_temp['tds__sum']			
			total_temp = Bill.objects.filter(job_no__in=client).\
			aggregate(Sum('price'))
			total= total_temp['price__sum']
			service_tax_temp = Bill.objects.filter(job_no__in=client).\
			aggregate(Sum('service_tax'))
			service_tax= service_tax_temp['service_tax__sum']
			education_tax_temp = Bill.objects.filter(job_no__in=client).\
			aggregate(Sum('education_tax'))
			education_tax= education_tax_temp['education_tax__sum']
			higher_education_tax_temp = Bill.objects.filter(job_no__in
			=client).aggregate(Sum('higher_education_tax'))
			higher_education_tax= higher_education_tax_temp\
			['higher_education_tax__sum']
			net_total_temp = Bill.objects.filter(job_no__in=client).\
			aggregate(Sum('net_total'))
			net_total= net_total_temp['net_total__sum']
			balance_temp = Bill.objects.filter(job_no__in=client).\
			aggregate(Sum('balance'))
			balance= balance_temp['balance__sum']
			template = {'job':job, 'bill':bill, 'total':total, 
			'service_tax':service_tax, 'education_tax':education_tax, 
			'higher_education_tax':higher_education_tax, 'tds':tds,
			'net_total':net_total, 'balance':balance, 's_date':start_date, 
			'e_date':end_date}
			return render_to_response('tcc/tds_register.html', 
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = DateReport()
	template = {'form':form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))
예제 #7
0
def billperf(request):
    """
	** billperf **

	This shows the bill in HTML format. All the taxes, amount, materials tested are defined.
	"""
    try:
        job = EditJob.objects.get(id=request.GET['id'])
    except Exception:
        id = EditJob.objects.aggregate(Max('id'))
        maxid = id['id__max']
        job = EditJob.objects.get(id=maxid)
    jobid = job.id
    job_no = job.job_no
    job_date = job.date
    getjob = EditJob.objects.all().filter(job_no=job_no).values(
        'clienteditjob__material__name', 'clienteditjob__test__name', 'date',
        'testtotalperf__unit_price', 'site', 'suspenceeditjob__field__name',
        'suspenceeditjob__other', 'report_type', 'sample',
        'clienteditjob__other_test').distinct()
    getadd = EditJob.objects.all().filter(id=jobid).values(
        'client__client__first_name', 'client__client__middle_name',
        'client__client__last_name', 'client__client__address',
        'client__client__city', 'client__client__state', 'site', 'letter_no',
        'letter_date', 'date').distinct()
    from Automation.tcc.variable import *
    bill = BillPerf.objects.get(job_no=job_no)
    servicetaxprint = servicetaxprint
    educationtaxprint = educationtaxprint
    highereducationtaxprint = highereducationtaxprint
    net_total1 = bill.net_total
    from Automation.tcc.convert_function import *
    net_total_eng = num2eng(net_total1)
    template = {
        'job_no': job_no,
        'net_total_eng': net_total_eng,
        'servicetaxprint': servicetaxprint,
        'highereducationtaxprint': highereducationtaxprint,
        'educationtaxprint': educationtaxprint,
        'bill': bill,
        'job': job,
        'net_total1': net_total1,
        'getjob': getjob,
        'getadd': getadd,
        'job_date': job_date
    }
    query = request.GET.get('q', '')
    if query == 1:
        return render_to_response('tcc/performa/bill.html',
                                  dict(template.items() + tmp.items()),
                                  context_instance=RequestContext(request))
    else:
        return render_to_response('tcc/performa/p_bill.html',
                                  dict(template.items() + tmp.items()),
                                  context_instance=RequestContext(request))
예제 #8
0
def suspence_register(request):
    """
	** suspence_register **

	This function lists all the suspence Jobs registered within a
	particular date range.
	"""
    if request.method == 'POST':
        form = DateReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            dates(start_date, end_date)
            job = Job.objects.filter(amount__report_type="Suspence").\
            filter(date__range=(start_date,end_date)).values( 'date',
            'client__client__first_name','client__client__middle_name',
            'client__client__last_name','client__client__address',
            'report_type','client__client__city','job_no', 'id',
            'clientjob__material__name', 'suspencejob__field__name',
            'pay', 'tds','check_number', 'check_dd_date','testtotal__unit_price').\
            order_by('id').distinct()
            client = Job.objects.all().values_list('job_no',flat=True).\
            filter(date__range=(start_date,end_date)).\
            filter(amount__report_type="Suspence")
            bill = Bill.objects.all()
            net_total_temp = Bill.objects.filter(job_no__in=client).\
            aggregate(Sum('net_total'))
            net_total = net_total_temp['net_total__sum']
            template = {
                's_date': start_date,
                'e_date': end_date,
                'client': client,
                'type': type,
                'bill': bill,
                'net_total': net_total,
                'job': job
            }
            return render_to_response('tcc/suspence_register.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = DateReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #9
0
def performa_register(request):
    """
	** performa_register **

	This function lists all  the performa jobs within a particular
	date range.
	"""
    if request.method == 'POST':
        form = DateReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            dates(start_date, end_date)
            job = EditJob.objects.filter(
                date__range=(start_date, end_date)).values(
                    'date', 'client__client__first_name',
                    'client__client__middle_name', 'client__client__last_name',
                    'client__client__address', 'client__client__company',
                    'client__client__city', 'client__client__email_address',
                    'client__client__contact_no', 'client__client__pin_code',
                    'clienteditjob__material__name',
                    'suspenceeditjob__field__name', 'report_type', 'job_no',
                    'id').order_by('job_no').distinct()
            client = EditJob.objects.all().values_list('job_no',flat=True).\
            filter(date__range=(start_date,end_date))
            bill = BillPerf.objects.all()
            net_total_temp = BillPerf.objects.filter(
                job_no__in=client).aggregate(Sum('net_total'))
            net_total = net_total_temp['net_total__sum']
            template = {
                'form': form,
                'job': job,
                'bill': bill,
                'net_total': net_total
            }
            return render_to_response('tcc/performa_register.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = DateReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #10
0
def lab_report(request):
    """
	** lab_report **

	This function lists all the jobs for a particular material in a 
	date range.
	"""
    form = LabReport(request.POST)
    if form.is_valid():
        cd = form.cleaned_data
        start_date = cd['start_date']
        end_date = cd['end_date']
        dates(start_date, end_date)
        material = cd['material']
        mat = Material.objects.get(name=material)
        if mat.report_id == 1:
            job = Job.objects.filter(clientjob__material__name=material).\
            filter(date__range=(start_date,end_date))
        else:
            job = Job.objects.filter(suspencejob__field__name=material).\
            filter(date__range=(start_date,end_date))
        client = Job.objects.filter(id__in=job).values(
            'job_no', 'date', 'client__client__first_name',
            'client__client__address', 'amount__unit_price')
        total_temp = Amount.objects.all().filter(job__in=job).\
        aggregate(Sum('unit_price'))
        total = total_temp['unit_price__sum']
        template = {
            'form': form,
            'total': total,
            'date': start_date,
            'client': client,
            'job': job,
            'material': material
        }
        return render_to_response('tcc/labreport.html',
                                  dict(template.items() + tmp.items()),
                                  context_instance=RequestContext(request))
    else:
        form = LabReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #11
0
def billperf(request):
	"""
	** billperf **

	This shows the bill in HTML format. All the taxes, amount, materials tested are defined.
	"""
	try :
		job =EditJob.objects.get(id=request.GET['id'])
	except Exception:
		id = EditJob.objects.aggregate(Max('id'))
		maxid =id['id__max']
		job = EditJob.objects.get(id = maxid)
	jobid = job.id
	job_no = job.job_no
	job_date = job.date
	getjob = EditJob.objects.all().filter(job_no=job_no).values(
	'clienteditjob__material__name','clienteditjob__test__name','date','testtotalperf__unit_price','site',
	'suspenceeditjob__field__name','suspenceeditjob__other','report_type','sample',
	'clienteditjob__other_test').distinct()
	getadd = EditJob.objects.all().filter(id = jobid).values('client__client__first_name', 
	'client__client__middle_name', 'client__client__last_name',
	'client__client__address', 'client__client__city', 
	'client__client__state','site','letter_no','letter_date','date').distinct()
	from Automation.tcc.variable import *
	bill = BillPerf.objects.get(job_no=job_no)
	servicetaxprint = servicetaxprint
	educationtaxprint = educationtaxprint
	highereducationtaxprint = highereducationtaxprint
	net_total1 = bill.net_total
	from Automation.tcc.convert_function import *
	net_total_eng = num2eng(net_total1)
	template = {'job_no': job_no ,'net_total_eng':net_total_eng,'servicetaxprint'
	:servicetaxprint,'highereducationtaxprint':highereducationtaxprint,
	'educationtaxprint':educationtaxprint,'bill':bill, 'job':job, 'net_total1' : 
	net_total1, 'getjob' : getjob, 'getadd' : getadd,'job_date':job_date}
	query =request.GET.get('q', '')
	if query == 1 :
		return render_to_response('tcc/performa/bill.html', dict(template.items() + 
		tmp.items()) , context_instance=RequestContext(request))
	else:
		return render_to_response('tcc/performa/p_bill.html', dict(template.items() + 
		tmp.items()) , context_instance=RequestContext(request))
예제 #12
0
def suspence_register(request):
	"""
	** suspence_register **

	This function lists all the suspence Jobs registered within a
	particular date range.
	"""
	if request.method == 'POST':
		form = DateReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date']
			dates(start_date, end_date)	
			job = Job.objects.filter(amount__report_type="Suspence").\
			filter(date__range=(start_date,end_date)).values( 'date', 
			'client__client__first_name','client__client__middle_name',
			'client__client__last_name','client__client__address', 
			'report_type','client__client__city','job_no', 'id', 
			'clientjob__material__name', 'suspencejob__field__name', 
			'pay', 'tds','check_number', 'check_dd_date','testtotal__unit_price').\
			order_by('id').distinct()
			client = Job.objects.all().values_list('job_no',flat=True).\
			filter(date__range=(start_date,end_date)).\
			filter(amount__report_type="Suspence")
			bill = Bill.objects.all()
			net_total_temp = Bill.objects.filter(job_no__in=client).\
			aggregate(Sum('net_total'))
			net_total= net_total_temp['net_total__sum']
			template ={'s_date': start_date, 'e_date':end_date, 
			'client':client, 'type':type, 'bill':bill,'net_total':
			net_total,'job':job}
			return render_to_response('tcc/suspence_register.html', 
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = DateReport()
	template ={'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))
예제 #13
0
def payment_register(request):
	"""
	** payment_register **

	This function lists all the payment Jobs. This include the general
	report wrk and suspence Jobs too. The register is made within a
	particular date range.
	"""
	if request.method == 'POST':
		form = DateReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date']
			dates(start_date, end_date)	
			job = Job.objects.filter(date__range=(start_date,end_date))\
			.values( 'date', 'client__client__first_name',
			'client__client__middle_name','client__client__last_name',
			'client__client__address', 'client__client__company',
			'client__client__city', 'client__client__email_address', 
			'client__client__contact_no', 'client__client__pin_code', 
			'clientjob__material__name', 'suspencejob__field__name',
			'report_type', 'job_no','id').order_by('job_no').distinct()
			client = Job.objects.all().values_list('job_no',flat=True).\
			filter(date__range=(start_date,end_date))
			bill = Bill.objects.all()
			net_total_temp = Bill.objects.filter(job_no__in=client).\
			aggregate(Sum('net_total'))
			net_total= net_total_temp['net_total__sum']
			template ={'form': form, 'job':job, 'bill':bill,
            'net_total':net_total}
			return render_to_response('tcc/payment_register.html', 
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = DateReport()
	template ={'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))
예제 #14
0
def lab_report(request):       
	"""
	** lab_report **

	This function lists all the jobs for a particular material in a 
	date range.
	"""   
	form = LabReport(request.POST)
	if form.is_valid():
		cd = form.cleaned_data
		start_date = cd['start_date']
		end_date = cd['end_date'] 
		dates(start_date, end_date)	 
		material = cd['material']
		mat = Material.objects.get(name=material)
		if mat.report_id==1:
			job = Job.objects.filter(clientjob__material__name=material).\
			filter(date__range=(start_date,end_date))
		else:
			job = Job.objects.filter(suspencejob__field__name=material).\
			filter(date__range=(start_date,end_date))
		client = Job.objects.filter(id__in=job).values('job_no', 'date', 
		'client__client__first_name', 'client__client__address', 'amount__unit_price')
		total_temp = Amount.objects.all().filter(job__in=job).\
		aggregate(Sum('unit_price'))
		total= total_temp['unit_price__sum']
		template ={'form':form, 'total':total, 'date':start_date, 
		'client':client, 'job':job, 'material':material}
		return render_to_response('tcc/labreport.html', 
		dict(template.items() + tmp.items()) , context_instance =
		RequestContext(request))
	else:
		form = LabReport()         
	template ={'form': form}  
	return render_to_response('tcc/client.html', dict(template.items() + 
	tmp.items()), context_instance=RequestContext(request))
예제 #15
0
def suspence_clearence_register(request):
	"""
	** suspence_clearance_register **

	This function lists all the suspence jobs that are cleared.
	"""
	if request.method == 'POST':
		form = DateReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date']
			dates(start_date, end_date)	
			job = Job.objects.filter(date__range=(start_date,end_date))
			suspence =SuspenceJob.objects.all().filter(job_id__in=job).\
			values('field__name', 'job_id').distinct()
			suspencedetail = Suspence.objects.all().filter(job_id__in
			=job).values('work_charge', 'labour_charge', 
			'boring_charge_external', 'car_taxi_charge', 
			'boring_charge_internal', 'job_id')
			amount = Amount.objects.all().filter(job_id__in=job).\
			filter(report_type = 
			'Suspence').values('job__date', 'job__id', 'job__job_no', 
			'college_income', 'admin_charge', 'consultancy_asst', 
			'development_fund', 'unit_price',
			'job__client__client__first_name').order_by('job__id').\
			distinct().exclude(admin_charge = None)
			admin_charge_temp = Amount.objects.filter(id__in=job).\
			filter(report_type = 'Suspence').aggregate(Sum(\
			'admin_charge'))
			admin_charge= admin_charge_temp['admin_charge__sum']
			college_income_temp = Amount.objects.filter(id__in=job).\
			filter(report_type = 'Suspence').aggregate(Sum(\
			'college_income'))
			college_income= college_income_temp['college_income__sum']
			consultancy_asst_temp =Amount.objects.filter(id__in=job).\
			filter(report_type = 
			'Suspence').aggregate(Sum('consultancy_asst'))
			consultancy_asst= consultancy_asst_temp[\
			'consultancy_asst__sum']
			development_fund_temp = Amount.objects.filter(id__in=job).\
			filter(report_type = 'Suspence').aggregate(Sum(\
			'development_fund'))
			development_fund= development_fund_temp[\
			'development_fund__sum']
			price_temp = Amount.objects.filter(id__in=job).\
			filter(report_type = 'Suspence').exclude(admin_charge =
			None).aggregate(Sum('unit_price'))
			total= price_temp['unit_price__sum']
			template ={'form':form, 'job':job, 'suspence':suspence, 
			'suspencedetail':suspencedetail, 'amount': amount,'date': 
			start_date, 'admin_charge':admin_charge, 'college_income'
			:college_income, 'consultancy_asst':consultancy_asst, 
			'development_fund':development_fund, 'total':total,}
			return render_to_response('tcc/suspence_clearence_register.html', 
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = DateReport()
	template ={'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))
예제 #16
0
def main_register(request):
    """
	** main_register **

	Main Register function lists all the jobs that are in general report i.e. 
	they are not suspence jobs.
	"""
    if request.method == 'POST':
        form = MonthlyReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            month = cd['month']
            year = cd['year']
            month_print = month
            month = months(month)
            job = Job.objects.filter(date__year=year).filter(date__month=month)
            client = Job.objects.filter(date__year=year).\
            filter(date__month= month).values(\
            'client__client__first_name')
            amount = Amount.objects.all().filter(job_id__in=job).\
            filter(report_type ='General_report').values('job__date',
            'job__id', 'job__job_no', 'college_income', 'admin_charge',
            'consultancy_asst', 'development_fund', 'unit_price',
            'job__client__client__first_name',
            'job__client__client__middle_name',
            'job__client__client__last_name',
            'job__client__client__address', 'job__client__client__city',
            'job__clientjob__material__name',
            'job__client__client__company').order_by('job__id')
            admin_charge_temp = Amount.objects.filter(job_id__in=job).\
            filter(report_type ='General_report').aggregate(Sum(\
            'admin_charge'))
            admin_charge = admin_charge_temp['admin_charge__sum']
            college_income_temp =Amount.objects.filter(job_id__in=job).\
            filter(report_type ='General_report').aggregate(Sum(\
            'college_income'))
            college_income = college_income_temp['college_income__sum']
            consultancy_asst_temp =Amount.objects.filter(job_id__in=job).\
            filter(report_type = 'General_report').aggregate(Sum(\
            'consultancy_asst'))
            consultancy_asst= consultancy_asst_temp[\
            'consultancy_asst__sum']
            development_fund_temp = Amount.objects.filter(job_id__in=
            job).filter(report_type = 'General_report').aggregate(Sum(\
            'development_fund'))
            development_fund= development_fund_temp[\
            'development_fund__sum']
            price_temp = Amount.objects.filter(job_id__in=job).\
            filter(report_type = 'General_report').aggregate(Sum(\
            'unit_price'))
            total = price_temp['unit_price__sum']
            template = {
                'month': month_print,
                'year': year,
                'amount': amount,
                'job': job,
                'admin_charge': admin_charge,
                'college_income': college_income,
                'consultancy_asst': consultancy_asst,
                'development_fund': development_fund,
                'total': total,
                'client': client
            }
            return render_to_response('tcc/main_register.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = MonthlyReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #17
0
def  gov_pri_report(request):
	"""
	** gov_pri_report **

	This function lists the jobs that are Goverment, Semi-Government 
	or Private depending upon the choice made within a particular date range.
	
	"""
	if request.method == 'POST':
		form = GovPriReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			type_of_organisation =cd['type_of_organisation']
			month = cd['month']
			year = cd['year']
			month = months(month)
			client = Job.objects.filter(date__year=year).filter(date__month
			=month).filter(type_of_work = type_of_organisation)
			amount = Amount.objects.all().filter(job_id__in=job).\
			filter(report_type = 'Suspence').values('job__date', 
			'job__id', 'job__job_no', 'college_income', 'admin_charge', 
			'consultancy_asst', 'development_fund', 'unit_price', 
			'job__client__client__name').order_by('job__id').\
			distinct().exclude(admin_charge = None)
			admin_charge_temp = Amount.objects.filter(date__year=year)\
			.filter(date__month=month).filter(report_type = 
			'GENERAL REPORT').aggregate(Sum('admin_charge'))
			admin_charge = admin_charge_temp['admin_charge__sum']
			college_income_temp = Amount.objects.filter(date__year=
			year).filter(date__month=month).filter(report_type = 
			'GENERAL REPORT').aggregate(Sum('college_income'))
			college_income = college_income_temp['college_income__sum']
			consultancy_asst_temp = Amount.objects.filter(date__year=
			year).filter(date__month=month).filter(report_type=
			'GENERAL REPORT').aggregate(Sum('consultancy_asst'))
			consultancy_asst = consultancy_asst_temp['consultancy_asst__sum']
			development_fund_temp = Amount.objects.filter(date__year=
			year).filter(date__month=month).filter(report_type=
			'GENERAL REPORT').aggregate(Sum('development_fund'))
			development_fund= development_fund_temp['development_fund__sum']
			service_tax_temp = Amount.objects.filter(date__year=year).\
			filter(date__month=month).filter(report_type = 
			'GENERAL REPORT').aggregate(Sum('service_tax'))
			service_tax= service_tax_temp['service_tax__sum']
			education_tax_temp = Amount.objects.filter(date__year=
			year).filter(date__month=month).filter(report_type = 
			'GENERAL REPORT').aggregate(Sum('education_tax'))
			education_tax= education_tax_temp['education_tax__sum']
			higher_education_tax_temp = Amount.objects.filter(date__year
			=year).filter(date__month=month).filter(report_type=
			'GENERAL REPORT').aggregate(Sum('higher_education_tax'))
			higher_education_tax= higher_education_tax_temp\
			['higher_education_tax__sum']
			balance_temp = Amount.objects.filter(date__year=year).\
			filter(date__month=month).filter(report_type=
			'GENERAL REPORT').aggregate(Sum('balance'))
			balance= balance_temp['balance__sum']
			tds_temp = Amount.objects.filter(date__year=year).\
			filter(date__month=month).filter(report_type =
			'GENERAL REPORT').aggregate(Sum('tds'))
			tds= tds_temp['tds__sum']
			return render_to_response('Automation/gov_pri_report.html', 
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = MonthlyReport()
	template =  {'form': form}
	return render_to_response('Automation/client.html',
	dict(template.items() + tmp.items()), context_instance=
	RequestContext(request))
예제 #18
0
def  monthly_report(request):
	"""
	** monthly_report **

	Monthly report Function generates the register of work done within 
	a month. This also asks for the paid education tax, higher 
	education tax and service tax and then subtracts from the taxes 
	for the month.
	"""
	if request.method == 'POST':
		form = MonthlyReportadd(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			month = cd['month']
			year = cd['year']
			paid_education_tax= cd['paid_education_tax']
			paid_higher_education_tax= cd['paid_higher_education_tax']
			paid_service_tax= cd['paid_service_tax']
			month = months(month)
			client = Job.objects.filter(date__year=year).\
			filter(date__month=month).values('job_no','date',
			'client__client__first_name', 'client__client__middle_name',	
			'client__client__last_name', 'client__client__address', 
			'client__client__city').distinct().order_by('job_no')
			bill = Bill.objects.all()
			job = Job.objects.all().values_list('job_no',flat=True).\
			filter(date__year=year).filter(date__month=month)
			total_temp = Bill.objects.filter(job_no__in=job).\
			aggregate(Sum('price'))
			total= int(total_temp['price__sum'])
			service_tax_temp = Bill.objects.filter(job_no__in=job).\
			aggregate(Sum('service_tax'))
			service_tax= int(service_tax_temp['service_tax__sum'])
			education_tax_temp = Bill.objects.filter(job_no__in=job).\
			aggregate(Sum('education_tax'))
			education_tax= int(education_tax_temp['education_tax__sum'])
			higher_education_tax_temp = Bill.objects.filter(job_no__in
			=job).aggregate(Sum('higher_education_tax'))
			higher_education_tax= int(higher_education_tax_temp\
			['higher_education_tax__sum'])
			net_total_temp = Bill.objects.filter(job_no__in=job).\
			aggregate(Sum('net_total'))
			net_total= int(net_total_temp['net_total__sum'])
			tax = service_tax+education_tax+higher_education_tax
			ser_tax = service_tax-int(paid_service_tax)
			edu_tax = education_tax-paid_education_tax
			high_tax = higher_education_tax-paid_higher_education_tax
			final = ser_tax + edu_tax +high_tax
			paid_tax = paid_education_tax + paid_higher_education_tax+\
			paid_service_tax
			template = {'client':client, 'bill':bill, 'tax':tax, 'month'
			: month, 'service_tax':service_tax, 'education_tax'
			:education_tax, 'higher_education_tax':higher_education_tax, 
			'net_total':net_total, 'total':total, 'year':year, 
			'paid_higher_education_tax':paid_higher_education_tax, 
			'paid_tax':paid_tax, 'paid_education_tax':paid_education_tax, 
			'paid_service_tax':paid_service_tax, 'final':final, 
			'ser_tax':ser_tax,'edu_tax':edu_tax, 'high_tax':high_tax,}
			return render_to_response('tcc/monthlyreport.html',
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = MonthlyReportadd()
	data = {'form': form}
	return render_to_response('tcc/client.html', dict(data.items() + 
	tmp.items()), context_instance=RequestContext(request))
예제 #19
0
def suspence_clearence_register(request):
    """
	** suspence_clearance_register **

	This function lists all the suspence jobs that are cleared.
	"""
    if request.method == 'POST':
        form = DateReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            dates(start_date, end_date)
            job = Job.objects.filter(date__range=(start_date, end_date))
            suspence =SuspenceJob.objects.all().filter(job_id__in=job).\
            values('field__name', 'job_id').distinct()
            suspencedetail = Suspence.objects.all().filter(
                job_id__in=job).values('work_charge', 'labour_charge',
                                       'boring_charge_external',
                                       'car_taxi_charge',
                                       'boring_charge_internal', 'job_id')
            amount = Amount.objects.all().filter(job_id__in=job).\
            filter(report_type =
            'Suspence').values('job__date', 'job__id', 'job__job_no',
            'college_income', 'admin_charge', 'consultancy_asst',
            'development_fund', 'unit_price',
            'job__client__client__first_name').order_by('job__id').\
            distinct().exclude(admin_charge = None)
            admin_charge_temp = Amount.objects.filter(id__in=job).\
            filter(report_type = 'Suspence').aggregate(Sum(\
            'admin_charge'))
            admin_charge = admin_charge_temp['admin_charge__sum']
            college_income_temp = Amount.objects.filter(id__in=job).\
            filter(report_type = 'Suspence').aggregate(Sum(\
            'college_income'))
            college_income = college_income_temp['college_income__sum']
            consultancy_asst_temp =Amount.objects.filter(id__in=job).\
            filter(report_type =
            'Suspence').aggregate(Sum('consultancy_asst'))
            consultancy_asst= consultancy_asst_temp[\
            'consultancy_asst__sum']
            development_fund_temp = Amount.objects.filter(id__in=job).\
            filter(report_type = 'Suspence').aggregate(Sum(\
            'development_fund'))
            development_fund= development_fund_temp[\
            'development_fund__sum']
            price_temp = Amount.objects.filter(id__in=job).\
            filter(report_type = 'Suspence').exclude(admin_charge =
            None).aggregate(Sum('unit_price'))
            total = price_temp['unit_price__sum']
            template = {
                'form': form,
                'job': job,
                'suspence': suspence,
                'suspencedetail': suspencedetail,
                'amount': amount,
                'date': start_date,
                'admin_charge': admin_charge,
                'college_income': college_income,
                'consultancy_asst': consultancy_asst,
                'development_fund': development_fund,
                'total': total,
            }
            return render_to_response('tcc/suspence_clearence_register.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = DateReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #20
0
def gov_pri_report(request):
    """
	** gov_pri_report **

	This function lists the jobs that are Goverment, Semi-Government 
	or Private depending upon the choice made within a particular date range.
	
	"""
    if request.method == 'POST':
        form = GovPriReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            type_of_organisation = cd['type_of_organisation']
            month = cd['month']
            year = cd['year']
            month = months(month)
            client = Job.objects.filter(date__year=year).filter(
                date__month=month).filter(type_of_work=type_of_organisation)
            amount = Amount.objects.all().filter(job_id__in=job).\
            filter(report_type = 'Suspence').values('job__date',
            'job__id', 'job__job_no', 'college_income', 'admin_charge',
            'consultancy_asst', 'development_fund', 'unit_price',
            'job__client__client__name').order_by('job__id').\
            distinct().exclude(admin_charge = None)
            admin_charge_temp = Amount.objects.filter(date__year=year)\
            .filter(date__month=month).filter(report_type =
            'GENERAL REPORT').aggregate(Sum('admin_charge'))
            admin_charge = admin_charge_temp['admin_charge__sum']
            college_income_temp = Amount.objects.filter(
                date__year=year).filter(date__month=month).filter(
                    report_type='GENERAL REPORT').aggregate(
                        Sum('college_income'))
            college_income = college_income_temp['college_income__sum']
            consultancy_asst_temp = Amount.objects.filter(
                date__year=year).filter(date__month=month).filter(
                    report_type='GENERAL REPORT').aggregate(
                        Sum('consultancy_asst'))
            consultancy_asst = consultancy_asst_temp['consultancy_asst__sum']
            development_fund_temp = Amount.objects.filter(
                date__year=year).filter(date__month=month).filter(
                    report_type='GENERAL REPORT').aggregate(
                        Sum('development_fund'))
            development_fund = development_fund_temp['development_fund__sum']
            service_tax_temp = Amount.objects.filter(date__year=year).\
            filter(date__month=month).filter(report_type =
            'GENERAL REPORT').aggregate(Sum('service_tax'))
            service_tax = service_tax_temp['service_tax__sum']
            education_tax_temp = Amount.objects.filter(date__year=year).filter(
                date__month=month).filter(
                    report_type='GENERAL REPORT').aggregate(
                        Sum('education_tax'))
            education_tax = education_tax_temp['education_tax__sum']
            higher_education_tax_temp = Amount.objects.filter(
                date__year=year).filter(date__month=month).filter(
                    report_type='GENERAL REPORT').aggregate(
                        Sum('higher_education_tax'))
            higher_education_tax= higher_education_tax_temp\
            ['higher_education_tax__sum']
            balance_temp = Amount.objects.filter(date__year=year).\
            filter(date__month=month).filter(report_type=
            'GENERAL REPORT').aggregate(Sum('balance'))
            balance = balance_temp['balance__sum']
            tds_temp = Amount.objects.filter(date__year=year).\
            filter(date__month=month).filter(report_type =
            'GENERAL REPORT').aggregate(Sum('tds'))
            tds = tds_temp['tds__sum']
            return render_to_response('Automation/gov_pri_report.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = MonthlyReport()
    template = {'form': form}
    return render_to_response('Automation/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #21
0
def  Cashbook(request):    
	"""
	** Cashbook **

	This gives the debit and credit detail within a date range. The 
	amount deposited in some bank or credited to someone can also be 
	subtracted from the total.
	"""    
	if request.method == 'POST':
		form = CashBook(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			start_date = cd['start_date']
			end_date = cd['end_date'] 
			dates(start_date, end_date)	
			name = cd['name']
			amount_given = cd['amount_given']
			temp = [0,0,0,0,0]
			i=0
			range = name.split(',')
			while i < len(range):
				temp[i] = range[i]
				i+=1
			name1 = temp[0]
			name2 = temp[1]
			name3 = temp[2]
			name4 = temp[3]
			name5 = temp[4]
			range = amount_given.split(',')
			tempamt = [0,0,0,0,0]
			j=0
			while j < len(range):
				tempamt[j] = range[j]
				j+=1
			amount1 = tempamt[0]
			amount2 = tempamt[1]
			amount3 = tempamt[2]
			amount4 = tempamt[3]
			amount5 = tempamt[4]
			sumamt = sum((int(amount1),int(amount2),int(amount3),
			int(amount4),int(amount5)))
			client = Job.objects.filter(date__range=(start_date,
			end_date)).values('job_no', 'date', 
			'client__client__first_name', 'pay', 'id').distinct().\
			order_by('job_no').filter(pay='CASH')
			job = Job.objects.all().filter(date__range=(start_date,
			end_date)).filter(pay='CASH')
			chequeclient = Job.objects.filter(date__range=(start_date,
			end_date)).filter(Q(pay='CHEQUE')|Q(pay='DD')|Q(pay=\
			'ONLINE')).values('job_no','date', 
			'client__client__first_name','pay').distinct().order_by(\
			'job_no')
			testtotal = TestTotal.objects.all()
			chequejob = Job.objects.all().filter(date__range=(start_date,
			end_date)).	filter(Q(pay='CHEQUE')|Q(pay='DD')|Q(pay=\
			'ONLINE'))
			total_temp = TestTotal.objects.filter(job_id__in=job).\
			aggregate(Sum('unit_price'))
			total= int(total_temp['unit_price__sum'])
			net_total_temp = TestTotal.objects.filter(job_id__in=
			chequejob).aggregate(Sum('unit_price'))
			net_total= int(net_total_temp['unit_price__sum'])
			balance = int(total)-int(sumamt)
			template ={'date': start_date, 'client':client, 'type':type, 
			'total':total, 'testtotal':testtotal, 'net_total':net_total, 
			'name1':name1, 'name2':name2, 'name3':name3, 'name4':name4, 
			'name5':name5, 'balance':balance, 'amount1':amount1, 
			'amount2':amount2, 'amount3':amount3, 'amount4':amount4, 
			'amount5':amount5, 'sumamt':sumamt, 'chequeclient':
			chequeclient }
			return render_to_response('tcc/cashbook.html',dict(\
			template.items() + tmp.items()), context_instance=
			RequestContext(request))
      	else:
		form = CashBook()
	template ={'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))
예제 #22
0
def tds_register(request):
    """
	** tds_register **

	This function lists all the jobs with TDS amount within a
	particular date range.
	"""
    if request.method == 'POST':
        form = DateReport(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            dates(start_date, end_date)
            job = Job.objects.exclude(tds=0).filter(
                date__range=(start_date, end_date)).values(
                    'job_no', 'date', 'client__client__first_name',
                    'client__client__middle_name', 'client__client__last_name',
                    'client__client__address', 'client__client__city', 'date',
                    'tds')
            bill = Bill.objects.all()
            client = Job.objects.values_list('job_no',flat=True).\
            exclude(tds=0).\
            filter(date__range=(start_date, end_date))
            tds_temp = Job.objects.filter(job_no__in=client).\
            aggregate(Sum('tds'))
            tds = tds_temp['tds__sum']
            total_temp = Bill.objects.filter(job_no__in=client).\
            aggregate(Sum('price'))
            total = total_temp['price__sum']
            service_tax_temp = Bill.objects.filter(job_no__in=client).\
            aggregate(Sum('service_tax'))
            service_tax = service_tax_temp['service_tax__sum']
            education_tax_temp = Bill.objects.filter(job_no__in=client).\
            aggregate(Sum('education_tax'))
            education_tax = education_tax_temp['education_tax__sum']
            higher_education_tax_temp = Bill.objects.filter(
                job_no__in=client).aggregate(Sum('higher_education_tax'))
            higher_education_tax= higher_education_tax_temp\
            ['higher_education_tax__sum']
            net_total_temp = Bill.objects.filter(job_no__in=client).\
            aggregate(Sum('net_total'))
            net_total = net_total_temp['net_total__sum']
            balance_temp = Bill.objects.filter(job_no__in=client).\
            aggregate(Sum('balance'))
            balance = balance_temp['balance__sum']
            template = {
                'job': job,
                'bill': bill,
                'total': total,
                'service_tax': service_tax,
                'education_tax': education_tax,
                'higher_education_tax': higher_education_tax,
                'tds': tds,
                'net_total': net_total,
                'balance': balance,
                's_date': start_date,
                'e_date': end_date
            }
            return render_to_response('tcc/tds_register.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = DateReport()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #23
0
def daily_report(request):
    """
	** daily_report **

	This lists the jobs with payment type as Cash, Cheque, DD or Online 
	depending on choice selected, within a date range.
	"""
    if request.method == 'POST':
        form = DailyReportadd(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            type = cd['type']
            dates(start_date, end_date)
            if type == "CASH":
                client = Job.objects.filter(date__range=(start_date,
                end_date)).filter(pay='CASH').values( 'date',
                'client__client__first_name','client__client__middle_name',
                'client__client__last_name','client__client__address',
                'client__client__city','job_no','client__client__company'\
                ).order_by('job_no').distinct()
                job = Job.objects.all().values_list('job_no',flat=True).\
                filter(date__range=(start_date,end_date)).filter(pay=
                'CASH')
                bill = Bill.objects.all()
                net_total_temp = Bill.objects.filter(job_no__in=job).\
                aggregate(Sum('net_total'))
                net_total = net_total_temp['net_total__sum']
                template = {
                    's_date': start_date,
                    'e_date': end_date,
                    'client': client,
                    'type': type,
                    'bill': bill,
                    'net_total': net_total,
                    'job': job
                }
                return render_to_response(
                    'tcc/dailyreport.html',
                    dict(template.items() + tmp.items()),
                    context_instance=RequestContext(request))
            else:
                client = Job.objects.filter(date__range=(start_date,
                end_date)).filter(Q(pay='CHEQUE')|Q(pay='DD')|\
                Q(pay='ONLINE')).values( 'date','client__client__first_name',
                'client__client__middle_name','client__client__last_name',
                'client__client__address','client__client__city','job_no').\
                order_by('job_no').distinct()
                job = Job.objects.all().values_list('job_no',flat=True).\
                filter(date__range=(start_date,end_date)).\
                filter(Q(pay='CHEQUE')|Q(pay='DD')|Q(pay='ONLINE'))
                bill = Bill.objects.all()
                net_total_temp = Bill.objects.filter(job_no__in=job).\
                aggregate(Sum('net_total'))
                net_total = net_total_temp['net_total__sum']
                template = {
                    'date': start_date,
                    'client': client,
                    'type': type,
                    'bill': bill,
                    'net_total': net_total,
                    'job': job
                }
                return render_to_response(
                    'tcc/dailyreport.html',
                    dict(template.items() + tmp.items()),
                    context_instance=RequestContext(request))
    else:
        form = DailyReportadd()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #24
0
def  main_register(request):
	"""
	** main_register **

	Main Register function lists all the jobs that are in general report i.e. 
	they are not suspence jobs.
	"""
	if request.method == 'POST':
		form = MonthlyReport(request.POST)
		if form.is_valid():
			cd = form.cleaned_data
			month = cd['month']
			year = cd['year']
			month_print = month
			month = months(month)
			job = Job.objects.filter(date__year=year).filter(date__month
			=month)
			client = Job.objects.filter(date__year=year).\
			filter(date__month= month).values(\
			'client__client__first_name')
			amount = Amount.objects.all().filter(job_id__in=job).\
			filter(report_type ='General_report').values('job__date', 
			'job__id', 'job__job_no', 'college_income', 'admin_charge', 
			'consultancy_asst', 'development_fund', 'unit_price', 
			'job__client__client__first_name', 
			'job__client__client__middle_name',
			'job__client__client__last_name', 
			'job__client__client__address', 'job__client__client__city',
			'job__clientjob__material__name',
			'job__client__client__company').order_by('job__id')
			admin_charge_temp = Amount.objects.filter(job_id__in=job).\
			filter(report_type ='General_report').aggregate(Sum(\
			'admin_charge'))
			admin_charge= admin_charge_temp['admin_charge__sum']
			college_income_temp =Amount.objects.filter(job_id__in=job).\
			filter(report_type ='General_report').aggregate(Sum(\
			'college_income'))
			college_income= college_income_temp['college_income__sum']
			consultancy_asst_temp =Amount.objects.filter(job_id__in=job).\
			filter(report_type = 'General_report').aggregate(Sum(\
			'consultancy_asst'))
			consultancy_asst= consultancy_asst_temp[\
			'consultancy_asst__sum']
			development_fund_temp = Amount.objects.filter(job_id__in=
			job).filter(report_type = 'General_report').aggregate(Sum(\
			'development_fund'))
			development_fund= development_fund_temp[\
			'development_fund__sum']
			price_temp = Amount.objects.filter(job_id__in=job).\
			filter(report_type = 'General_report').aggregate(Sum(\
			'unit_price'))
			total= price_temp['unit_price__sum']
			template ={'month': month_print, 'year':year, 'amount':
			amount, 'job':job, 'admin_charge':admin_charge, 
			'college_income':college_income, 'consultancy_asst':
			consultancy_asst,'development_fund':development_fund, 
			'total':total, 'client':client}
			return render_to_response('tcc/main_register.html', 
			dict(template.items() + tmp.items()), context_instance=
			RequestContext(request))
	else:
		form = MonthlyReport()
	template = {'form': form}
	return render_to_response('tcc/client.html', dict(template.items() 
	+ tmp.items()), context_instance=RequestContext(request))
예제 #25
0
def Cashbook(request):
    """
	** Cashbook **

	This gives the debit and credit detail within a date range. The 
	amount deposited in some bank or credited to someone can also be 
	subtracted from the total.
	"""
    if request.method == 'POST':
        form = CashBook(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            start_date = cd['start_date']
            end_date = cd['end_date']
            dates(start_date, end_date)
            name = cd['name']
            amount_given = cd['amount_given']
            temp = [0, 0, 0, 0, 0]
            i = 0
            range = name.split(',')
            while i < len(range):
                temp[i] = range[i]
                i += 1
            name1 = temp[0]
            name2 = temp[1]
            name3 = temp[2]
            name4 = temp[3]
            name5 = temp[4]
            range = amount_given.split(',')
            tempamt = [0, 0, 0, 0, 0]
            j = 0
            while j < len(range):
                tempamt[j] = range[j]
                j += 1
            amount1 = tempamt[0]
            amount2 = tempamt[1]
            amount3 = tempamt[2]
            amount4 = tempamt[3]
            amount5 = tempamt[4]
            sumamt = sum(
                (int(amount1), int(amount2), int(amount3), int(amount4),
                 int(amount5)))
            client = Job.objects.filter(date__range=(start_date,
            end_date)).values('job_no', 'date',
            'client__client__first_name', 'pay', 'id').distinct().\
            order_by('job_no').filter(pay='CASH')
            job = Job.objects.all().filter(
                date__range=(start_date, end_date)).filter(pay='CASH')
            chequeclient = Job.objects.filter(date__range=(start_date,
            end_date)).filter(Q(pay='CHEQUE')|Q(pay='DD')|Q(pay=\
            'ONLINE')).values('job_no','date',
            'client__client__first_name','pay').distinct().order_by(\
            'job_no')
            testtotal = TestTotal.objects.all()
            chequejob = Job.objects.all().filter(date__range=(start_date,
            end_date)). filter(Q(pay='CHEQUE')|Q(pay='DD')|Q(pay=\
            'ONLINE'))
            total_temp = TestTotal.objects.filter(job_id__in=job).\
            aggregate(Sum('unit_price'))
            total = int(total_temp['unit_price__sum'])
            net_total_temp = TestTotal.objects.filter(
                job_id__in=chequejob).aggregate(Sum('unit_price'))
            net_total = int(net_total_temp['unit_price__sum'])
            balance = int(total) - int(sumamt)
            template = {
                'date': start_date,
                'client': client,
                'type': type,
                'total': total,
                'testtotal': testtotal,
                'net_total': net_total,
                'name1': name1,
                'name2': name2,
                'name3': name3,
                'name4': name4,
                'name5': name5,
                'balance': balance,
                'amount1': amount1,
                'amount2': amount2,
                'amount3': amount3,
                'amount4': amount4,
                'amount5': amount5,
                'sumamt': sumamt,
                'chequeclient': chequeclient
            }
            return render_to_response('tcc/cashbook.html',dict(\
            template.items() + tmp.items()), context_instance=
            RequestContext(request))
    else:
        form = CashBook()
    template = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(template.items() + tmp.items()),
                              context_instance=RequestContext(request))
예제 #26
0
def monthly_report(request):
    """
	** monthly_report **

	Monthly report Function generates the register of work done within 
	a month. This also asks for the paid education tax, higher 
	education tax and service tax and then subtracts from the taxes 
	for the month.
	"""
    if request.method == 'POST':
        form = MonthlyReportadd(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            month = cd['month']
            year = cd['year']
            paid_education_tax = cd['paid_education_tax']
            paid_higher_education_tax = cd['paid_higher_education_tax']
            paid_service_tax = cd['paid_service_tax']
            month = months(month)
            client = Job.objects.filter(date__year=year).\
            filter(date__month=month).values('job_no','date',
            'client__client__first_name', 'client__client__middle_name',
            'client__client__last_name', 'client__client__address',
            'client__client__city').distinct().order_by('job_no')
            bill = Bill.objects.all()
            job = Job.objects.all().values_list('job_no',flat=True).\
            filter(date__year=year).filter(date__month=month)
            total_temp = Bill.objects.filter(job_no__in=job).\
            aggregate(Sum('price'))
            total = int(total_temp['price__sum'])
            service_tax_temp = Bill.objects.filter(job_no__in=job).\
            aggregate(Sum('service_tax'))
            service_tax = int(service_tax_temp['service_tax__sum'])
            education_tax_temp = Bill.objects.filter(job_no__in=job).\
            aggregate(Sum('education_tax'))
            education_tax = int(education_tax_temp['education_tax__sum'])
            higher_education_tax_temp = Bill.objects.filter(
                job_no__in=job).aggregate(Sum('higher_education_tax'))
            higher_education_tax= int(higher_education_tax_temp\
            ['higher_education_tax__sum'])
            net_total_temp = Bill.objects.filter(job_no__in=job).\
            aggregate(Sum('net_total'))
            net_total = int(net_total_temp['net_total__sum'])
            tax = service_tax + education_tax + higher_education_tax
            ser_tax = service_tax - int(paid_service_tax)
            edu_tax = education_tax - paid_education_tax
            high_tax = higher_education_tax - paid_higher_education_tax
            final = ser_tax + edu_tax + high_tax
            paid_tax = paid_education_tax + paid_higher_education_tax+\
            paid_service_tax
            template = {
                'client': client,
                'bill': bill,
                'tax': tax,
                'month': month,
                'service_tax': service_tax,
                'education_tax': education_tax,
                'higher_education_tax': higher_education_tax,
                'net_total': net_total,
                'total': total,
                'year': year,
                'paid_higher_education_tax': paid_higher_education_tax,
                'paid_tax': paid_tax,
                'paid_education_tax': paid_education_tax,
                'paid_service_tax': paid_service_tax,
                'final': final,
                'ser_tax': ser_tax,
                'edu_tax': edu_tax,
                'high_tax': high_tax,
            }
            return render_to_response('tcc/monthlyreport.html',
                                      dict(template.items() + tmp.items()),
                                      context_instance=RequestContext(request))
    else:
        form = MonthlyReportadd()
    data = {'form': form}
    return render_to_response('tcc/client.html',
                              dict(data.items() + tmp.items()),
                              context_instance=RequestContext(request))