UNPKG

kpiplus

Version:

KPI+

1 lines 1.26 kB
var model=require("../../models/warranty"),controller=require("../../controllers/controller"),User=require("../../models/user"),contract=require("../../models/contract"),link=require("../../models/link"),arrays=require("../../libs/array-funcs"),schedule=require("../../libs/schedule"),async=require("async");module.exports=function(e){var n=function(e,n,i){n.id_hd&&link.find({$or:[{id_a:n._id,id_b:n.id_hd},{id_a:n.id_hd,id_b:n._id}]}).lean().exec(function(e,i){i&&0!==i.length||new link({id_app:n.id_app,id_a:n.id_hd,id_b:n._id,collection_a:"contract",collection_b:"warranty"}).save(function(e,n){e&&console.error(e)})}),schedule.createWarrantyJob(n),i(null,n)};this.contr=new controller(e,model,"warranty",{sort:{user_created:-1},onView:function(e,n,i){async.parallel({contract:function(i){n.joinModel(e.current_id_app,contract,[{where:{_id:"id_hd"},fields:[{name:"ten_hd",value:"ten_hd"}]}],function(e){i(null,n)})},unit_time:function(e){n.forEach(function(e){1==e.unit_time&&(e.unit_time_name="Ngày"),2==e.unit_time&&(e.unit_time_name="Tháng"),3==e.unit_time&&(e.unit_time_name="Năm")}),e()}},function(e,r){i(null,n)})},onCreated:n,onUpdated:n,onDeleted:function(e,n,i){schedule.deleteWarrantyJob(n._id,function(e){i(null,n)})}}),this.contr.route()};