Ejemplo n.º 1
0
def save_schedule(billCycle, month, sid):
    try:
        billCycleObj = BillCycle.objects.get(bill_cycle_code=billCycle)

        print '-------------schedule save-----------------'
        print billCycle
        print month
        print '-------------schedule save-----------------'

        billSchedule = BillSchedule(bill_cycle=billCycleObj,
                                    month=month,
                                    created_by='Admin')
        billSchedule.save()
        print 'month', month
        startDate = '01/' + month[-2:] + '/' + month[:-2]
        endDate = '10/' + month[-2:] + '/' + month[:-2]
        accounting_d = '01/' + month[-2:] + '/' + month[:-2]
        estimated_d = '10/' + month[-2:] + '/' + month[:-2]
        billScheduleDetails = BillScheduleDetails(
            billSchedule=billSchedule,
            month=billSchedule.month,
            start_date=datetime.datetime.strptime(startDate, '%d/%m/%Y'),
            end_date=datetime.datetime.strptime(endDate, '%d/%m/%Y'),
            accounting_date=datetime.datetime.strptime(accounting_d,
                                                       '%d/%m/%Y'),
            estimated_date=datetime.datetime.strptime(estimated_d, '%d/%m/%Y'),
            last_confirmed='True',
            status='Confirmed',
            is_original='True',
            is_active='True',
            created_by='Admin')
        billScheduleDetails.save()
        startd = datetime.datetime.strptime('Jun 1 2016  1:00PM',
                                            '%b %d %Y %I:%M%p')
        endd = datetime.datetime.strptime('Jun 1 2016  4:00PM',
                                          '%b %d %Y %I:%M%p')

        pn33Download = PN33Download(month=billSchedule.month,
                                    bill_schedule=billSchedule,
                                    start_date=startd,
                                    end_date=endd,
                                    asy_job_id='xyz',
                                    download_status='Completed',
                                    created_by='Admin')
        pn33Download.save()
        uploadB30 = UploadB30(month=billSchedule.month,
                              bill_schedule=billSchedule,
                              status='Not Started',
                              created_by='Admin')
        uploadB30.save()

        mr = UserProfile.objects.get(email='*****@*****.**')
        for route in RouteDetail.objects.filter(billcycle=billCycleObj):
            dispatch(mr, route, uploadB30.month, sid)

    except Exception, e:
        #print 'exception ',str(traceback.print_exc())
        print 'Exception|schedule.py|save_schedule', e
        transaction.rollback(sid)
Ejemplo n.º 2
0
def save_schedule(request, billCycle):
    try:
        sid = transaction.savepoint()  # Transaction open
        billSchedule = BillSchedule(bill_cycle=billCycle,
                                    month=request.POST.get('billMonth'),
                                    created_by=request.user.email)
        billSchedule.save()
        billScheduleDetails = BillScheduleDetails(
            billSchedule=billSchedule,
            month=billSchedule.month,
            start_date=datetime.datetime.strptime(
                request.POST.get('startDate'), '%d/%m/%Y'),
            end_date=datetime.datetime.strptime(request.POST.get('endDate'),
                                                '%d/%m/%Y'),
            accounting_date=datetime.datetime.strptime(
                request.POST.get('accountingDate'), '%d/%m/%Y'),
            estimated_date=datetime.datetime.strptime(
                request.POST.get('estimatedDate'), '%d/%m/%Y'),
            last_confirmed='True',
            status='Confirmed',
            is_original='True',
            is_active='True',
            created_by=request.user.email)
        billScheduleDetails.save()
        pn33Download = PN33Download(month=billSchedule.month,
                                    bill_schedule=billSchedule,
                                    download_status='Not Started',
                                    created_by=request.user.email)
        pn33Download.save()
        uploadB30 = UploadB30(month=billSchedule.month,
                              bill_schedule=billSchedule,
                              status='Not Started',
                              created_by=request.user.email)
        uploadB30.save()
        transaction.savepoint_commit(sid)
    except Exception, e:
        print 'exception ', str(traceback.print_exc())
        transaction.rollback(sid)
        print 'Exception|schedule.py|save_schedule', e
