Пример #1
0
def index(order_id):
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    invoices = ClientMediumInvoice.query.filter_by(client_medium_order=order)
    invoices_data = {
        'PASS': [{'invoice': x, 'form': get_invoice_from(x)} for x in
                 invoices if x.invoice_status == INVOICE_STATUS_PASS],
        'NORMAL': [{'invoice': x, 'form': get_invoice_from(x)} for x in
                   invoices if x.invoice_status == INVOICE_STATUS_NORMAL],
        'APPLY': [{'invoice': x, 'form': get_invoice_from(x)} for x in
                  invoices if x.invoice_status == INVOICE_STATUS_APPLY],
        'APPLYPASS': [{'invoice': x, 'form': get_invoice_from(x)} for x in
                      invoices if x.invoice_status == INVOICE_STATUS_APPLYPASS],
        'FAIL': [{'invoice': x, 'form': get_invoice_from(x)} for x in
                 invoices if x.invoice_status == INVOICE_STATUS_FAIL],
    }
    reminder_emails = [(u.name, u.email) for u in User.all_active()]
    new_invoice_form = ClientMediumInvoiceForm()
    new_invoice_form.client_medium_order.choices = [(order.id, order.medium.name)]
    new_invoice_form.back_time.data = datetime.date.today()
    return tpl('/saler/client_medium_order/invoice/index.html', order=order,
               invoices_data=invoices_data, new_invoice_form=new_invoice_form,
               INVOICE_STATUS_CN=INVOICE_STATUS_CN, reminder_emails=reminder_emails,
               INVOICE_TYPE_CN=INVOICE_TYPE_CN)
Пример #2
0
def new_invoice(order_id):
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    form = ClientMediumInvoiceForm(request.form)
    form.client_medium_order.choices = [(order.id, order.medium.name)]
    if request.method == 'POST' and form.validate():
        if int(form.money.data) > (int(order.money) - int(order.invoice_apply_sum) - int(order.invoice_pass_sum)):
            flash(u"新建发票失败,您申请的发票超过了合同总额", 'danger')
            return redirect(url_for("finance_client_medium_order_invoice.info", order_id=order_id))
        invoice = ClientMediumInvoice.add(client_medium_order=order,
                                          company=form.company.data,
                                          tax_id=form.tax_id.data,
                                          address=form.address.data,
                                          phone=form.phone.data,
                                          bank_id=form.bank_id.data,
                                          bank=form.bank.data,
                                          detail=form.detail.data,
                                          money=form.money.data,
                                          invoice_type=form.invoice_type.data,
                                          creator=g.user,
                                          invoice_status=0,
                                          invoice_num=request.values.get(
                                              'new_invoice_num', ''),
                                          back_time=form.back_time.data,
                                          create_time=request.values.get('create_time',
                                                                         datetime.datetime.now().strftime('%Y-%m-%d')))
        invoice.save()
        flash(u'开发票(%s)成功!' % form.company.data, 'success')
        order.add_comment(g.user, u"已开发票信息:%s" % (
            u'发票内容: %s; 发票金额: %s元' % (invoice.detail, str(invoice.money))), msg_channel=1)
    else:
        for k in form.errors:
            flash(u"新建发票失败,%s" % (form.errors[k][0]), 'danger')
    return redirect(url_for("finance_client_medium_order_invoice.info", order_id=order.id))
Пример #3
0
def back_invoice(order_id):
    if not g.user.is_finance():
        abort(404)
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    if request.method == 'POST':
        money = float(request.values.get('money', 0))
        back_time = request.values.get(
            'back_time', datetime.date.today().strftime('%Y-%m-%d'))
        num = request.values.get('num', '')
        bm = BackInvoiceRebate.add(
            client_medium_order=order,
            money=money,
            back_time=back_time,
            num=num,
            create_time=datetime.date.today().strftime('%Y-%m-%d'))
        bm.save()
        flash(u'返点发票信息保存成功!', 'success')
        order.add_comment(
            g.user, u"更新了返点发票信息,发票金额: %s; 发票时间: %s; 发票号: %s;" % (money, back_time, num), msg_channel=4)

        apply_context = {
            'order': order,
            'num': money,
            'type': 'invoice',
        }
        back_money_apply_signal.send(
            current_app._get_current_object(), apply_context=apply_context)
        return redirect(url_for("finance_client_medium_order_back_money.back_money", order_id=order.id))
    return tpl('/finance/client_medium_order/back_money/info.html', order=order)
