Пример #1
0
def import_warehousing(request):
    warehousings = Warehousing.objects.all()
    if request.method == 'POST':
        myFile = request.FILES.get('my_file', None)
        if not myFile:
            message = '没有选择文件,请重新选择!'
            return render(request, 'warehousing/index_warehousing.html', locals())

        else:
            type_excel = myFile.name.split('.')[1]
            if 'xlsx' == type_excel or 'xls' == type_excel:
                wb = xlrd.open_workbook(filename=None, file_contents=myFile.read())
                table = wb.sheets()[0]
                nrows = table.nrows  # 行数
                ncole = table.ncols  # 列数
                if nrows == 0:
                    message = '数据不能为空!'
                    return render(request, 'warehousing/index_warehousing.html', locals())
                try:
                    with transaction.atomic():
                        for i in range(1, nrows):
                            rowValues = table.row_values(i)
                            # product_name = rowValues[1]
                            print('rowValues', rowValues)
                            if rowValues[1] and rowValues[1] != '':

                                articles = Articles.objects.filter(articles_name=rowValues[1]).first()
                                if articles:
                                    # 转换日期格式 django读取excel会把日期变成浮点型需要进行转换
                                    date = xlrd.xldate.xldate_as_datetime(rowValues[3], 0)
                                    print('date:', date)
                                    Warehousing.objects.create(article=articles, warehousing_num=int(rowValues[2]),

                                                               creator=get_user(request.session['user_name']),
                                                               remarks=rowValues[4])
                                    # Warehousing.objects.create(article=articles, warehousing_num=int(rowValues[2]),
                                    #
                                    #                            creator=get_user(request.session['user_name']),
                                    #                            remarks=rowValues[4])

                except Exception:
                    message = '格式有误!或数据有重复!请检查后重试!'
                message = '导入成功!'
                warehousings = Warehousing.objects.all()
                return render(request, 'warehousing/index_warehousing.html', locals())
    message = '请选择Excel文件,后重试!'
    return render(request, 'warehousing/index_warehousing.html', locals())
Пример #2
0
def add_warehousing(request):
    warehousing_form = forms.WareHousingForm(request.POST)
    if request.method == 'POST':
        message = '请检查填写内容'
        if warehousing_form.is_valid():
            articles_name = warehousing_form.cleaned_data['articles_name']
            warehousing_num = warehousing_form.cleaned_data['warehousing_num']
            remarks = warehousing_form.cleaned_data['remarks']
            warehousing_date = warehousing_form.cleaned_data['warehousing_date']

            new_warehousing = Warehousing()
            articles = Articles.objects.filter(articles_name=articles_name).first()
            new_warehousing.article = articles
            new_warehousing.warehousing_date = warehousing_date
            new_warehousing.remarks = remarks
            new_warehousing.warehousing_num = warehousing_num
            new_warehousing.creator = get_user(request.session['user_name'])
            new_warehousing.save()
            message = '添加成功!'
            return HttpResponseRedirect(reverse('register:index_warehousing'))
    return render(request, 'warehousing/add_warehousing.html', locals())
Пример #3
0
def import_articles(request):
    articles = Articles.objects.all()
    if request.method == 'POST':
        myFile = request.FILES.get('my_file', None)
        if not myFile:
            message = '没有选择文件,请重新选择!'
            return render(request, 'articles/index_articles.html', locals())

        else:
            type_excel = myFile.name.split('.')[1]
            if 'xlsx' == type_excel or 'xls' == type_excel:
                wb = xlrd.open_workbook(filename=None,
                                        file_contents=myFile.read())
                table = wb.sheets()[0]
                nrows = table.nrows  # 行数
                ncole = table.ncols  # 列数
                if nrows == 0:
                    message = '数据不能为空!'
                    return render(request, 'articles/index_articles.html',
                                  locals())
                try:
                    with transaction.atomic():
                        for i in range(1, nrows):
                            rowValues = table.row_values(i)
                            # product_name = rowValues[1]
                            if rowValues[1] and rowValues[1] != '':
                                Articles.objects.create(
                                    articles_name=rowValues[1],
                                    specs=rowValues[2],
                                    remarks=rowValues[3],
                                    creator=get_user(
                                        request.session['user_name']))
                except Exception:
                    message = '格式有误!或数据有重复!请检查后重试!'
                message = '导入成功!'
                articles = Articles.objects.all()
                return render(request, 'articles/index_articles.html',
                              locals())
    message = '请选择Excel文件,后重试!'
    return render(request, 'articles/index_articles.html', locals())
Пример #4
0
def add_article(request):
    articles_form = forms.ArticleForm(request.POST)
    if request.method == 'POST':
        message = '请检查填写内容'
        if articles_form.is_valid():
            articles_name = articles_form.cleaned_data['articles_name']
            specs = articles_form.cleaned_data['specs']
            remarks = articles_form.cleaned_data['remarks']
            same_articles = Articles.objects.filter(
                articles_name=articles_name)
            if same_articles:
                message = '该办公用品已存在!'
                return render(request, 'articles/add_articles.html', locals())
            new_articles = Articles()
            new_articles.articles_name = articles_name
            new_articles.specs = specs
            new_articles.remarks = remarks
            new_articles.creator = get_user(request.session['user_name'])
            new_articles.save()
            message = '添加成功!'
            return HttpResponseRedirect(reverse('register:index_articles'))
    return render(request, 'articles/add_articles.html', locals())
