flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.51 kB
JavaScript
'use strict';var model=global.getModel("warranty");const controller=require("../../controllers/controller");var contract=global.getModel("contract"),link=global.getModel("link"),schedule=require("../../libs/schedule");const async=require("async");
module.exports=function($router$$){var $createLink$$=function($user$$,$obj$$,$next$$){$obj$$.id_hd&&link.find({$or:[{id_a:$obj$$._id,id_b:$obj$$.id_hd},{id_a:$obj$$.id_hd,id_b:$obj$$._id}]}).lean().exec(function($e$$,$rs$$){$rs$$&&0!==$rs$$.length||(new link({id_app:$obj$$.id_app,id_a:$obj$$.id_hd,id_b:$obj$$._id,collection_a:"contract",collection_b:"warranty"})).save(function($e$$){$e$$&&console.error($e$$)})});schedule.createWarrantyJob($obj$$);$next$$(null,$obj$$)};(new controller($router$$,model,
"warranty",{sort:{user_created:-1},onView:function($user$$,$items$$,$next$$){async.series({contract:function($callback$$){$items$$.joinModel($user$$.current_id_app,contract,[{where:{_id:"id_hd"},fields:[{name:"ten_hd",value:"ten_hd"}]}],function(){$callback$$(null,$items$$)})},unit_time:function($callback$$){$items$$.forEach(function($item$$){1==$item$$.unit_time&&($item$$.unit_time_name="Ng\u00e0y");2==$item$$.unit_time&&($item$$.unit_time_name="Th\u00e1ng");3==$item$$.unit_time&&($item$$.unit_time_name=
"N\u0103m")});$callback$$()}},function(){$next$$(null,$items$$)})},onCreated:$createLink$$,onUpdated:$createLink$$,onDeleted:function($user$$,$obj$$,$next$$){schedule.deleteWarrantyJob($obj$$._id,function(){$next$$(null,$obj$$)})}})).route()};