Пример #4
0
def info(order_id):
    if not g.user.is_finance():
        abort(404)
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    invoices_data = {
        'PASS': [{'invoice': x, 'form': get_invoice_from(x)}
                 for x in ClientMediumInvoice.query.filter_by(client_medium_order=order)
                 if x.invoice_status == INVOICE_STATUS_PASS],
        'APPLYPASS': [{'invoice': x, 'form': get_invoice_from(x)}
                      for x in ClientMediumInvoice.query.filter_by(client_medium_order=order)
                      if x.invoice_status == INVOICE_STATUS_APPLYPASS],
    }
    reminder_emails = [(u.name, u.email) for u in User.all_active()]
    new_invoice_form = ClientMediumInvoiceForm()
    new_invoice_form.client_medium_order.choices = [(order.id, order.medium.name)]
    new_invoice_form.company.data = order.agent.name
    new_invoice_form.bank.data = order.agent.bank
    new_invoice_form.bank_id.data = order.agent.bank_num
    new_invoice_form.address.data = order.agent.address
    new_invoice_form.phone.data = order.agent.phone_num
    new_invoice_form.tax_id.data = order.agent.tax_num
    new_invoice_form.back_time.data = datetime.date.today()
    return tpl('/finance/client_medium_order/invoice/info.html', order=order,
               invoices_data=invoices_data, INVOICE_STATUS_CN=INVOICE_STATUS_CN,
               reminder_emails=reminder_emails, INVOICE_TYPE_CN=INVOICE_TYPE_CN,
               new_invoice_form=new_invoice_form)
Пример #5
0
def delete(order_id, bid):
    order = ClientMediumOrder.get(order_id)
    bm = BackMoney.get(bid)
    order.add_comment(g.user, u"删除了回款信息,回款金额: %s; 回款时间: %s;" %
                      (bm.money, bm.back_time_cn), msg_channel=4)
    bm.delete()
    flash(u'删除成功!', 'success')
    return redirect(url_for("finance_client_medium_order_back_money.back_money", order_id=order.id))
Пример #6
0
def delete_invoice(order_id, bid):
    order = ClientMediumOrder.get(order_id)
    bm = BackInvoiceRebate.get(bid)
    order.add_comment(g.user, u"删除了返点发票信息,发票金额: %s; 开票时间: %s; 发票号: %s;" % (
        bm.money, bm.back_time_cn, bm.num), msg_channel=4)
    bm.delete()
    flash(u'删除成功!', 'success')
    return redirect(url_for("finance_client_medium_order_back_money.back_money", order_id=order.id))