Пример #5
0
def add_ex_warehouse(request):
    ex_warehouse_form = forms.ExWareHouseForm(request.POST)
    if request.method == 'POST':
        message = '请检查填写内容'
        if ex_warehouse_form.is_valid():
            articles_name = ex_warehouse_form.cleaned_data['articles_name']
            ex_warehouse_num = ex_warehouse_form.cleaned_data[
                'ex_warehouse_num']
            department_name = ex_warehouse_form.cleaned_data['department']
            requisition_name = ex_warehouse_form.cleaned_data['requisition']
            validator_name = ex_warehouse_form.cleaned_data['validator']
            ex_warehouse_date = ex_warehouse_form.cleaned_data[
                'ex_warehouse_date']
            remarks = ex_warehouse_form.cleaned_data['remarks']
            status_label = ex_warehouse_form.cleaned_data['status_label']

            new_ex_warehouse = ExWarehouse()
            articles = Articles.objects.filter(
                articles_name=articles_name).first()
            department = Department.objects.filter(
                name=department_name).first()
            validator = LoginUser.objects.filter(
                username=validator_name).first()
            # requisition = LoginUser.objects.filter(username=requisition_name).filter(department=department).first()
            new_ex_warehouse.article = articles
            new_ex_warehouse.ex_warehouse_date = ex_warehouse_date
            new_ex_warehouse.remarks = remarks
            new_ex_warehouse.ex_warehouse_num = ex_warehouse_num
            new_ex_warehouse.department = department
            new_ex_warehouse.requisition = requisition_name
            new_ex_warehouse.validator = validator
            new_ex_warehouse.status_label = status_label
            new_ex_warehouse.creator = get_user(request.session['user_name'])
            # 生成新的出库单状态为1
            new_ex_warehouse.status = 1
            new_ex_warehouse.save()
            message = '添加成功!'
            return HttpResponseRedirect(reverse('register:index_ex_warehouse'))
    return render(request, 'exwarehouse/add_exwarehouse.html', locals())
Пример #6
0
def import_ex_warehouse(request):
    ex_warehouses = ExWarehouse.objects.all()
    if request.method == 'POST':
        myFile = request.FILES.get('my_file', None)
        if not myFile:
            message = '没有选择文件,请重新选择!'
            return render(request, 'exwarehouse/index_exwarehouse.html',
                          locals())

        else:
            type_excel = myFile.name.split('.')[1]
            if 'xlsx' == type_excel or 'xls' == type_excel:
                wb = xlrd.open_workbook(filename=None,
                                        file_contents=myFile.read())
                table = wb.sheets()[0]
                nrows = table.nrows  # 行数
                ncole = table.ncols  # 列数
                if nrows == 0:
                    message = '数据不能为空!'
                    return render(request,
                                  'exwarehouse/index_exwarehouse.html',
                                  locals())
                try:
                    with transaction.atomic():
                        for i in range(1, nrows):
                            rowValues = table.row_values(i)
                            # product_name = rowValues[1]
                            if rowValues[1] and rowValues[1] != '':

                                articles = Articles.objects.filter(
                                    articles_name=rowValues[1]).first()
                                department = Department.objects.filter(
                                    rowValues[3])
                                requisition = LoginUser.objects.filter(
                                    rowValues[4])
                                validator = LoginUser.objects.filter(
                                    rowValues[5])
                                if articles and department and request and validator:
                                    # 转换日期格式 django读取excel会把日期变成浮点型需要进行转换
                                    date = xlrd.xldate.xldate_as_datetime(
                                        rowValues[6], 0)
                                    ExWarehouse.objects.create(
                                        articles=articles,
                                        ex_warehouse_num=int(rowValues[2]),
                                        ex_warehouse_date=rowValues[3],
                                        department=rowValues[4],
                                        requisition=rowValues[5],
                                        validator=rowValues[6],
                                        remarks=rowValues[7],
                                        status_label=rowValues[8],
                                        status=1,
                                        creator=get_user(
                                            request.session['user_name']))
                except Exception:
                    message = '格式有误!或数据有重复!请检查后重试!'
                message = '导入成功!'
                ex_warehouses = ExWarehouse.objects.all()
                return render(request, 'exwarehouse/index_exwarehouse.html',
                              locals())
    message = '请选择Excel文件,后重试!'
    return render(request, 'exwarehouse/index_exwarehouse.html', locals())
Пример #7
0
from time import strftime
import time
from register.models import Department, LoginUser
from register.views import is_leader, get_user
from register.tool import login, logout, login_required
from register.views import get_user

# Create your views here.


@login_required
def index_ex_warehouse(request, case=None):
    to_be_processed = False
    leader = is_leader(request)
    validator_name = request.session.get('user_name')
    validator = get_user(validator_name)
    if leader:
        if case == 1:
            ex_warehouses = ExWarehouse.objects.filter(status=3)
            to_be_processed = True
        else:
            ex_warehouses = ExWarehouse.objects.all()
    else:
        count = ExWarehouse.objects.filter(validator=validator).count()
        if count == 0:
            ex_warehouses = None
        else:
            if case == 1:
                ex_warehouses = ExWarehouse.objects.filter(
                    validator=validator).filter(status=1)
            elif case == 2: