flexbiz-server
Version:
Flexible Server
7 lines (6 loc) • 2.86 kB
JavaScript
const crypto=require("crypto"),cdpstk=require("../../libs/cdpstk"),{setCacheReport,getCacheReport}=require("../../libs/redis-cache"),{analyzeData}=require("../../libs/utils"),Account=global.getModel("account"),underscore=require("underscore"),moment=require("moment"),controller=require("../../controllers/controllerRPT");
module.exports=function($router$$){new controller($router$$,"analyzedata",async function($req$$,$callback$$){const $query$$=$req$$.query,$id_app$$=$query$$.id_app,$question$$=$query$$.cau_hoi;if(!$query$$.tu_ngay||!$query$$.den_ngay)return $callback$$("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 tu_ngay,den_ngay");if($query$$.id_conv){var $conversationHistory_pt$$=await getCacheReport($req$$.user.email,$id_app$$,"analyzedata",null,null,null,$query$$.id_conv);if($conversationHistory_pt$$&&
$conversationHistory_pt$$.data&&$conversationHistory_pt$$.data.length>1)return $conversationHistory_pt$$=await analyzeData(null,$question$$,$conversationHistory_pt$$.data),await setCacheReport($req$$.user.email,$id_app$$,"analyzedata",$conversationHistory_pt$$.conversationHistory,$query$$.id_conv),$callback$$(null,{reply:$conversationHistory_pt$$.reply,question:$conversationHistory_pt$$.question,id_conv:$query$$.id_conv})}$query$$.bac_tk=0;Logger.info("\u0110ang t\u00ednh b\u1ea3ng c\u00e2n \u0111\u1ed1i ph\u00e1t sinh t\u00e0i kho\u1ea3n...");
cdpstk($query$$,function($error$$,$report$$){if($error$$)return $callback$$($error$$);$report$$.joinModel2($id_app$$,Account,[{where:"tk",fields:["ten_tk","tk_me","loai_tk"]}],async function($report$$){$report$$=underscore.sortBy($report$$,function($r$$){return $r$$.tk});try{let $datas$$=[],$bang_cdpstk$$=$report$$.filter($r$$=>$r$$.loai_tk==0).map($r$$=>({tai_khoan:$r$$.tk,ten_tai_khoan:$r$$.ten_tk,du_dau_ky:{no:$r$$.dk_no,co:$r$$.dk_co},phat_sinh:{no:$r$$.ps_no,co:$r$$.ps_co},du_cuoi_ky:{no:$r$$.ck_no,
co:$r$$.ck_co}}));$datas$$.push({title:`D\u1eef li\u1ec7u b\u1ea3ng c\u00e2n \u0111\u1ed1i ph\u00e1t sinh t\u00e0i kho\u1ea3n t\u1eeb ng\u00e0y ${moment($query$$.tu_ngay).format("DD/MM/YYYY")} \u0111\u1ebfn ng\u00e0y ${moment($query$$.den_ngay).format("DD/MM/YYYY")}`,data:$bang_cdpstk$$});let $pt$$=await analyzeData($datas$$,$question$$),$id_conv$$=`conversationHistory-${$id_app$$}-${moment($query$$.tu_ngay).format("YYYYMMDD")}-${moment($query$$.den_ngay).format("YYYYMMDD")}-${crypto.randomBytes(20).toString("hex")}`;
await setCacheReport($req$$.user.email,$id_app$$,"analyzedata",$pt$$.conversationHistory,$id_conv$$);$callback$$(null,{reply:$pt$$.reply,question:$pt$$.question,id_conv:$id_conv$$})}catch($e$$){$callback$$({error:$e$$.message||$e$$.error||$e$$})}})})},{cache:!1,resHandler:async($req$$,$result$$,$res$$)=>{const {error:$error$$,data:$data$$}=$result$$;if($error$$)return $res$$.status(400).send($error$$);$res$$.send($data$$)}})};