Пример #7
0
def index():
    if not g.user.is_finance():
        abort(404)
    orders = list(ClientMediumOrder.all())
    if request.args.get('selected_status'):
        status_id = int(request.args.get('selected_status'))
    else:
        status_id = -1

    orderby = request.args.get('orderby', '')
    search_info = request.args.get('searchinfo', '').strip()
    location_id = int(request.args.get('selected_location', '-1'))
    page = int(request.args.get('p', 1))
    year = int(request.values.get('year', datetime.datetime.now().year))
    # page = max(1, page)
    # start = (page - 1) * ORDER_PAGE_NUM
    if location_id >= 0:
        orders = [o for o in orders if location_id in o.locations]
    if status_id >= 0:
        orders = [o for o in orders if o.contract_status == status_id]
    orders = [
        k for k in orders
        if k.client_start.year == year or k.client_end.year == year
    ]
    if search_info != '':
        orders = [
            o for o in orders
            if search_info.lower() in o.search_invoice_info.lower()
        ]
    if orderby and len(orders):
        orders = sorted(orders,
                        key=lambda x: getattr(x, orderby),
                        reverse=True)
    select_locations = TEAM_LOCATION_CN.items()
    select_locations.insert(0, (-1, u'全部区域'))
    select_statuses = CONTRACT_STATUS_CN.items()
    select_statuses.insert(0, (-1, u'全部合同状态'))
    paginator = Paginator(orders, ORDER_PAGE_NUM)
    try:
        orders = paginator.page(page)
    except:
        orders = paginator.page(paginator.num_pages)

    return tpl(
        '/finance/client_medium_order/back_money/index.html',
        orders=orders,
        locations=select_locations,
        location_id=location_id,
        statuses=select_statuses,
        status_id=status_id,
        orderby=orderby,
        now_date=datetime.date.today(),
        search_info=search_info,
        page=page,
        year=year,
        params=
        '&orderby=%s&searchinfo=%s&selected_location=%s&selected_status=%s&year=%s'
        % (orderby, search_info, location_id, status_id, str(year)))
Пример #8
0
def delete(order_id, bid):
    order = ClientMediumOrder.get(order_id)
    bm = BackMoney.get(bid)
    order.add_comment(g.user,
                      u"删除了回款信息,回款金额: %s; 回款时间: %s;" %
                      (bm.money, bm.back_time_cn),
                      msg_channel=4)
    bm.delete()
    flash(u'删除成功!', 'success')
    return redirect(
        url_for("finance_client_medium_order_back_money.back_money",
                order_id=order.id))
Пример #9
0
def delete_invoice(order_id, bid):
    order = ClientMediumOrder.get(order_id)
    bm = BackInvoiceRebate.get(bid)
    order.add_comment(g.user,
                      u"删除了返点发票信息,发票金额: %s; 开票时间: %s; 发票号: %s;" %
                      (bm.money, bm.back_time_cn, bm.num),
                      msg_channel=4)
    bm.delete()
    flash(u'删除成功!', 'success')
    return redirect(
        url_for("finance_client_medium_order_back_money.back_money",
                order_id=order.id))
Пример #10
0
def index_pass():
    if not g.user.is_finance():
        abort(404)
    orders = list(ClientMediumOrder.all())
    search_info = request.args.get('searchinfo', '')
    location_id = int(request.args.get('selected_location', '-1'))
    year = int(request.values.get('year', datetime.datetime.now().year))
    page = int(request.args.get('p', 1))
    if location_id >= 0:
        orders = [o for o in orders if location_id in o.locations]
    orders = [
        k for k in orders
        if k.client_start.year == year or k.client_end.year == year
    ]
    if search_info != '':
        orders = [
            o for o in orders
            if search_info.lower() in o.search_invoice_info.lower()
        ]
    select_locations = TEAM_LOCATION_CN.items()
    select_locations.insert(0, (-1, u'全部区域'))
    select_statuses = CONTRACT_STATUS_CN.items()
    select_statuses.insert(0, (-1, u'全部合同状态'))
    paginator = Paginator(orders, ORDER_PAGE_NUM)
    try:
        orders = paginator.page(page)
    except:
        orders = paginator.page(paginator.num_pages)
    type = request.args.get('type', '')
    if type == 'excel':
        orders = set([
            invoice.client_medium_order for invoice in
            ClientMediumInvoice.get_invoices_status(INVOICE_STATUS_PASS)
        ])
        xls = write_excel(list(orders))
        response = get_download_response(
            xls,
            ("%s-%s.xls" %
             (u"申请过的发票信息", datetime.datetime.now().strftime('%Y%m%d%H%M%S'))
             ).encode('utf-8'))
        return response
    return tpl('/finance/client_medium_order/invoice/index_pass.html',
               orders=orders,
               locations=select_locations,
               location_id=location_id,
               statuses=select_statuses,
               now_date=datetime.date.today(),
               search_info=search_info,
               page=page,
               year=year,
               params='&searchinfo=%s&selected_location=%s&year=%s' %
               (search_info, location_id, str(year)))
