Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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
Exemplo n.º 7
0
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
Exemplo n.º 8
0
 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
Exemplo n.º 9
0
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
Exemplo n.º 10
0
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
Exemplo n.º 11
0
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