示例#1
0
 def _write_lines(self, cr, uid, ids, category_names, context=None) :
     i = self.current_line
     sheet = self.sheet
     today = self.today
     year = today.year
     month = today.month
     day = today.day
     sheet.row(i).height_mismatch = True
     sheet.row(i).height = 256/2*3
     for j in (13,14):
         sheet.write(i-1,j,"",xl_module.black_line)
     for j in range(15,28):
         sheet.write(i-1,j,"",xl_module.blue_line)
     assets = self._get_assets(cr, uid, ids, category_names=category_names, context=context)
     if not assets:
         self.current_line += 1
         return
     for asset in assets :
         purchase_date = datetime.strptime(asset.purchase_date_2,'%Y-%m-%d')
         if purchase_date > today:
             continue
         purchase_value = float(asset.x_purchase_value) if purchase_date < datetime(2014,1,1) else asset.purchase_value
         an_dot = 0.0
         m_deprec = [0.0]*12
         last_date = datetime(year=year-1, month=1, day=1)
         remaining_value = asset.purchase_value
         last_year_last_date = datetime(year=year-1, month=1, day=1)
         pre_value = asset.purchase_value
         if asset.depreciation_line_ids:
             an_dot = asset.depreciation_line_ids[0].amount * 12.0
             for line in asset.depreciation_line_ids:
                 deprec_date = datetime.strptime(line.depreciation_date,'%Y-%m-%d')
                 if deprec_date.year > 2013 and deprec_date.year < year and deprec_date > last_year_last_date:
                     last_year_last_date = deprec_date
                     pre_value = line.remaining_value
                 elif deprec_date.year == year and deprec_date < today:
                     m_deprec[deprec_date.month-1] = line.amount
                     if deprec_date > last_date:
                         last_date = deprec_date
                         remaining_value = line.remaining_value
         sheet.write(i,1,asset.name,xl_module.line_left)
         sheet.write(i,2,asset.code or "")
         sheet.write(i,3,asset.allocation or "")
         sheet.write(i,4,purchase_date.strftime('%d/%m/%Y'),xl_module.line)
         sheet.write(i,5,purchase_value,xl_module.line)
         sheet.write(i,6,pre_value if purchase_date.year < year else 0)
         sheet.write(i,7,purchase_value if purchase_date.year == year else '')
         sheet.write(i,10,xl_module.list_sum([[i,5,+1],[i,8,-1]]),xl_module.line)
         sheet.write(i,11,str(int(100.0/(asset.category_id.method_number/12.0))) + "%",xl_module.line)
         sheet.write(i,12,xl_module.list_sum([[i,5,+1],[i,6,-1]]) if purchase_date.year < year else 0,xl_module.line)
         sheet.write(i,13,an_dot,xl_module.black_line)
         sheet.write(i,14,sum(m_deprec),xl_module.black_red_line)
         for j in range(0,11):
             sheet.write(i,15+j,m_deprec[j],xl_module.blue_line)
         sheet.write(i,26,m_deprec[11],xl_module.blue_red_line)
         sheet.write(i,27,xl_module.range_sum(i,15,i,26),xl_module.blue_red_line)
         sheet.write(i,28,remaining_value,xl_module.line_right)
         i += 1
     self.current_line = i