Ejemplo n.º 3
0
def save_rejected_change(request):
    print 'Request save changes in Reject with---', request.POST
    try:
        if request.method == "POST":
            sid = transaction.savepoint()  # Transaction open
            id = request.POST.get('rejectedSchedule_id')
            billScheduleDetailsOld = BillScheduleDetails.objects.get(id=id)
            billScheduleDetailsOld.is_active = False
            billScheduleDetailsOld.save()

            scheduleDetailsNEW = BillScheduleDetails(
                billSchedule=billScheduleDetailsOld.billSchedule,
                start_date=billScheduleDetailsOld.start_date,
                estimated_date=billScheduleDetailsOld.estimated_date,
                month=billScheduleDetailsOld.month,
                end_date=datetime.datetime.strptime(
                    request.POST.get('rejectedEnd'), '%d/%m/%Y'),
                accounting_date=datetime.datetime.strptime(
                    request.POST.get('rejectedAccounting'), '%d/%m/%Y'),
                version=int(billScheduleDetailsOld.version) + 1,
                status='Pending Approval',
                is_original=False,
                is_active=True,
                created_by=request.user.email)
            scheduleDetailsNEW.save()

            delta = scheduleDetailsNEW.end_date.date(
            ) - billScheduleDetailsOld.end_date
            if delta.days == 0:
                accDate = scheduleDetailsNEW.accounting_date.date(
                ) - billScheduleDetailsOld.accounting_date
                if accDate.days == 1 or accDate.days == -1:
                    approvalDetails = ApprovalDetails.objects.get(
                        days=abs(accDate.days))
                elif accDate.days == 2 or accDate.days == -2:
                    approvalDetails = ApprovalDetails.objects.get(
                        days=abs(accDate.days))
                else:
                    approvalDetails = ApprovalDetails.objects.get(
                        ~Q(days=1), ~Q(days=2))

            elif delta.days == 1 or delta.days == -1:
                approvalDetails = ApprovalDetails.objects.get(
                    days=abs(delta.days))
            elif delta.days == 2 or delta.days == -2:
                approvalDetails = ApprovalDetails.objects.get(
                    days=abs(delta.days))
            else:
                approvalDetails = ApprovalDetails.objects.get(
                    ~Q(days=1), ~Q(days=2))

            billScheduleApprovalDetails = BillScheduleApprovalDetails(
                bill_schedule=scheduleDetailsNEW,
                status='Pending Approval',
                send_date=datetime.date.today(),
                approval_details=approvalDetails,
                created_by=request.user.email)
            billScheduleApprovalDetails.save()

            email = approvalDetails.approval.email
            send_mail(scheduleDetailsNEW.id, email, request)
            transaction.savepoint_commit(sid)
        data = {'success': 'true'}
        print 'Request save changes out Reject with---', data
        return HttpResponse(json.dumps(data), content_type='application/json')
    except Exception, e:
        print 'exception ', str(traceback.print_exc())
        transaction.rollback(sid)
        print 'Exception|schedule.py|save_rejected_change', e
        data = {'success': 'false', 'error': 'Exception ' + str(e)}
Ejemplo n.º 4
0
def copy_from_previous(request):
    print 'Request in copy_from_previous with---', request.POST
    try:
        sid = transaction.savepoint()  # Transaction open
        currentMonth = request.POST.get('monthYear')
        lastYM = month_minus(currentMonth)
        # currentMonth=get_currentMonthYM()
        billSchedules = BillSchedule.objects.filter(
            month=lastYM, is_uploaded=True,
            is_deleted=False).exclude(bill_cycle__in=[
                schedules.bill_cycle
                for schedules in BillSchedule.objects.filter(
                    month=currentMonth, is_deleted=False)
            ])
        check = billSchedules.filter().count()
        if check == 0:
            data = {'success': 'Empty'}
        else:
            for bill in billSchedules:
                checkBillSchedule = BillSchedule.objects.filter(
                    bill_cycle=bill.bill_cycle,
                    is_uploaded=False,
                    is_deleted=False)
                if not checkBillSchedule:
                    billScheduleDetails = BillScheduleDetails.objects.get(
                        billSchedule=bill, last_confirmed=True)
                    newBillSchedule = BillSchedule(
                        bill_cycle=bill.bill_cycle,
                        # month=str(date.today().year) + checkMonth(date.today().month)
                        month=currentMonth,
                        created_by=request.user.email)
                    newBillSchedule.save()
                    newBillScheduleDetails = BillScheduleDetails(
                        billSchedule=newBillSchedule,
                        start_date=(billScheduleDetails.start_date +
                                    relativedelta(month=date.today().month)),
                        end_date=(billScheduleDetails.end_date +
                                  relativedelta(month=date.today().month)),
                        accounting_date=(
                            billScheduleDetails.accounting_date +
                            relativedelta(month=date.today().month)),
                        estimated_date=(
                            billScheduleDetails.estimated_date +
                            relativedelta(month=date.today().month)),
                        month=currentMonth,
                        status='Not Confirmed',
                        version='0',
                        last_confirmed=False,
                        is_original=True,
                        is_active=True,
                        is_deleted=False,
                        created_by=request.user.email)
                    newBillScheduleDetails.save()
                    transaction.savepoint_commit(sid)
                    data = {'success': 'true'}
                else:
                    data = {'success': 'Open'}
            print 'Request out copy_from_previous with---', data
    except Exception, e:
        print 'exception ', str(traceback.print_exc())
        transaction.rollback(sid)
        print 'Exception|schedule_py|copy_from_previous', e
        data = {'success': 'false', 'message': 'Server Error'}