Пример #11
0
def index():
    if not g.user.is_finance():
        abort(404)
    orders = list(ClientMediumOrder.all())
    if request.args.get('selected_status'):
        status_id = int(request.args.get('selected_status'))
    else:
        status_id = -1

    orderby = request.args.get('orderby', '')
    search_info = request.args.get('searchinfo', '').strip()
    location_id = int(request.args.get('selected_location', '-1'))
    page = int(request.args.get('p', 1))
    year = int(request.values.get('year', datetime.datetime.now().year))
    # page = max(1, page)
    # start = (page - 1) * ORDER_PAGE_NUM
    if location_id >= 0:
        orders = [o for o in orders if location_id in o.locations]
    if status_id >= 0:
        orders = [o for o in orders if o.contract_status == status_id]
    orders = [k for k in orders if k.client_start.year == year or k.client_end.year == year]
    if search_info != '':
        orders = [
            o for o in orders if search_info.lower() in o.search_invoice_info.lower()]
    if orderby and len(orders):
        orders = sorted(
            orders, key=lambda x: getattr(x, orderby), reverse=True)
    select_locations = TEAM_LOCATION_CN.items()
    select_locations.insert(0, (-1, u'全部区域'))
    select_statuses = CONTRACT_STATUS_CN.items()
    select_statuses.insert(0, (-1, u'全部合同状态'))
    paginator = Paginator(orders, ORDER_PAGE_NUM)
    try:
        orders = paginator.page(page)
    except:
        orders = paginator.page(paginator.num_pages)

    return tpl('/finance/client_medium_order/back_money/index.html', orders=orders,
               locations=select_locations, location_id=location_id,
               statuses=select_statuses, status_id=status_id,
               orderby=orderby, now_date=datetime.date.today(),
               search_info=search_info, page=page, year=year,
               params='&orderby=%s&searchinfo=%s&selected_location=%s&selected_status=%s&year=%s' %
                      (orderby, search_info, location_id, status_id, str(year)))
Пример #12
0
def new_invoice(order_id):
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    form = ClientMediumInvoiceForm(request.form)
    form.client_medium_order.choices = [(order.id, order.medium.name)]
    if request.method == 'POST' and form.validate():
        if int(form.money.data) > (int(order.money) - int(
                order.invoice_apply_sum) - int(order.invoice_pass_sum)):
            flash(u"新建发票失败,您申请的发票超过了合同总额", 'danger')
            return redirect(
                url_for("finance_client_medium_order_invoice.info",
                        order_id=order_id))
        invoice = ClientMediumInvoice.add(
            client_medium_order=order,
            company=form.company.data,
            tax_id=form.tax_id.data,
            address=form.address.data,
            phone=form.phone.data,
            bank_id=form.bank_id.data,
            bank=form.bank.data,
            detail=form.detail.data,
            money=form.money.data,
            invoice_type=form.invoice_type.data,
            creator=g.user,
            invoice_status=0,
            invoice_num=request.values.get('new_invoice_num', ''),
            back_time=form.back_time.data,
            create_time=request.values.get(
                'create_time',
                datetime.datetime.now().strftime('%Y-%m-%d')))
        invoice.save()
        flash(u'开发票(%s)成功!' % form.company.data, 'success')
        order.add_comment(g.user,
                          u"已开发票信息:%s" %
                          (u'发票内容: %s; 发票金额: %s元' %
                           (invoice.detail, str(invoice.money))),
                          msg_channel=1)
    else:
        for k in form.errors:
            flash(u"新建发票失败,%s" % (form.errors[k][0]), 'danger')
    return redirect(
        url_for("finance_client_medium_order_invoice.info", order_id=order.id))
