def download_tvcv(dl_obj, append_domain=[]): if not dl_obj.is_moi_sheet_moi_loai: # return download_quants_chung_sheet(dl_obj) filename = 'tvcv' name = "%s%s" % (filename, '.xls') workbook = download_model(dl_obj, Export_Para=Export_Para_tvcv, append_domain=append_domain) else: filename = 'tvcv_cate' name = "%s%s" % (filename, '.xls') cates = request.env['tvcv'].search(append_domain).mapped( 'cong_viec_cate_id') workbook = xlwt.Workbook() for cate in cates: Export_Para_tvcv_copy = deepcopy(Export_Para_tvcv) if append_domain: domain = [('cong_viec_cate_id', '=', cate.id)] domain.extend(append_domain) download_model(dl_obj, Export_Para=Export_Para_tvcv_copy, append_domain=domain, workbook=workbook, sheet_name=cate.name) return workbook, name
def download_poster(dl_obj, append_domain=[]): filename = 'users' name = "%s%s" % (filename, '.xls') workbook = download_model(dl_obj, Export_Para=Export_Para_quants, append_domain=append_domain) return workbook, name
def download_dcquang_(dl_obj, append_domain=[]): FIELDNAME_FIELDATTR_quants = [ ('huong', {}), ('thiet_bi', {}), ('he_thong', {}), ('stt_he_thong', {}), ('odf_tg', { 'allow_write_merge': False, 'double_merge': True }), ('odf_tg_toa_do', { 'func': odf_tg_toa_do_ }), ('odf_line', {}), ('odf_line_toa_do', {}), ('chay_chinh_hay_du_phong', {}), ('cap', {}), ] Export_Para_quants = { 'exported_model': 'dcquang.dcquang', 'FIELDNAME_FIELDATTR': FIELDNAME_FIELDATTR_quants, 'search_para': { 'order': 'stt_he_thong asc, chay_chinh_hay_du_phong asc' }, #desc } filename = 'users' name = "%s%s" % (filename, '.xls') workbook = download_model(dl_obj, Export_Para=Export_Para_quants, append_domain=append_domain) return workbook, name
def table_bcn_(worksheet,f_name,fixups,needdata,row_index,dl_obj, **kargs): # cates = kargs ['cates'] font_height = dl_obj.font_height bold_style = xlwt.easyxf(generate_easyxf(height=font_height,bold=True)) bold_italic_style = xlwt.easyxf(generate_easyxf( bold=True, height=font_height, italic=True)) Export_Para_cvi = generate_Export_Para_cvi(dl_obj) Export_Para_cvi_copy1 = deepcopy(Export_Para_cvi) is_show_loai_record = dl_obj.env['ir.config_parameter'].sudo().get_param('dai_tgg.' + 'is_show_loai_record') Export_Para_cvi_copy1['FIELDNAME_FIELDATTR']['loai_record']['skip_field'] = not is_show_loai_record Export_Para_cvi_copy1['FIELDNAME_FIELDATTR']['categ_id']['skip_field'] = not is_show_loai_record nhoms = request.env['product.category'].search([('stt_for_report','!=',False)],order='stt_for_report asc') row_index_begin = row_index dl_model_para = {} for loai_record,attrs in LOAI_REC_.items(): dl_model_para ['loai_record'] = loai_record noi_dung_1= attrs['noi_dung'] row_index +=1 write_before_title( {'worksheet' :worksheet, 'row_index_before_title' :row_index, 'col_index_before_title' :0, 'noi_dung':noi_dung_1, 'style':bold_style} ) # ghi A. sự cố , B. công việc row_index +=2 if loai_record ==u'Công Việc': domain_loai_record = [('loai_record','in',[u'Công Việc',u'Sự Vụ']),('loai_cvi','!=',u'Chia Điểm Con')] else: domain_loai_record = [('loai_record','=',loai_record)] for cate in nhoms:# categ_id # ghi các đầu nhóm 1. IP , 2TRD Export_Para_cvi_copy = deepcopy(Export_Para_cvi_copy1) domain =[('categ_id','=',cate.id),(('is_bc','=',True))] + domain_loai_record n_row = download_model(dl_obj, Export_Para=Export_Para_cvi_copy, append_domain=domain, workbook=None, worksheet=worksheet, ROW_TITLE = row_index , return_more_thing_for_bcn = True, write_before_title = write_before_title, kargs_write_before_title = {'worksheet' :worksheet, 'row_index_before_title' :row_index , 'col_index_before_title' :0, 'noi_dung':u'%s/%s'%(cate.stt_for_report,cate.name), 'style':bold_italic_style}, dl_model_para =dl_model_para, no_gray = True, OFFSET_COLUMN = 0, write_title_even_not_recs_for_title=True, is_set_width = False, ) row_index += n_row return row_index- row_index_begin + 1
def download_product(dl_obj, append_domain=[]): # file_name = 'vat_tu_du_phong_%s_dang_chay_%s' file_name = u'Vật tư dự phòng %s đang chạy %s' filename = file_name % (dl_obj.parent_location_id.name, dl_obj.parent_location_runing_id.name) name = "%s.%s" % (filename, '.xls') wb = download_model(dl_obj, Export_Para=Export_Para_product, append_domain=append_domain) return wb, name
def thuebaotable_(worksheet, f_name, fixups, needdata, row_index, dl_obj, **kargs): append_domain = [('date', '=', dl_obj.date)] n_row = download_model(dl_obj, Export_Para=Export_Para_thuebao, append_domain=append_domain, worksheet=worksheet, ROW_TITLE=row_index, return_more_thing_for_bcn=True, no_gray=True, is_set_width=False) return n_row
def dl_cvi(dl_obj, append_domain=[]): # font_height = Export_Para_cvi = generate_Export_Para_cvi(dl_obj) Export_Para_cvi_copy = deepcopy(Export_Para_cvi) Export_Para_cvi_copy['FIELDNAME_FIELDATTR']['nguyen_nhan'][ 'skip_field'] = False Export_Para_cvi_copy['FIELDNAME_FIELDATTR']['tvcv_id']['string'] = u'Loại' filename = 'cvi' name = "%s%s" % (filename, '.xls') wb = download_model(dl_obj, Export_Para=Export_Para_cvi_copy, append_domain=append_domain) return wb, name
def table_detail_p3_(worksheet,f_name,fixups,needdata,row_index,dl_obj, **kargs): Export_Para_cvi_copy = deepcopy(Export_Para_cvi) n_row = download_model(dl_obj, Export_Para=Export_Para_cvi_copy, append_domain=kargs['append_domain_user_id'], workbook=None, worksheet=worksheet, ROW_TITLE = row_index + 1, return_more_thing_for_bcn = True, no_gray = True, OFFSET_COLUMN = 1, ) return n_row
def download_cvi_by_userlist(dl_obj): FIELDNAME_FIELDATTR_cvi = OrderedDict([ ('stt_not_model', { 'is_not_model_field': True, 'string': u'STT', 'func': stt_ }), ('user_id', {}), # ('cate_id',{'width':40}), # ('code',{}), # ('dx_hay_dk',{}), ('diem_tong_ket_thang_result', {}), ]) Export_Para_kpi = { 'exported_model': 'monthly.work', 'FIELDNAME_FIELDATTR': FIELDNAME_FIELDATTR_cvi, 'gen_domain': lambda dl_obj: [('department_id', '=', dl_obj.department_id.id), ('month', '=', dl_obj.month), ('year', '=', dl_obj.year)], 'search_para': { 'order': 'id desc' }, #desc # 'key_sorted' : lambda r: (order_dx_hay_dk[r.dx_hay_dk], order_cate_tvcv.get(r.tvcv_id.cate_id.name, 1)) } workbook = download_model( dl_obj, Export_Para=Export_Para_kpi, # append_domain = [('monthly_work_id.user_id','=',user_id.id)], # workbook=None, # worksheet=worksheet, # ROW_TITLE = row_index + 1, # return_more_thing_for_bcn = True, # no_gray = True, # OFFSET_COLUMN = 1, ) return workbook
def download_quants(dl_obj, append_domain=[]): FIELDNAME_FIELDATTR_quants = [ ('stt_not_model', { 'is_not_model_field': True, 'string': u'STT', 'func': stt_ }), ('id', {}), ('stt', { 'skip_field': not dl_obj.is_not_skip_field_stt }), ('product_id', { 'func': lambda v, n: v.name, 'string': u'Tên Vật Tư', 'width': 30 }), ('thiet_bi_id', { 'func': lambda v, n: v.name, }), ('brand_id', { 'func': lambda v, n: v.name }), ('product_uom_id', { 'string': u'ĐVT' }), ('tracking', { 'func': tracking_ }), ('categ_id', { 'func': lambda v, n: v.name }), ('pn', {}), ('lot_id', { 'func': lambda v, n: v.name, 'string': u'Serial number' }), ('location_id', { 'func': lambda v, n: v.name_get_1_record(), 'write_to_excel': False, 'split': [('tram', { 'is_not_model_field': True, 'string': u'Trạm', 'func': tu_shelf_, 'kargs': { 'stock_type': 'tram' } }), ('phong_may', { 'is_not_model_field': True, 'string': u'Phòng máy', 'func': tu_shelf_, 'kargs': { 'stock_type': 'phong_may' } }), ('tu', { 'is_not_model_field': True, 'string': u'Tủ/cabinet', 'func': tu_shelf_, 'kargs': { 'stock_type': 'tu' } }), ('shelf', { 'is_not_model_field': True, 'string': u'Shelf/ngăn/kệ', 'func': tu_shelf_, 'kargs': { 'stock_type': 'shelf' } }), ('stt_trong_self', { 'is_not_model_field': True, 'string': u'STT trong shelf/số thùng', 'func': tu_shelf_, 'kargs': { 'stock_type': 'stt_trong_self' } }), ('slot', { 'is_not_model_field': True, 'string': u'Slot', 'func': tu_shelf_, 'kargs': { 'stock_type': 'slot' } })] }), ('location_id_complete', { 'transfer_fname': 'location_id', 'string': 'kho tên đầy đủ', 'func': lambda v, n: v.name_get_1_record() }), ('quantity', { 'string': u'Số lượng' }), ('qty_dieu_chinh', { 'transfer_fname': 'quantity', 'string': u'Số lượng điều chỉnh', 'skip_field': not dl_obj.is_xuat_dc }), ('tram_dc', { 'is_not_model_field': True, 'string': u'Trạm điều chuyển', 'skip_field': not dl_obj.is_xuat_kho_dc }), ('phong_may_dc', { 'is_not_model_field': True, 'string': u'Phòng máy điều chuyển', 'skip_field': not dl_obj.is_xuat_kho_dc }), ('tu_dc', { 'is_not_model_field': True, 'string': u'Tủ điều chuyển', 'skip_field': not dl_obj.is_xuat_kho_dc }), ('shelf_dc', { 'is_not_model_field': True, 'string': u'Shelf điều chuyển', 'skip_field': not dl_obj.is_xuat_kho_dc }), ('stt_trong_self_dc', { 'is_not_model_field': True, 'string': u'STT trong shelf điều chuyển', 'skip_field': not dl_obj.is_xuat_kho_dc }), ('slot_dc', { 'is_not_model_field': True, 'string': u'Slot điều chuyển', 'skip_field': not dl_obj.is_xuat_kho_dc }) ] Export_Para_quants = { 'exported_model': 'stock.quant', 'FIELDNAME_FIELDATTR': FIELDNAME_FIELDATTR_quants, 'gen_domain': gen_domain_stock_quant, # 'search_para':{'order': 'stt asc'},#desc } if not dl_obj.is_moi_sheet_moi_loai: filename = u'Số lượng trong kho %s' % dl_obj.parent_location_id.name name = "%s%s" % (filename, '.xls') workbook = download_model(dl_obj, Export_Para=Export_Para_quants, append_domain=append_domain) else: filename = u'Số lượng trong kho phân_nhóm %s' % dl_obj.parent_location_id.name name = "%s%s" % (filename, '.xls') Quant = request.env['stock.quant'] #.search([]) tram_domain = gen_domain_stock_quant(dl_obj) # cates = Quant.search(append_domain + tram_domain).mapped('categ_id') cates = Quant.search(append_domain + tram_domain).sorted( key=lambda r: r.categ_id.stt_for_report).mapped('categ_id') workbook = xlwt.Workbook() for cate in cates: Export_Para_quants_copy = deepcopy(Export_Para_quants) domain = [('categ_id', '=', cate.id)] if append_domain: domain.extend(append_domain) download_model(dl_obj, Export_Para=Export_Para_quants_copy, append_domain=domain, workbook=workbook, sheet_name=cate.name) return workbook, name
def download_user(dl_obj, append_domain=[]): def groups_id_(v, n): nhom_chinhs = dl_obj.env['res.groups'].search([ ('name', 'in', [u'Group Thay Đổi TVCV', u'Group Chấm điểm CVI']) ]).ids new = v.filtered(lambda r: True if (r.id in nhom_chinhs) else False) if new: return ','.join(new.mapped('name')) else: return 'khong co j' FIELDNAME_FIELDATTR_quants = [ ('stt_not_model', { 'is_not_model_field': True, 'string': u'STT', 'func': stt_ }), ('name', {}), ('department_id', {}), ('cac_sep_ids', { 'func': cac_sep_ids_ }), ('groups_id', { 'func': groups_id_, }), ] Export_Para_quants = { 'exported_model': 'res.users', 'FIELDNAME_FIELDATTR': FIELDNAME_FIELDATTR_quants, # 'gen_domain':gen_domain_stock_quant, 'search_para': { 'order': 'name asc' }, #desc } if not dl_obj.is_moi_sheet_moi_loai: # return download_quants_chung_sheet(dl_obj) filename = 'users' name = "%s%s" % (filename, '.xls') workbook = download_model(dl_obj, Export_Para=Export_Para_quants, append_domain=append_domain) else: filename = 'users_cate' name = "%s%s" % (filename, '.xls') Quant = request.env['res.users'] #.search([]) cates = Quant.search(append_domain).mapped('department_id') workbook = xlwt.Workbook() for cate in cates: Export_Para_quants_copy = deepcopy(Export_Para_quants) domain = [('department_id', '=', cate.id)] if append_domain: domain.extend(append_domain) download_model(dl_obj, Export_Para=Export_Para_quants_copy, append_domain=domain, workbook=workbook, sheet_name=cate.name) return workbook, name