UNPKG

flexbiz-server

Version:

Flexible Server

5 lines (4 loc) 1.58 kB
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()};