Пример #13
0
def info(order_id):
    if not g.user.is_finance():
        abort(404)
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    invoices_data = {
        'PASS': [{
            'invoice': x,
            'form': get_invoice_from(x)
        } for x in ClientMediumInvoice.query.filter_by(
            client_medium_order=order)
                 if x.invoice_status == INVOICE_STATUS_PASS],
        'APPLYPASS': [{
            'invoice': x,
            'form': get_invoice_from(x)
        } for x in ClientMediumInvoice.query.filter_by(
            client_medium_order=order)
                      if x.invoice_status == INVOICE_STATUS_APPLYPASS],
    }
    reminder_emails = [(u.name, u.email) for u in User.all_active()]
    new_invoice_form = ClientMediumInvoiceForm()
    new_invoice_form.client_medium_order.choices = [(order.id,
                                                     order.medium.name)]
    new_invoice_form.company.data = order.agent.name
    new_invoice_form.bank.data = order.agent.bank
    new_invoice_form.bank_id.data = order.agent.bank_num
    new_invoice_form.address.data = order.agent.address
    new_invoice_form.phone.data = order.agent.phone_num
    new_invoice_form.tax_id.data = order.agent.tax_num
    new_invoice_form.back_time.data = datetime.date.today()
    return tpl('/finance/client_medium_order/invoice/info.html',
               order=order,
               invoices_data=invoices_data,
               INVOICE_STATUS_CN=INVOICE_STATUS_CN,
               reminder_emails=reminder_emails,
               INVOICE_TYPE_CN=INVOICE_TYPE_CN,
               new_invoice_form=new_invoice_form)
Пример #14
0
def back_invoice(order_id):
    if not g.user.is_finance():
        abort(404)
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    if request.method == 'POST':
        money = float(request.values.get('money', 0))
        back_time = request.values.get(
            'back_time',
            datetime.date.today().strftime('%Y-%m-%d'))
        num = request.values.get('num', '')
        bm = BackInvoiceRebate.add(
            client_medium_order=order,
            money=money,
            back_time=back_time,
            num=num,
            create_time=datetime.date.today().strftime('%Y-%m-%d'))
        bm.save()
        flash(u'返点发票信息保存成功!', 'success')
        order.add_comment(g.user,
                          u"更新了返点发票信息,发票金额: %s; 发票时间: %s; 发票号: %s;" %
                          (money, back_time, num),
                          msg_channel=4)

        apply_context = {
            'order': order,
            'num': money,
            'type': 'invoice',
        }
        back_money_apply_signal.send(current_app._get_current_object(),
                                     apply_context=apply_context)
        return redirect(
            url_for("finance_client_medium_order_back_money.back_money",
                    order_id=order.id))
    return tpl('/finance/client_medium_order/back_money/info.html',
               order=order)
Пример #15
0
def index_pass():
    if not g.user.is_finance():
        abort(404)
    orders = list(ClientMediumOrder.all())
    search_info = request.args.get('searchinfo', '')
    location_id = int(request.args.get('selected_location', '-1'))
    year = int(request.values.get('year', datetime.datetime.now().year))
    page = int(request.args.get('p', 1))
    if location_id >= 0:
        orders = [o for o in orders if location_id in o.locations]
    orders = [k for k in orders if k.client_start.year == year or k.client_end.year == year]
    if search_info != '':
        orders = [
            o for o in orders if search_info.lower() in o.search_invoice_info.lower()]
    select_locations = TEAM_LOCATION_CN.items()
    select_locations.insert(0, (-1, u'全部区域'))
    select_statuses = CONTRACT_STATUS_CN.items()
    select_statuses.insert(0, (-1, u'全部合同状态'))
    paginator = Paginator(orders, ORDER_PAGE_NUM)
    try:
        orders = paginator.page(page)
    except:
        orders = paginator.page(paginator.num_pages)
    type = request.args.get('type', '')
    if type == 'excel':
        orders = set([invoice.client_medium_order for invoice in ClientMediumInvoice.get_invoices_status(
            INVOICE_STATUS_PASS)])
        xls = write_excel(list(orders))
        response = get_download_response(
            xls, ("%s-%s.xls" % (u"申请过的发票信息", datetime.datetime.now().strftime('%Y%m%d%H%M%S'))).encode('utf-8'))
        return response
    return tpl('/finance/client_medium_order/invoice/index_pass.html', orders=orders, locations=select_locations,
               location_id=location_id, statuses=select_statuses,
               now_date=datetime.date.today(), search_info=search_info, page=page, year=year,
               params='&searchinfo=%s&selected_location=%s&year=%s' %
                      (search_info, location_id, str(year)))
