flexbiz-server
Version:
Flexible Server
5 lines (4 loc) • 1.58 kB
JavaScript
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"),{onAfterCommit}=require("../../libs/sessionContext");
module.exports=function($router$$){const $createLink$$=function($user$$,$obj$$,$next$$){onAfterCommit(async()=>{$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$$&&$rs$$.length!==0||(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$$&&Logger.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$$){$item$$.unit_time==1&&($item$$.unit_time_name="Ng\u00e0y");$item$$.unit_time==2&&($item$$.unit_time_name="Th\u00e1ng");$item$$.unit_time==3&&($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()};