示例#2
0
    def _write_total(self, title, i1, i2):
        self.current_line += 1
        i = self.current_line
        sheet = self.sheet
        sheet.write(self.current_line-1,1,"",xl_module.line_left)
        sheet.write(self.current_line-1,28,"",xl_module.line_right)
        for j in (13,14):
            sheet.write(i-1,j,"",xl_module.black_line)
        for j in range(15,28):
            sheet.write(i-1,j,"",xl_module.blue_line)
        self.total_lines.append(self.current_line)
        sheet.row(self.current_line).height_mismatch = True
        sheet.row(self.current_line).height = 256*3
        sheet.write(self.current_line,1,title,xl_module.total_left)
        for j in (2,3,4,9,11) :
            sheet.write(self.current_line,j,"",xl_module.total_center)
        if i1<=i2 :
            for j in (5,6,7,8,10,12) :
                sheet.write(self.current_line,j,xl_module.range_sum(i1,j,i2,j),xl_module.total_center)
            sheet.write(self.current_line,13,xl_module.range_sum(i1,13,i2,13),xl_module.total_black)
            sheet.write(self.current_line,14,xl_module.range_sum(i1,14,i2,14),xl_module.total_black_red)

            for j in range(15,26) :
                sheet.write(self.current_line,j,xl_module.range_sum(i1,j,i2,j),xl_module.total_blue)

            sheet.write(self.current_line,26,xl_module.range_sum(i1,26,i2,26),xl_module.total_blue_red)
            sheet.write(self.current_line,27,xl_module.range_sum(i1,27,i2,27),xl_module.total_blue_red)
            sheet.write(self.current_line,28,xl_module.range_sum(i1,28,i2,28),xl_module.total_right)
        self.current_line += 1
 def _write_lines(self, cr, uid, ids, category_names, context=None) :
     i = self.current_line
     sheet = self.sheet
     today = self.today
     year = today.year
     month = today.month
     day = today.day
     sheet.row(i).height_mismatch = True
     sheet.row(i).height = 256/2*3
     for j in (13,14):
         sheet.write(i-1,j,"",xl_module.black_line)
     for j in range(15,28):
         sheet.write(i-1,j,"",xl_module.blue_line)
     assets = self._get_assets(cr, uid, ids, category_names=category_names, context=context)
     if not assets or len(assets)<=0:
         self.current_line += 1
         return
     for asset in assets :
         sheet.write(i,1,asset.name,xl_module.line_left)
         sheet.write(i,2,asset.code or "")
         sheet.write(i,3,asset.allocation or "")
         purchase_date = datetime.strptime(asset.purchase_date_2,'%Y-%m-%d')
         sheet.write(i,4,purchase_date.strftime('%d/%m/%Y'),xl_module.line)
         if purchase_date < datetime(2014,1,1):
             sheet.write(i,5,float(asset.x_purchase_value),xl_module.line)
         else:
             sheet.write(i,5,asset.purchase_value,xl_module.line)
         sheet.write(i,6,xl_module.list_sum([[i,5,+1],[i,12,-1]] if datetime.strptime(asset.purchase_date,'%Y-%m-%d') > datetime(year,1,1) else 0))
         sheet.write(i,10,xl_module.list_sum([[i,6,+1],[i,7,+1],[i,8,-1]]),xl_module.line)
         sheet.write(i,11,str(int(100.0/(asset.category_id.method_number/12.0))) + "%",xl_module.line)
         totcurr = an_dot = 0.0
         totpre = asset.dep_2013 or 0.0
         m_deprec = [0.0]*12
         if len(asset.depreciation_line_ids)>0:
             an_dot = asset.depreciation_line_ids[0].amount *12.0
             for line in asset.depreciation_line_ids :
                 deprec_date = datetime.strptime(line.depreciation_date,'%Y-%m-%d')
                 if deprec_date.year > 2013 and deprec_date.year < year:
                     totpre += line.amount
                 elif deprec_date.year == year :
                     m_deprec[deprec_date.month-1] = line.amount
                     if deprec_date < today:
                         totcurr += line.amount
         sheet.write(i,12,totpre,xl_module.line)
         sheet.write(i,13,an_dot,xl_module.black_line)
         sheet.write(i,14,totcurr,xl_module.black_red_line)
         for j in range(0,11) :
             sheet.write(i,15+j,m_deprec[j],xl_module.blue_line)
         sheet.write(i,26,m_deprec[11],xl_module.blue_red_line)
         sheet.write(i,27,xl_module.range_sum(i,15,i,26),xl_module.blue_red_line)
         sheet.write(i,28,asset.value_residual,xl_module.line_right)
         i += 1
     self.current_line = i