Пример #16
0
def index(order_id):
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    return tpl('/saler/client_medium_order/back_money/index.html', order=order)
Пример #17
0
def client_medium_order_schedule_upload():
    order_id = request.values.get('order')
    order = ClientMediumOrder.get(order_id)
    return attachment_upload(order, FILE_TYPE_SCHEDULE)
Пример #18
0
def finish_client_medium_order_upload():
    order_id = request.values.get('order')
    order = ClientMediumOrder.get(order_id)
    return attachment_upload(order, FILE_TYPE_FINISH)
Пример #19
0
def back_money(order_id):
    if not g.user.is_finance():
        abort(404)
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    if request.method == 'POST':
        money = float(request.values.get('money', 0))
        back_time = request.values.get(
            'back_time',
            datetime.date.today().strftime('%Y-%m-%d'))
        back_money_status = request.values.get('back_money_status', '')
        if back_money_status != '':
            if int(back_money_status) == 0:
                order.back_money_status = int(back_money_status)
                order.save()
                flash(u'完成所有回款!', 'success')
                order.add_comment(g.user, u"完成所有回款", msg_channel=4)
                apply_context = {
                    'order': order,
                    'num': 0,
                    'type': 'end',
                }
                back_money_apply_signal.send(current_app._get_current_object(),
                                             apply_context=apply_context)
                flash(u'更新了回款状态,回款已完成!', 'success')
                order.add_comment(g.user, u"更新了回款状态,回款已完成;", msg_channel=4)
            elif int(back_money_status) == -1:
                order.back_money_status = int(back_money_status)
                order.save()
                flash(u'该项目为划账!', 'success')
                order.add_comment(g.user, u"坏账项目", msg_channel=4)
                apply_context = {
                    'order': order,
                    'num': -1,
                    'type': 'end',
                }
                back_money_apply_signal.send(current_app._get_current_object(),
                                             apply_context=apply_context)
            else:
                order.back_money_status = int(back_money_status)
                order.save()
                apply_context = {
                    'order': order,
                    'num': 0,
                    'type': 'no_end',
                }
                back_money_apply_signal.send(current_app._get_current_object(),
                                             apply_context=apply_context)
                flash(u'更新了回款状态,回款未完成!', 'success')
                order.add_comment(g.user, u"更新了回款状态,回款未完成;", msg_channel=4)
        else:
            bm = BackMoney.add(
                client_medium_order=order,
                money=money,
                back_time=back_time,
                create_time=datetime.date.today().strftime('%Y-%m-%d'))
            bm.save()
            apply_context = {
                'order': order,
                'num': money,
                'type': 'money',
            }
            back_money_apply_signal.send(current_app._get_current_object(),
                                         apply_context=apply_context)
            flash(u'回款信息保存成功!', 'success')
            order.add_comment(g.user,
                              u"更新了回款信息,回款金额: %s; 回款时间: %s;" %
                              (money, back_time),
                              msg_channel=4)
        return redirect(
            url_for("finance_client_medium_order_back_money.back_money",
                    order_id=order.id))
    return tpl('/finance/client_medium_order/back_money/info.html',
               order=order)
