123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- function expired_account_counters_now (widget) {
- "use strict";
- var model= openerp;
- widget.ExpiredAccountCountersNowWidget = widget.Base.extend({
- template: 'ExpiredAccountCountersNow',
- resPartner : [],
- moveLine : [],
- resCompany : [],
- events: {
- 'click a': 'showCustomers',
- 'click h2': 'showCustomers',
- },
- init: function (parent) {
- this._super(parent, {
- width : 3,
- height: 2
- });
- },
- start: function () {
- var self = this;
- self.fetchInitial();
- },
- fetchInitial: function () {
- var self = this;
- self.$el.find('#morosidad').block({
- message: null,
- overlayCSS: {
- backgroundColor: '#FAFAFA'
- }
- });
- self.$el.find('.widget-content.widget-loading').css('display','flex');
- self.fetchPartner().then(function(resPartner){
- return resPartner;
- }).then(function(resPartner){
- self.resPartner = resPartner;
- return self.fetchMoveLine(resPartner);
- }).then(function(moveLine){
- self.moveLine= moveLine;
- return self.fetchResCompany();
- }).then(function(resCompany){
- self.resCompany=resCompany;
- return self.fetchReduceMoveLine();
- });
- },
- // Partner
- fetchPartner: function () {
- var self = this;
- var defer = $.Deferred();
- var fields =['id', 'name', 'unreconciled_aml_ids', 'credit'];
- var domain =[['active', '=', true], ['credit', '>', 0]];
- var resPartner = new model.web.Model('res.partner');
- resPartner.query(fields).filter(domain).all().then(function (results) {
- defer.resolve(results);
- });
- return defer;
- },
- // Move line
- fetchMoveLine: function (partner) {
- var self = this;
- var hoy =moment().format('YYYY-MM-DD');
- var defer = $.Deferred();
- var move_id = _.flatten(_.map(partner, function (map) {
- return map.unreconciled_aml_ids
- }));
- var field = ['id', 'partner_id', 'amount_residual', 'credit', 'debit', 'date_maturity'];
- var domain = [['credit', '<=', 0], ['id', 'in', move_id], ['date_maturity', '=', hoy]];
- var moveLine = new model.web.Model('account.move.line');
- moveLine.query(field).filter(domain).all().then(function (results) {
- defer.resolve(results);
- });
- return defer;
- },
- //Comapnia
- fetchResCompany: function () {
- var self = this;
- var defer = $.Deferred();
- var fields =['id','name', 'currency_id','logo'];
- var domain =[['id', '=', 1]];
- var resComapy = new model.web.Model('res.company');
- resComapy.query(fields).filter(domain).all().then(function (results) {
- defer.resolve(results);
- });
- return defer ;
- } ,
- // Reduce Move line
- fetchReduceMoveLine: function () {
- var self = this;
- var residual =0;
- var company = _.map(self.resCompany, function(map){
- return map.currency_id[1];
- });
- if (self.moveLine.length > 0){
- residual = _.reduce(_.map(self.moveLine, function(map){
- return map.amount_residual;
- }),function(memo, num){
- return memo + num;
- });
- }
- self.$el.find('.widget-content.widget-loading').css('display','none');
- self.$el.find('.widget-content').find('a').text(accounting.formatNumber(residual,2, ".", ",")).append(' <small>'+company+'</small>');
- // self.$el.find('.widget-footer').find('span').text("Monto en " + company);
- self.$el.find('#morosidad').unblock()
- },
- showCustomers: function (e) {
- var self = this;
- var hoy =moment().format('YYYY-MM-DD');
- var move_id = _.flatten(_.map(self.moveLine, function (map) {
- return map.id;
- }));
- this.do_action({
- name:"Listado de clientes por cobrar hoy",
- type: 'ir.actions.act_window',
- res_model: "res.partner",
- views: [[false, 'list']],
- target: 'new',
- domain: [['unreconciled_aml_ids', 'in', move_id]],
- context: {},
- });
- }
- });
- }
|