Ejemplo n.º 1
0
 def terminal_outbound(self,request,extra_context=None):
     errorMsg = None
     if request.method == 'POST':
         try:
             if 'csvfile' in request.FILES:
                 file = request.FILES['csvfile']
                 if os.path.splitext(file._name)[1].lower() != '.csv':
                     raise Exception(u'亲!文件扩展名错误,请上传csv文件!')
                 lines = csv_readlines(request.FILES.get('csvfile'))
                 counter = 0
                 for item in lines and lines or []:
                     if item and len(item) == 2:
                         t = Terminal.objects.filter(terminalid=item[0])
                         if t.count() > 0:
                             counter += t.update(group_id=item[1],
                                                 last_admin=request.user.id,
                                                 last_modify = datetime.datetime.now(),
                                                 advice=u'批量出库:%s'%item[1])
                     else:
                         raise Exception('csv文件错误,读取数据不符合规范!')
                         
                 messages.add_message(request, messages.INFO, u'批量出库%s个读卡器'%counter)
                 return HttpResponseRedirect('/admin/mis/terminal/')
         except Exception,ex:
             errorMsg = ex.message
Ejemplo n.º 2
0
 def applycode_import(self,request):
     error = None
     if request.method == 'POST':
         if 'csvfile' in request.FILES:
             try:
                 file = request.FILES['csvfile']
                 if os.path.splitext(file._name)[1].lower() != '.csv':
                     raise Exception(u'亲!文件扩展名错误,请上传csv文件!')
                 lines = csv_readlines(request.FILES.get('csvfile'))
                 wb = Workbook()
                 ws0 = wb.add_sheet('0')
                 col=0
                 field_names=['groupid','terminalid','applycode']
                 for field in field_names:
                         ws0.write(0,col,field)
                         col = col+1 
                 row = 1
                 for item in lines and lines or []:
                     #print item
                     if item and len(item) >= 2 and \
                         len(item[0]) == 5 and len(item[1]) == 20:
                         code = gen_applycode(item[1]) #item[3]
                         if ApplyCode.objects.filter(src=item[0],terminalid=item[1]).count() == 0:
                             ApplyCode.objects.create(code=code,
                                                      city='0000',
                                                      src=item[0],
                                                      usertype=item[2],
                                                      mcc='0000',
                                                      used=1,
                                                      terminalid=item[1])
                         else:
                             code = ''
                         ws0.write(row,0,item[0]);ws0.write(row,1,item[1]);ws0.write(row,2,code)
                         row = row+1
                         
                 xlsPath = u'/tmp/%s_aplcode_%s.xls' % (request.user.id,str(uuid.uuid1()).replace('-',''))
                 wb.save(xlsPath)
                 response = HttpResponse(open(xlsPath, 'r').read(), mimetype='application/ms-excel')
                 response['Content-Disposition'] = 'attachment; filename=applycode.xls'
                 return response 
             except Exception,ex:
                 error = ex.message
         else:
             error=u'请上传读卡器与渠道关系的csv文件'