Пример #20
0
def client_medium_order_files(order_id):
    co = ClientMediumOrder.get(order_id)
    return tpl("order_files.html", order=co)
Пример #21
0
def index(order_id):
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    return tpl('/saler/client_medium_order/back_money/index.html', order=order)
Пример #22
0
def client_medium_order_contract_upload():
    order_id = request.values.get('order')
    order = ClientMediumOrder.get(order_id)
    return attachment_upload(order, FILE_TYPE_CONTRACT)
Пример #23
0
def client_medium_order_schedule_upload():
    order_id = request.values.get('order')
    order = ClientMediumOrder.get(order_id)
    return attachment_upload(order, FILE_TYPE_SCHEDULE)
Пример #24
0
def back_money(order_id):
    if not g.user.is_finance():
        abort(404)
    order = ClientMediumOrder.get(order_id)
    if not order:
        abort(404)
    if request.method == 'POST':
        money = float(request.values.get('money', 0))
        back_time = request.values.get(
            'back_time', datetime.date.today().strftime('%Y-%m-%d'))
        back_money_status = request.values.get('back_money_status', '')
        if back_money_status != '':
            if int(back_money_status) == 0:
                order.back_money_status = int(back_money_status)
                order.save()
                flash(u'完成所有回款!', 'success')
                order.add_comment(g.user, u"完成所有回款", msg_channel=4)
                apply_context = {
                    'order': order,
                    'num': 0,
                    'type': 'end',
                }
                back_money_apply_signal.send(
                    current_app._get_current_object(), apply_context=apply_context)
                flash(u'更新了回款状态,回款已完成!', 'success')
                order.add_comment(
                    g.user, u"更新了回款状态,回款已完成;", msg_channel=4)
            elif int(back_money_status) == -1:
                order.back_money_status = int(back_money_status)
                order.save()
                flash(u'该项目为划账!', 'success')
                order.add_comment(g.user, u"坏账项目", msg_channel=4)
                apply_context = {
                    'order': order,
                    'num': -1,
                    'type': 'end',
                }
                back_money_apply_signal.send(
                    current_app._get_current_object(), apply_context=apply_context)
            else:
                order.back_money_status = int(back_money_status)
                order.save()
                apply_context = {
                    'order': order,
                    'num': 0,
                    'type': 'no_end',
                }
                back_money_apply_signal.send(
                    current_app._get_current_object(), apply_context=apply_context)
                flash(u'更新了回款状态,回款未完成!', 'success')
                order.add_comment(
                    g.user, u"更新了回款状态,回款未完成;", msg_channel=4)
        else:
            bm = BackMoney.add(
                client_medium_order=order,
                money=money,
                back_time=back_time,
                create_time=datetime.date.today().strftime('%Y-%m-%d'))
            bm.save()
            apply_context = {
                'order': order,
                'num': money,
                'type': 'money',
            }
            back_money_apply_signal.send(
                current_app._get_current_object(), apply_context=apply_context)
            flash(u'回款信息保存成功!', 'success')
            order.add_comment(
                g.user, u"更新了回款信息,回款金额: %s; 回款时间: %s;" % (money, back_time), msg_channel=4)
        return redirect(url_for("finance_client_medium_order_back_money.back_money", order_id=order.id))
    return tpl('/finance/client_medium_order/back_money/info.html', order=order)
Пример #25
0
def client_medium_order_contract_upload():
    order_id = request.values.get('order')
    order = ClientMediumOrder.get(order_id)
    return attachment_upload(order, FILE_TYPE_CONTRACT)
Пример #26
0
def finish_client_medium_order_upload():
    order_id = request.values.get('order')
    order = ClientMediumOrder.get(order_id)
    return attachment_upload(order, FILE_TYPE_FINISH)
Пример #27
0
def client_medium_order_files(order_id):
    co = ClientMediumOrder.get(order_id)
    return tpl("order_files.html", order=co)