flexbiz-server 12.6.11 → 12.6.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +11 -3
- package/server/app.js +11 -10
- package/server/auths/local.js +6 -6
- package/server/cluster.js +11 -12
- package/server/controllers/controller.js +14 -3
- package/server/controllers/controllerRPT.js +4 -4
- package/server/controllers/controllerUtils.js +12 -12
- package/server/controllers/createHandler.js +20 -21
- package/server/controllers/deleteHandler.js +3 -3
- package/server/controllers/findHandler.js +49 -48
- package/server/controllers/updateHandler.js +25 -26
- package/server/controllers/viewHandler.js +14 -14
- package/server/flow/handlers.js +2 -2
- package/server/flow/nodes/aiAnalysis.js +7 -7
- package/server/flow/nodes/checkAction.js +7 -0
- package/server/flow/nodes/email.js +7 -8
- package/server/flow/utils.js +58 -1
- package/server/global.js +1 -1
- package/server/libs/WorkerStaticPool.js +19 -18
- package/server/libs/cdpskh.js +3 -2
- package/server/libs/cdpstk.js +11 -11
- package/server/libs/cktk.js +3 -3
- package/server/libs/ckvt.js +10 -10
- package/server/libs/ckvtnpp.js +6 -5
- package/server/libs/ckvttt.js +5 -5
- package/server/libs/ctvt.js +6 -6
- package/server/libs/dkcn.js +1 -1
- package/server/libs/dktk.js +4 -3
- package/server/libs/docs.js +31 -25
- package/server/libs/dtbanletheosp.js +4 -1
- package/server/libs/email.js +2 -2
- package/server/libs/executiveDashboard.js +8 -0
- package/server/libs/getGiaban.js +2 -2
- package/server/libs/kpistatus.js +38 -36
- package/server/libs/kqchamcong.js +12 -0
- package/server/libs/kqhdkd.js +8 -0
- package/server/libs/post-book.js +4 -3
- package/server/libs/post-socai.js +2 -2
- package/server/libs/post-sokho.js +5 -5
- package/server/libs/redis-cache.js +0 -0
- package/server/libs/sctcnkh.js +18 -0
- package/server/libs/sessionContext.js +6 -11
- package/server/libs/socaitk.js +9 -0
- package/server/libs/thnxt.js +2 -1
- package/server/libs/tinhgiatb.js +4 -4
- package/server/libs/tuoinophaithu.js +11 -10
- package/server/libs/tuoinophaitra.js +12 -10
- package/server/libs/utils.js +8 -4
- package/server/libs/vectorService.js +12 -8
- package/server/models/actionLog.js +2 -0
- package/server/models/aimemory.js +1 -0
- package/server/models/app.js +3 -2
- package/server/models/approve.js +4 -4
- package/server/models/chat_message.js +2 -0
- package/server/models/chat_session.js +2 -0
- package/server/models/checkin.js +2 -2
- package/server/models/chitietluongds.js +4 -3
- package/server/models/customer.js +8 -9
- package/server/models/data_list_config.js +2 -2
- package/server/models/dmchietkhau.js +3 -4
- package/server/models/dmchietkhauhd.js +3 -4
- package/server/models/dmdiemthuong.js +2 -4
- package/server/models/dmhoahonghd.js +2 -3
- package/server/models/dmhoahongnpp.js +2 -3
- package/server/models/dmletet.js +2 -2
- package/server/models/dmphatdichvu.js +1 -2
- package/server/models/filechunk.js +2 -2
- package/server/models/hd2.js +9 -11
- package/server/models/hd3.js +10 -11
- package/server/models/listinfo.js +3 -1
- package/server/models/pc0.js +4 -4
- package/server/models/pn1.js +9 -11
- package/server/models/pn2.js +3 -3
- package/server/models/pnc.js +9 -10
- package/server/models/pnh.js +5 -6
- package/server/models/pnk.js +7 -7
- package/server/models/pxc.js +9 -10
- package/server/models/pxh.js +6 -7
- package/server/models/pxk.js +7 -8
- package/server/models/schedule.js +17 -16
- package/server/models/sokho.js +10 -11
- package/server/models/step.js +1 -1
- package/server/modules/lists/bg-cdvt.js +1 -1
- package/server/modules/lists/bg-cdvtnpp.js +1 -1
- package/server/modules/lists/ls-chat_session.js +5 -0
- package/server/modules/lists/ls-checkin.js +11 -12
- package/server/modules/lists/ls-chitietluongds.js +2 -2
- package/server/modules/lists/ls-customer.js +20 -20
- package/server/modules/lists/ls-dmnv.js +12 -11
- package/server/modules/lists/ls-file.js +5 -5
- package/server/modules/lists/ls-mailsent.js +3 -3
- package/server/modules/lists/ls-warranty.js +3 -4
- package/server/modules/reports/calc-tinhluong.js +42 -40
- package/server/modules/reports/rp-dtbanlekempk.js +1 -1
- package/server/modules/reports/rp-dtbanletheoctkempk.js +13 -13
- package/server/modules/reports/rp-kgchamcong.js +1 -12
- package/server/modules/reports/rp-kqhdkd.js +1 -7
- package/server/modules/reports/rp-phanbochitienchohoadon.js +1 -1
- package/server/modules/reports/rp-ptcttct.js +2 -2
- package/server/modules/reports/rp-sctcnkh.js +4 -19
- package/server/modules/reports/rp-socaitk.js +1 -8
- package/server/modules/systems/sys-app.js +20 -19
- package/server/modules/vouchers/vo-hd2.js +71 -85
- package/server/modules/vouchers/vo-hd3.js +15 -21
- package/server/modules/vouchers/vo-pbl.js +48 -48
- package/server/modules/vouchers/vo-pc1.js +11 -11
- package/server/modules/vouchers/vo-pc2.js +13 -12
- package/server/modules/vouchers/vo-pgh.js +12 -15
- package/server/modules/vouchers/vo-pn1.js +27 -33
- package/server/modules/vouchers/vo-pnc.js +14 -15
- package/server/modules/vouchers/vo-pnh.js +12 -15
- package/server/modules/vouchers/vo-pnk.js +11 -15
- package/server/modules/vouchers/vo-po1.js +0 -0
- package/server/modules/vouchers/vo-pxc.js +24 -22
- package/server/modules/vouchers/vo-pxh.js +13 -22
- package/server/modules/vouchers/vo-pxk.js +11 -16
- package/server/route.js +32 -32
- package/server/workers/inputWorker.js +8 -8
- package/server/workers/reportWorker.js +3 -4
- package/server/workers/sendEmail.js +11 -11
- package/server/workers/worker-utils.js +3 -1
- package/server/actions/mailtemplate.js +0 -142
- package/server/actions/schedule.js +0 -23
- package/server/libs/schedule.js +0 -18
- package/server/models/bds_area.js +0 -4
- package/server/models/bds_block.js +0 -3
- package/server/models/bds_building.js +0 -4
- package/server/models/bds_floor.js +0 -3
- package/server/models/bds_floordetail.js +0 -9
- package/server/models/bds_nhadat.js +0 -13
- package/server/models/bds_nhadat_moigioi_ban.js +0 -3
- package/server/models/bds_nhomnhadat.js +0 -4
- package/server/models/bds_phanloainhadat.js +0 -3
- package/server/models/campaign.js +0 -6
- package/server/models/form.js +0 -3
- package/server/models/formvalue.js +0 -3
- package/server/models/hlink.js +0 -2
- package/server/models/hlinkvalue.js +0 -2
- package/server/models/kbm_bcdkt.js +0 -4
- package/server/models/kbm_kqhdkd.js +0 -3
- package/server/models/kbm_lcttgt.js +0 -5
- package/server/models/kbm_lctttt.js +0 -4
- package/server/models/kbm_pttct.js +0 -4
- package/server/models/kbm_tkgtgt.js +0 -5
- package/server/models/mailschedule.js +0 -2
- package/server/models/waitevent.js +0 -2
- package/server/modules/lists/ls-bds_area.js +0 -3
- package/server/modules/lists/ls-bds_block.js +0 -1
- package/server/modules/lists/ls-bds_building.js +0 -3
- package/server/modules/lists/ls-bds_dmnhbds.js +0 -6
- package/server/modules/lists/ls-bds_floor.js +0 -2
- package/server/modules/lists/ls-bds_floordetail.js +0 -19
- package/server/modules/lists/ls-bds_nhadat.js +0 -19
- package/server/modules/lists/ls-bds_nhadat_moigioi_ban.js +0 -9
- package/server/modules/lists/ls-bds_nhomnhadat.js +0 -1
- package/server/modules/lists/ls-bds_phanloainhadat.js +0 -1
- package/server/modules/lists/ls-campaign.js +0 -1
- package/server/modules/lists/ls-dmnhnd.js +0 -1
- package/server/modules/lists/ls-formvalue.js +0 -1
- package/server/modules/lists/ls-hlink.js +0 -1
- package/server/modules/lists/ls-hlinkvalue.js +0 -1
- package/server/modules/lists/ls-mailschedule.js +0 -7
- package/server/modules/lists/ls-waitevent.js +0 -1
- package/server/modules/public/form.js +0 -7
- package/server/modules/public/hlink.js +0 -3
package/server/libs/docs.js
CHANGED
|
@@ -1,34 +1,40 @@
|
|
|
1
|
-
const
|
|
2
|
-
5)return{}
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
$
|
|
8
|
-
|
|
1
|
+
const numeral=require("numeral"),moment=require("moment"),utils=require("./utils"),getApiContext=$id_app$$=>({apis:{asyncGetData:async($token$$,$model$$,$condition$$={})=>{$condition$$.id_app=$id_app$$;return global.getModel($model$$).findOne($condition$$).lean()}},userInfo:{email:"admin",token:""}}),types=[{code:"String",ten:"String"},{code:"Number",ten:"Number"},{code:"Boolean",ten:"Boolean"},{code:"Date",ten:"Date"},{code:"DateTime",ten:"DateTime",type_data:"Date"},{code:"Time",ten:"Time",type_data:"Date"},
|
|
2
|
+
{code:"Array",ten:"Array"},{code:"Mixed",ten:"Mixed",type_data:"Json"},{code:"File",ten:"Excel",type_data:"String"},{code:"Pdf",ten:"PDF",type_data:"String"},{code:"Image",ten:"Image",type_data:"String"},{code:"OtherFile",ten:"OtherFile",type_data:"String"}],buildJsonSchema=async function($entries_fields$$,$depth$$=0,$id_app$$,$listInfo$$){if($depth$$>5)return{};const $validFields$$=$entries_fields$$.filter($f$$=>["ten_vt","ten_kh","ten_kho"].indexOf($f$$.name)>=0||$f$$.not_input!="true"&&$f$$.not_input!=
|
|
3
|
+
1&&$f$$.type!="Group"&&$f$$.type!="Button"&&$f$$.type!="Action"&&$f$$.type!="Link"&&$f$$.type!="Files"&&types.find($t$$=>$t$$.code==$f$$.type));await Promise.all(($entries_fields$$||[]).filter($f$$=>$f$$.header.indexOf("return ")>=0).map($field$$=>(async()=>{if($id_app$$&&$listInfo$$){let $body_func$$=$field$$.header;$body_func$$=`return (async ()=>{
|
|
4
|
+
${$body_func$$}
|
|
5
|
+
})()`;try{const $func$$=new Function("master","Moment","Numeral","API","utils","context","field","listInfo",$body_func$$),$context$$=getApiContext($id_app$$);let $header$$=await $func$$({},moment,numeral,$context$$.apis,{},$context$$,$field$$,$listInfo$$);$field$$.header=$header$$}catch($e$$){console.error($e$$.message,$field$$.header,$body_func$$),$field$$.header=$field$$.name}}else $field$$.header=$field$$.name})()));$entries_fields$$=await Promise.all($validFields$$.map(async $f$$=>{var $fieldType_typeInfo$$=
|
|
6
|
+
types.find($t$$=>$t$$.code==$f$$.type);$fieldType_typeInfo$$=$fieldType_typeInfo$$?$fieldType_typeInfo$$.type_data||$fieldType_typeInfo$$.code:$f$$.type;let $fieldDef$$={type:$fieldType_typeInfo$$,required:$f$$.required==1||$f$$.required=="true"?!0:void 0,maxlength:$f$$.maxlength?Number($f$$.maxlength):void 0,header:$f$$.header||$f$$.name,description:$f$$.api_description||$f$$.header||void 0};if($f$$.ref_model){var $detailCode_ref_model$$=$f$$.ref_model;const $isJson$$=typeof $detailCode_ref_model$$===
|
|
7
|
+
"string"&&($detailCode_ref_model$$.trim().startsWith("{")||$detailCode_ref_model$$.trim().startsWith("[")),$hasComma$$=typeof $detailCode_ref_model$$==="string"&&$detailCode_ref_model$$.indexOf(",")>=0;try{$isJson$$?$detailCode_ref_model$$=utils.JSONParser($detailCode_ref_model$$):$hasComma$$&&($detailCode_ref_model$$=$detailCode_ref_model$$.split(",").map($v$$=>({code:$v$$,name:$v$$})))}catch($e$$){Logger.error("[docs] parse ref_model",$detailCode_ref_model$$,$e$$)}Array.isArray($detailCode_ref_model$$)?
|
|
8
|
+
$fieldDef$$.options={options:$detailCode_ref_model$$,value_field:$f$$.ref_field||"code",label_field:$f$$.ref_label||$f$$.ref_field||"name"}:$fieldDef$$.ref={ref_model:$detailCode_ref_model$$,value_field:$f$$.ref_field||"code",label_field:$f$$.ref_label||$f$$.ref_field||"name",listinfo_code:$isJson$$||$hasComma$$?void 0:$detailCode_ref_model$$}}Object.keys($fieldDef$$).forEach($key$$=>$fieldDef$$[$key$$]===void 0&&delete $fieldDef$$[$key$$]);if(($detailCode_ref_model$$=$f$$.form||"")&&$detailCode_ref_model$$!==
|
|
9
|
+
"0")try{const $subList$$=await global.getModel("listinfo").findOne({code:$detailCode_ref_model$$}).lean();if($subList$$&&$subList$$.fields){let $subSchema$$=await buildJsonSchema($subList$$.fields,$depth$$+1,$id_app$$,$subList$$);$fieldType_typeInfo$$==="Array"||$f$$.type==="Array"?$fieldDef$$.type=[$subSchema$$]:$fieldType_typeInfo$$==="Json"||$fieldType_typeInfo$$==="Mixed"||$f$$.type==="Mixed"?$fieldDef$$.type=$subSchema$$:$fieldDef$$.sub_schema=$subSchema$$}}catch($e$$){console.error($e$$)}return[$f$$.name,
|
|
10
|
+
$fieldDef$$]}));return Object.fromEntries($entries_fields$$)},renderSchema=async function($fields$jscomp$1_rows_validFields$$,$id_app$$,$import_yn$$=0,$depth$$=0,$cleanJson_jsonStr$jscomp$1_listInfo$$){let $server_url$$=configs.api_url||configs.domain;if($depth$$>5)return"";$cleanJson_jsonStr$jscomp$1_listInfo$$=await buildJsonSchema($fields$jscomp$1_rows_validFields$$,void 0,$id_app$$,$cleanJson_jsonStr$jscomp$1_listInfo$$);$cleanJson_jsonStr$jscomp$1_listInfo$$=JSON.stringify($cleanJson_jsonStr$jscomp$1_listInfo$$,
|
|
11
|
+
null,2).replace(/</g,"\\u003c").replace(/>/g,"\\u003e");const $tableId$$="schema_"+Math.random().toString(36).substr(2,9);$fields$jscomp$1_rows_validFields$$=$fields$jscomp$1_rows_validFields$$.filter($f$$=>["ten_vt","ten_kh","ten_kho"].indexOf($f$$.name)>=0||$f$$.not_input!="true"&&$f$$.not_input!=1&&$f$$.type!="Button"&&$f$$.type!="Link"&&types.find($t$$=>$t$$.code==$f$$.type));$fields$jscomp$1_rows_validFields$$=await Promise.all($fields$jscomp$1_rows_validFields$$.map(async $field$$=>{var $h_type$$=
|
|
12
|
+
types.find($t$$=>$t$$.code==$field$$.type),$formattedJson_isJson$$="",$description_detailCode$jscomp$1_ref_model$$=$field$$.ref_model||"";let $ref_field$$=$field$$.ref_field||"code",$ref_label$$=$field$$.ref_label||$field$$.ref_field||"name";if($description_detailCode$jscomp$1_ref_model$$){$formattedJson_isJson$$=typeof $description_detailCode$jscomp$1_ref_model$$==="string"&&($description_detailCode$jscomp$1_ref_model$$.trim().startsWith("{")||$description_detailCode$jscomp$1_ref_model$$.trim().startsWith("["));
|
|
13
|
+
const $hasComma$$=typeof $description_detailCode$jscomp$1_ref_model$$==="string"&&$description_detailCode$jscomp$1_ref_model$$.indexOf(",")>=0;if($formattedJson_isJson$$||$hasComma$$){$formattedJson_isJson$$=$description_detailCode$jscomp$1_ref_model$$;try{if($description_detailCode$jscomp$1_ref_model$$.indexOf("{")>=0||$description_detailCode$jscomp$1_ref_model$$.indexOf("[")>=0){var $jsonObj$$=typeof $description_detailCode$jscomp$1_ref_model$$==="string"?utils.JSONParser($description_detailCode$jscomp$1_ref_model$$):
|
|
14
|
+
$description_detailCode$jscomp$1_ref_model$$;$formattedJson_isJson$$=JSON.stringify($jsonObj$$,null,2)}else $formattedJson_isJson$$=$description_detailCode$jscomp$1_ref_model$$.split(",").map($v$$=>({code:$v$$,name:$v$$}))}catch($e$$){Logger.error("[docs] parse ref_model",$description_detailCode$jscomp$1_ref_model$$,$e$$)}$formattedJson_isJson$$=`
|
|
9
15
|
<div style="margin-top:8px">
|
|
10
|
-
<span style="color:#7f8c8d; font-size:0.85em">
|
|
11
|
-
<pre style="background:#f4f4f4; padding:8px; border-radius:4px; font-size:11px; color:#2c3e50; border:1px solid #ddd; overflow-x:auto; max-width:350px; margin-top:4px;">${$
|
|
12
|
-
</div>`}else $jsonObj$$=`${$server_url$$}/api-docs-input/${$description_detailCode$$}`,$id_app$$&&($jsonObj$$=$jsonObj$$+"?id_app="+$id_app$$),$
|
|
16
|
+
<span style="color:#7f8c8d; font-size:0.85em">Tu\u1ef3 ch\u1ecdn (value field: "${$ref_field$$}", label field: "${$ref_label$$}"):</span>
|
|
17
|
+
<pre style="background:#f4f4f4; padding:8px; border-radius:4px; font-size:11px; color:#2c3e50; border:1px solid #ddd; overflow-x:auto; max-width:350px; margin-top:4px;">${$formattedJson_isJson$$}</pre>
|
|
18
|
+
</div>`}else $jsonObj$$=`${$server_url$$}/api-docs-input/${$description_detailCode$jscomp$1_ref_model$$}`,$id_app$$&&($jsonObj$$=$jsonObj$$+"?id_app="+$id_app$$),$formattedJson_isJson$$=`
|
|
13
19
|
<div style="margin-top:8px">
|
|
14
20
|
<span style="color:#7f8c8d; font-size:0.85em">Tham chi\u1ebfu:</span>
|
|
15
|
-
<a href='${$jsonObj$$}' target='_blank' style='color:#3498db; text-decoration:none; font-weight:bold; border-bottom:1px dashed #3498db;'>${$description_detailCode$$}</a>
|
|
16
|
-
</div>`}$description_detailCode$$=$field$$.api_description||$field$$.header;["ten_vt","ten_kh","ten_kho"].indexOf($field$$.name)>=0&&($description_detailCode$$=`${$description_detailCode$$}. N\u1ebfu \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i trong danh m\u1ee5c th\u00ec h\u1ec7 th\u1ed1ng s\u1ebd s\u1eed d\u1ee5ng th\u00f4ng tin n\u00e0y \u0111\u1ec3 t\u1ea1o`);$h_type$$=`
|
|
21
|
+
<a href='${$jsonObj$$}' target='_blank' style='color:#3498db; text-decoration:none; font-weight:bold; border-bottom:1px dashed #3498db;'>${$description_detailCode$jscomp$1_ref_model$$} (value field: "${$ref_field$$}", label field: "${$ref_label$$}")</a>
|
|
22
|
+
</div>`}$description_detailCode$jscomp$1_ref_model$$=$field$$.api_description||$field$$.header;["ten_vt","ten_kh","ten_kho"].indexOf($field$$.name)>=0&&($description_detailCode$jscomp$1_ref_model$$=`${$description_detailCode$jscomp$1_ref_model$$}. N\u1ebfu \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i trong danh m\u1ee5c th\u00ec h\u1ec7 th\u1ed1ng s\u1ebd s\u1eed d\u1ee5ng th\u00f4ng tin n\u00e0y \u0111\u1ec3 t\u1ea1o`);$h_type$$=`
|
|
17
23
|
<tr style="background:#fff">
|
|
18
24
|
<td style="font-weight:bold; color:#e67e22; vertical-align:top; padding:10px;">${$field$$.name}</td>
|
|
19
25
|
<td style="vertical-align:top; padding:10px;"><code>${$h_type$$.type_data||$h_type$$.code}</code></td>
|
|
20
26
|
<td style="text-align:center; vertical-align:top; padding:10px;">${$field$$.required==1||$field$$.required=="true"?"<b style='color:red'>Yes</b>":"No"}</td>
|
|
21
27
|
<td style="text-align:center; vertical-align:top; padding:10px;">${$field$$.type=="String"?$field$$.maxlength||4E3:"-"}</td>
|
|
22
28
|
<td style="vertical-align:top; padding:10px;">
|
|
23
|
-
<div style="font-weight:500">${$description_detailCode$$}</div>
|
|
29
|
+
<div style="font-weight:500">${$description_detailCode$jscomp$1_ref_model$$}</div>
|
|
24
30
|
${$field$$.help_text?`<div style='font-size:0.9em;color:#666;font-style:italic;margin-top:4px'>* ${$field$$.help_text}</div>`:""}
|
|
25
|
-
${$
|
|
31
|
+
${$formattedJson_isJson$$}
|
|
26
32
|
</td>
|
|
27
|
-
</tr>`;if(($description_detailCode$$=$field$$.form||"")&&$description_detailCode$$!=="0")try{const $subList$$=await global.getModel("listinfo").findOne({code:$description_detailCode$$}).lean();if($subList$$&&$subList$$.fields){const $subTable$$=await renderSchema($subList$$.fields,$id_app$$,$import_yn$$,$depth$$+1);$h_type$$+=`
|
|
33
|
+
</tr>`;if(($description_detailCode$jscomp$1_ref_model$$=$field$$.form||"")&&$description_detailCode$jscomp$1_ref_model$$!=="0")try{const $subList$$=await global.getModel("listinfo").findOne({code:$description_detailCode$jscomp$1_ref_model$$}).lean();if($subList$$&&$subList$$.fields){const $subTable$$=await renderSchema($subList$$.fields,$id_app$$,$import_yn$$,$depth$$+1,$subList$$);$h_type$$+=`
|
|
28
34
|
<tr>
|
|
29
35
|
<td colspan="5" style="padding: 0 0 15px 40px; border-top:none; background:#fcfcfc;">
|
|
30
36
|
<div style="border-left:3px solid #3498db; padding-left:15px; margin-top:10px">
|
|
31
|
-
<div style="margin-bottom:8px; font-weight:bold; color:#3498db">\u21b3 C\u1ea5u tr\u00fac chi ti\u1ebft [${$description_detailCode$$}]:</div>
|
|
37
|
+
<div style="margin-bottom:8px; font-weight:bold; color:#3498db">\u21b3 C\u1ea5u tr\u00fac chi ti\u1ebft [${$description_detailCode$jscomp$1_ref_model$$}]:</div>
|
|
32
38
|
${$subTable$$}
|
|
33
39
|
</div>
|
|
34
40
|
</td>
|
|
@@ -41,7 +47,7 @@ $description_detailCode$$.trim().startsWith("["));const $hasComma$$=typeof $desc
|
|
|
41
47
|
</button>
|
|
42
48
|
</div>
|
|
43
49
|
|
|
44
|
-
<textarea id="${$tableId$$}" style="position:absolute; left:-9999px; top:0;" aria-hidden="true">${$cleanJson_jsonStr$$}</textarea>
|
|
50
|
+
<textarea id="${$tableId$$}" style="position:absolute; left:-9999px; top:0;" aria-hidden="true">${$cleanJson_jsonStr$jscomp$1_listInfo$$}</textarea>
|
|
45
51
|
|
|
46
52
|
<table style="width:100%; border-collapse:collapse; font-size:13px; background:#fff" border="1" bordercolor="#ddd">
|
|
47
53
|
<tr style="background:#f2f2f2; text-align:left">
|
|
@@ -208,7 +214,7 @@ $id_app$$||"{id_app}");$authLink_controller$$=`${$endpointsHtml_server_url$$}/ap
|
|
|
208
214
|
</td>
|
|
209
215
|
</tr>`}
|
|
210
216
|
</table>
|
|
211
|
-
`;$id_app$$=await renderSchema($code$$.fields,$id_app$$);return`
|
|
217
|
+
`;$id_app$$=await renderSchema($code$$.fields,$id_app$$,void 0,void 0,$code$$);return`
|
|
212
218
|
<!DOCTYPE html>
|
|
213
219
|
<html lang="vi">
|
|
214
220
|
<head>
|
|
@@ -258,8 +264,8 @@ $id_app$$||"{id_app}");$authLink_controller$$=`${$endpointsHtml_server_url$$}/ap
|
|
|
258
264
|
<td style="padding:10px;"><code style="color:${$typeColor$$}; background:#f9f2f4; padding:2px 4px; border-radius:3px;">${$col$$.datatype||"String"}</code></td>
|
|
259
265
|
<td style="padding:10px; font-weight:500;">${$col$$.header||""}</td>
|
|
260
266
|
</tr>`}).join("")}
|
|
261
|
-
</table>`:""},apiReport=async function($code$$,$id_app$jscomp$
|
|
262
|
-
$columnsHtml_listinfo$$||{fields:[]};var $authLink$jscomp$1_controller$$=global.report_controllers[($code$$.api_code||$code$$.code).toUpperCase()];if(!$authLink$jscomp$1_controller$$)return"Report Controller ch\u01b0a s\u1eb5n s\u00e0ng.";let $route_name$$=`${$authLink$jscomp$1_controller$$.base_path}${$authLink$jscomp$1_controller$$.module}`.replace(":id_app",$id_app$jscomp$
|
|
267
|
+
</table>`:""},apiReport=async function($code$$,$id_app$jscomp$4_schemaHtml$$){var $endpointsHtml$jscomp$1_server_url$$=configs.api_url||configs.domain;$code$$=await global.getModel("reportinfo").findOne({code:$code$$}).lean();if(!$code$$)return"Kh\u00f4ng t\u00ecm th\u1ea5y t\u00e0i li\u1ec7u cho b\u00e1o c\u00e1o n\u00e0y.";var $columnsHtml_listinfo$$;$code$$.form_condition_info&&($columnsHtml_listinfo$$=await global.getModel("listinfo").findOne({code:$code$$.form_condition_info}).lean());$columnsHtml_listinfo$$=
|
|
268
|
+
$columnsHtml_listinfo$$||{fields:[]};var $authLink$jscomp$1_controller$$=global.report_controllers[($code$$.api_code||$code$$.code).toUpperCase()];if(!$authLink$jscomp$1_controller$$)return"Report Controller ch\u01b0a s\u1eb5n s\u00e0ng.";let $route_name$$=`${$authLink$jscomp$1_controller$$.base_path}${$authLink$jscomp$1_controller$$.module}`.replace(":id_app",$id_app$jscomp$4_schemaHtml$$||"{id_app}");$authLink$jscomp$1_controller$$=`${$endpointsHtml$jscomp$1_server_url$$}/api-docs-auth`;let $idAppNote$$=
|
|
263
269
|
$route_name$$.indexOf("id_app")>=0?'<li style="color:#8e44ad; margin-top:4px;"><b>id_app:</b> ID c\u1ee7a c\u00f4ng ty/chi nh\u00e1nh \u0111ang thao t\u00e1c (n\u1eb1m trong URL)</li>':"";$endpointsHtml$jscomp$1_server_url$$=`
|
|
264
270
|
<h3>1. Th\u00f4ng tin Endpoint B\u00e1o c\u00e1o</h3>
|
|
265
271
|
<table style="width:100%; border-collapse:collapse; margin-bottom:30px" border="1" bordercolor="#ddd">
|
|
@@ -289,8 +295,8 @@ $route_name$$.indexOf("id_app")>=0?'<li style="color:#8e44ad; margin-top:4px;"><
|
|
|
289
295
|
</td>
|
|
290
296
|
</tr>
|
|
291
297
|
</table>
|
|
292
|
-
`;$id_app$jscomp$
|
|
293
|
-
0?renderReportColumns($code$$.columns):'<div style="padding: 15px; background: #fdfaf0; color: #d35400; font-style: italic; border-left: 3px solid #e67e22;">Ch\u01b0a c\u00f3 c\u1ea5u h\u00ecnh chi ti\u1ebft c\u00e1c c\u1ed9t tr\u1ea3 v\u1ec1 cho b\u00e1o c\u00e1o n\u00e0y.</div>';return`
|
|
298
|
+
`;$id_app$jscomp$4_schemaHtml$$=$columnsHtml_listinfo$$.fields&&$columnsHtml_listinfo$$.fields.length>0?await renderSchema($columnsHtml_listinfo$$.fields,$id_app$jscomp$4_schemaHtml$$,void 0,void 0,$columnsHtml_listinfo$$):'<div style="padding: 15px; background: #f9f9f9; color: #666; font-style: italic; border-left: 3px solid #ccc;">B\u00e1o c\u00e1o n\u00e0y kh\u00f4ng y\u00eau c\u1ea7u tham s\u1ed1 l\u1ecdc (G\u1eedi Body l\u00e0 m\u1ed9t Object r\u1ed7ng <code>{}</code>).</div>';$columnsHtml_listinfo$$=
|
|
299
|
+
$code$$.columns&&$code$$.columns.length>0?renderReportColumns($code$$.columns):'<div style="padding: 15px; background: #fdfaf0; color: #d35400; font-style: italic; border-left: 3px solid #e67e22;">Ch\u01b0a c\u00f3 c\u1ea5u h\u00ecnh chi ti\u1ebft c\u00e1c c\u1ed9t tr\u1ea3 v\u1ec1 cho b\u00e1o c\u00e1o n\u00e0y.</div>';return`
|
|
294
300
|
<!DOCTYPE html>
|
|
295
301
|
<html lang="vi">
|
|
296
302
|
<head>
|
|
@@ -323,7 +329,7 @@ $route_name$$.indexOf("id_app")>=0?'<li style="color:#8e44ad; margin-top:4px;"><
|
|
|
323
329
|
G\u1eedi Object JSON ch\u1ee9a c\u00e1c tr\u01b0\u1eddng n\u00e0y l\u00ean API \u0111\u1ec3 l\u00e0m <b>\u0111i\u1ec1u ki\u1ec7n l\u1ecdc</b> cho b\u00e1o c\u00e1o.
|
|
324
330
|
</p>
|
|
325
331
|
<div class="schema-wrapper">
|
|
326
|
-
${$id_app$jscomp$
|
|
332
|
+
${$id_app$jscomp$4_schemaHtml$$}
|
|
327
333
|
</div>
|
|
328
334
|
|
|
329
335
|
<h3>3. C\u1ea5u tr\u00fac D\u1eef li\u1ec7u Tr\u1ea3 v\u1ec1 (Response Columns)</h3>
|
|
@@ -568,4 +574,4 @@ $route_name$$.indexOf("id_app")>=0?'<li style="color:#8e44ad; margin-top:4px;"><
|
|
|
568
574
|
</div>
|
|
569
575
|
</body>
|
|
570
576
|
</html>
|
|
571
|
-
`};module.exports={apiDocs,apiReport,apiAuth};
|
|
577
|
+
`};module.exports={apiDocs,apiReport,apiAuth,buildJsonSchema};
|
|
@@ -13,4 +13,7 @@ async.mapLimit($rs$$,100,function($r$$,$callback$$){let $details$$=$r$$.details|
|
|
|
13
13
|
delete $r$$.details_tl);$callback$$(null,$details$$)},async function($error$$,$report$$){if($error$$)return $reject$$($error$$);$report$$=$report$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$ma_vts$$&&($report$$=$report$$.filter($r$$=>$ma_vts$$.indexOf($r$$.ma_vt)>=0));$condition$$.id_cs&&($report$$=$report$$.filter($r$$=>$r$$.id_cs===$condition$$.id_cs));$condition$$.id_cs_ck&&($report$$=$report$$.filter($r$$=>$r$$.id_cs_ck===$condition$$.id_cs_ck));await $report$$.asyncJoinModel2($condition$$.id_app,
|
|
14
14
|
"dmqddvt",{where:{ma_dvt:"ma_dvt",ma_vt:"ma_vt"},fields:["tu","mau","ma_dvt_goc"]});$report$$.forEach(function($r$$,$he_so_qd_i$$){$r$$.stt=$he_so_qd_i$$+1;$r$$.id_ct=$r$$._id.toString();$r$$.bold=!1;$r$$.sysorder=5;$r$$.tt=$r$$.tien=($r$$.tien_hang_ct||0)-($r$$.tien_ck||0)+($r$$.tien_thue||0);$r$$.loi_nhuan_tmp=$r$$.tien_xuat_tmp?$r$$.tt-$r$$.tien_xuat_tmp-($r$$.tien_thue||0)-($r$$.tien_cp||0):0;$r$$.loi_nhuan=$r$$.tt-($r$$.tien_xuat||0)-($r$$.tien_thue||0)-($r$$.tien_cp||0);$r$$.t_hoa_hong=$r$$.tien_hoa_hong+
|
|
15
15
|
$r$$.tien_hoa_hong_gt+$r$$.tien_hoa_hong_ctv+$r$$.tien_hoa_hong_ql;$r$$.mau?($he_so_qd_i$$=$r$$.tu/$r$$.mau,$r$$.sl_xuat_qd=$he_so_qd_i$$*($r$$.sl_xuat||0),$r$$.sl_nhap_qd=$he_so_qd_i$$*($r$$.sl_nhap||0)):($r$$.sl_xuat_qd=$r$$.sl_xuat||0,$r$$.sl_nhap_qd=$r$$.sl_nhap||0);$r$$.sl_xuat_qd_bc=$r$$.sl_xuat_qd;$r$$.sl_nhap_qd_bc=$r$$.sl_nhap_qd;$r$$.ma_dvt_bc=$r$$.ma_dvt_goc||$r$$.ma_dvt});$condition$$.ma_dvt&&await $report$$.asyncJoinModel2($condition$$.id_app,"dmqddvt",{where:$item$$=>({ma_vt:$item$$.ma_vt,
|
|
16
|
-
ma_dvt:$condition$$.ma_dvt}),setFields:($item$$,$he_so_qd$$)=>{$he_so_qd$$&&$he_so_qd$$.tu?($item$$.ma_dvt_bc=$condition$$.ma_dvt,$he_so_qd$$=$he_so_qd$$.mau/$he_so_qd$$.tu,$item$$.sl_xuat_qd_bc=$he_so_qd$$*($item$$.sl_xuat_qd||0),$item$$.sl_nhap_qd_bc=$he_so_qd$$*($item$$.sl_nhap_qd||0)):($item$$.sl_xuat_qd_bc=$item$$.sl_xuat_qd,$item$$.sl_nhap_qd_bc=$item$$.sl_nhap_qd)}})
|
|
16
|
+
ma_dvt:$condition$$.ma_dvt}),setFields:($item$$,$he_so_qd$$)=>{$he_so_qd$$&&$he_so_qd$$.tu?($item$$.ma_dvt_bc=$condition$$.ma_dvt,$he_so_qd$$=$he_so_qd$$.mau/$he_so_qd$$.tu,$item$$.sl_xuat_qd_bc=$he_so_qd$$*($item$$.sl_xuat_qd||0),$item$$.sl_nhap_qd_bc=$he_so_qd$$*($item$$.sl_nhap_qd||0)):($item$$.sl_xuat_qd_bc=$item$$.sl_xuat_qd,$item$$.sl_nhap_qd_bc=$item$$.sl_nhap_qd)}});if($condition$$.tinh_tong_cong||$condition$$.chi_hien_tong_cong){let $total_row$$={sysorder:9,bold:!0,dien_giai:"T\u1ed5ng c\u1ed9ng",
|
|
17
|
+
ten_vt:"T\u1ed5ng c\u1ed9ng",sl_xuat:0,sl_nhap:0,sl_xuat_qd_bc:0,sl_nhap_qd_bc:0,tien_hang:0,tien_hang_ct:0,tien_ck:0,tien_thue:0,tien_cp:0,tien_xuat:0,tien_xuat_tmp:0,tt:0,tien:0,loi_nhuan:0,loi_nhuan_tmp:0,tien_hoa_hong:0,tien_hoa_hong_gt:0,tien_hoa_hong_ctv:0,tien_hoa_hong_ql:0,t_hoa_hong:0};$report$$.forEach($r$$=>{$total_row$$.sl_xuat+=$r$$.sl_xuat||0;$total_row$$.sl_nhap+=$r$$.sl_nhap||0;$total_row$$.sl_xuat_qd_bc+=$r$$.sl_xuat_qd_bc||0;$total_row$$.sl_nhap_qd_bc+=$r$$.sl_nhap_qd_bc||0;$total_row$$.tien_hang+=
|
|
18
|
+
$r$$.tien_hang||0;$total_row$$.tien_hang_ct+=$r$$.tien_hang_ct||0;$total_row$$.tien_ck+=$r$$.tien_ck||0;$total_row$$.tien_thue+=$r$$.tien_thue||0;$total_row$$.tien_cp+=$r$$.tien_cp||0;$total_row$$.tien_xuat+=$r$$.tien_xuat||0;$total_row$$.tien_xuat_tmp+=$r$$.tien_xuat_tmp||0;$total_row$$.tt+=$r$$.tt||0;$total_row$$.tien+=$r$$.tien||0;$total_row$$.loi_nhuan+=$r$$.loi_nhuan||0;$total_row$$.loi_nhuan_tmp+=$r$$.loi_nhuan_tmp||0;$total_row$$.tien_hoa_hong+=$r$$.tien_hoa_hong||0;$total_row$$.tien_hoa_hong_gt+=
|
|
19
|
+
$r$$.tien_hoa_hong_gt||0;$total_row$$.tien_hoa_hong_ctv+=$r$$.tien_hoa_hong_ctv||0;$total_row$$.tien_hoa_hong_ql+=$r$$.tien_hoa_hong_ql||0;$total_row$$.t_hoa_hong+=$r$$.t_hoa_hong||0});$condition$$.chi_hien_tong_cong?$report$$=[$total_row$$]:$report$$.push($total_row$$)}$resolve$$($report$$)})})})};
|
package/server/libs/email.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const mailAccount=global.getModel("mailaccount"),path=require("path");exports.getAccount=function($account_id$$,$done$$){mailAccount.findOne({_id:$account_id$$}).lean().then(function($account$$){if(!$account$$)return $done$$("Don't find account "+$account_id$$);$done$$(null,$account$$)}).catch($e$$=>{$done$$($e$$)})};
|
|
2
|
-
exports.sendHtml=function($options$$,$callback
|
|
3
|
-
"",paths:global.configs.paths}},$response$$=>{$response$$.error?$
|
|
2
|
+
exports.sendHtml=async function($options$$,$callback$$,$sender$$){let $onImportProcess$$=path.dirname(__dirname)+"/workers/sendEmail.js";if(!global.sendEmailPool){const $StaticPool$$=require("./WorkerStaticPool");global.sendEmailPool=new $StaticPool$$($onImportProcess$$)}try{let $result$$=await new Promise(($resolve$$,$reject$$)=>{global.sendEmailPool.exec({options:$options$$,configs:{sender:$sender$$||global.configs.sender,company:global.configs.company,google_credentials:global.configs.google_credentials?
|
|
3
|
+
JSON.stringify(global.configs.google_credentials):"",paths:global.configs.paths}},$response$$=>{$response$$.error?$reject$$($response$$.error):$resolve$$($response$$)})});return $callback$$?$callback$$(null,$result$$.data,$result$$.columns):$result$$}catch($e$$){if($callback$$)return $callback$$($e$$);throw $e$$;}};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const getTrialBalance=require("./cdpstk"),getInventorySummary=require("./thnxt");
|
|
2
|
+
module.exports=async function($condition$$,$fn$$){try{if(!$condition$$.tu_ngay||!$condition$$.den_ngay||!$condition$$.id_app)throw Error("Dashboard y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 tu_ngay, den_ngay, id_app");const $start$$=new Date($condition$$.tu_ngay);$start$$.setHours(0,0,0,0);const $end$$=new Date($condition$$.den_ngay);$end$$.setHours(23,59,59,999);var $condTrialBalance_diffDays$$=Math.ceil(Math.abs($end$$-$start$$)/864E5)||1;const $prevEnd$$=new Date($start$$.getTime()-1),$prevStart$$=
|
|
3
|
+
new Date($prevEnd$$.getTime()-$condTrialBalance_diffDays$$*24*60*60*1E3+1);$prevStart$$.setHours(0,0,0,0);let $snapshot$$={tu_ngay:$condition$$.tu_ngay,den_ngay:$condition$$.den_ngay,tong_so_khach_hang:0,khach_hang_moi_ky_nay:0,khach_hang_moi_ky_truoc:0,tang_truong_khach_hang_moi:0,tien_mat_va_ngan_hang:0,tong_phai_thu:0,tong_phai_tra:0,tong_gia_tri_ton_kho:0,doanh_thu_thuan:0,gia_von_hang_ban:0,loi_nhuan_gop:0,tong_chi_phi_hd:0,loi_nhuan_thuan:0};$condTrialBalance_diffDays$$={...$condition$$,bac_tk:1,
|
|
4
|
+
bu_tru:!0};const $condInventory$$={...$condition$$,chi_hien_tong_cong:!0,exclude_ct_dc:!0},$CustomerModel$$=global.getModel("customer"),[$trialBalanceData$$,$inventoryData$$,$tongKhachHang$$,$khachHangKyNay$$,$khachHangKyTruoc$$]=await Promise.all([getTrialBalance($condTrialBalance_diffDays$$),new Promise(($resolve$$,$reject$$)=>{getInventorySummary($condInventory$$,($err$$,$res$$)=>$err$$?$reject$$($err$$):$resolve$$($res$$))}),$CustomerModel$$.countDocuments({id_app:$condition$$.id_app,date_created:{$lte:$end$$}}),
|
|
5
|
+
$CustomerModel$$.countDocuments({id_app:$condition$$.id_app,date_created:{$gte:$start$$,$lte:$end$$}}),$CustomerModel$$.countDocuments({id_app:$condition$$.id_app,date_created:{$gte:$prevStart$$,$lte:$prevEnd$$}})]);$snapshot$$.tong_so_khach_hang=$tongKhachHang$$||0;$snapshot$$.khach_hang_moi_ky_nay=$khachHangKyNay$$||0;$snapshot$$.khach_hang_moi_ky_truoc=$khachHangKyTruoc$$||0;$snapshot$$.tang_truong_khach_hang_moi=$snapshot$$.khach_hang_moi_ky_truoc>0?($snapshot$$.khach_hang_moi_ky_nay-$snapshot$$.khach_hang_moi_ky_truoc)/
|
|
6
|
+
$snapshot$$.khach_hang_moi_ky_truoc*100:$snapshot$$.khach_hang_moi_ky_nay>0?100:0;$snapshot$$.tang_truong_khach_hang_moi=Number($snapshot$$.tang_truong_khach_hang_moi.toFixed(2));$trialBalanceData$$.forEach($row$$=>{const $tk$$=$row$$.tk;if($tk$$==="111"||$tk$$==="112")$snapshot$$.tien_mat_va_ngan_hang+=$row$$.ck_no||0;$tk$$==="131"&&($snapshot$$.tong_phai_thu+=($row$$.ck_no||0)-($row$$.ck_co||0));$tk$$==="331"&&($snapshot$$.tong_phai_tra+=($row$$.ck_co||0)-($row$$.ck_no||0));if($tk$$==="511"||$tk$$===
|
|
7
|
+
"515"||$tk$$==="711")$snapshot$$.doanh_thu_thuan+=$row$$.ps_co||0;$tk$$==="521"&&($snapshot$$.doanh_thu_thuan-=$row$$.ps_no||0);$tk$$==="632"&&($snapshot$$.gia_von_hang_ban+=$row$$.ps_no||0);if($tk$$==="641"||$tk$$==="642"||$tk$$==="811")$snapshot$$.tong_chi_phi_hd+=$row$$.ps_no||0});$inventoryData$$&&$inventoryData$$.length>0&&($snapshot$$.tong_gia_tri_ton_kho=$inventoryData$$[0].du_cuoi||0);$snapshot$$.loi_nhuan_gop=$snapshot$$.doanh_thu_thuan-$snapshot$$.gia_von_hang_ban;$snapshot$$.loi_nhuan_thuan=
|
|
8
|
+
$snapshot$$.loi_nhuan_gop-$snapshot$$.tong_chi_phi_hd;return $fn$$?$fn$$(null,$snapshot$$):$snapshot$$}catch($error$$){if($fn$$)return $fn$$($error$$);throw $error$$;}};
|
package/server/libs/getGiaban.js
CHANGED
|
@@ -10,8 +10,8 @@ if($groups$$.length==1)$id_app$jscomp$1_rs$$=$groups$$[0].ck.promotions;else if(
|
|
|
10
10
|
$new_groups$$)}else $id_app$jscomp$1_rs$$=$groups$$.sort(($a$$,$b$$)=>($a$$.stt_uu_tien||0)-($b$$.stt_uu_tien||0))[0].ck.promotions;return $id_app$jscomp$1_rs$$};
|
|
11
11
|
module.exports=async($condition$$,$fn$$,$par$$={})=>{!$condition$$.ma_vt&&$condition$$.vt&&($condition$$.ma_vt=$condition$$.vt.ma_vt);$condition$$.so_luong=$condition$$.so_luong||$condition$$.sl_xuat||1;$condition$$.t_so_luong=$condition$$.t_so_luong||$condition$$.t_sl_xuat||$condition$$.t_sl||$condition$$.so_luong;$condition$$.t_so_luong_ntt=$condition$$.t_so_luong_ntt||$condition$$.t_sl_xuat_ntt||$condition$$.t_sl_ntt||$condition$$.so_luong_ntt||0;$condition$$.t_tien_ntt=$condition$$.t_tien_ntt||
|
|
12
12
|
0;let $he_so_qd$$=1;if($condition$$.ma_dvt_sd){var $qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$=await global.getModel("dmqddvt").findOne({id_app:$condition$$.id_app,ma_vt:$condition$$.ma_vt,ma_dvt:$condition$$.ma_dvt_sd}).lean();$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$&&($he_so_qd$$=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.ty_le_qd||1,$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.mau&&$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.tu&&($he_so_qd$$=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.tu/
|
|
13
|
-
$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.mau))}!$condition$$.ma_vt&&$condition$$.vt&&$condition$$.vt._id&&($condition$$.vt=await dmvt.findOne({_id:$condition$$.vt._id},{ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,gia_ban_le0:1,gia_ban_buon0:1,gia_ban_le:1,gia_ban_buon:1,ty_le_ck0:1,tien_ck0:1,ma_nt:1,gia_ban_chua_thue:1,ma_thue:1,ma_nt0:1}).lean(),$condition$$.vt&&($condition$$.vt.is_full=!0,$condition$$.ma_vt=$condition$$.vt.ma_vt));if($condition$$&&$condition$$.ma_vt&&
|
|
14
|
-
$condition$$.id_app){var $vt$$=$condition$$.vt;if(!$vt$$||!$vt$$.is_full&&($vt$$.gia_ban_le===void 0||$vt$$.gia_ban_le0===void 0||$vt$$.ty_le_ck0===void 0||$vt$$.tien_ck0===void 0||$vt$$.ma_nt0===void 0||$vt$$.ma_thue===void 0))if($vt$$=await dmvt.findOne({ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app},{ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,gia_ban_le0:1,gia_ban_buon0:1,gia_ban_le:1,gia_ban_buon:1,ty_le_ck0:1,tien_ck0:1,ma_nt:1,gia_ban_chua_thue:1,ma_thue:1,ma_nt0:1}).lean(),
|
|
13
|
+
$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.mau))}!$condition$$.ma_vt&&$condition$$.vt&&$condition$$.vt._id&&($condition$$.vt=await dmvt.findOne({_id:$condition$$.vt._id},{ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,gia_ban_le0:1,gia_ban_buon0:1,gia_ban_le:1,gia_ban_buon:1,ty_le_ck0:1,tien_ck0:1,ma_nt:1,gia_ban_chua_thue:1,ma_thue:1,ma_nt0:1}).inTxn().lean(),$condition$$.vt&&($condition$$.vt.is_full=!0,$condition$$.ma_vt=$condition$$.vt.ma_vt));if($condition$$&&$condition$$.ma_vt&&
|
|
14
|
+
$condition$$.id_app){var $vt$$=$condition$$.vt;if(!$vt$$||!$vt$$.is_full&&($vt$$.gia_ban_le===void 0||$vt$$.gia_ban_le0===void 0||$vt$$.ty_le_ck0===void 0||$vt$$.tien_ck0===void 0||$vt$$.ma_nt0===void 0||$vt$$.ma_thue===void 0))if($vt$$=await dmvt.findOne({ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app},{ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,gia_ban_le0:1,gia_ban_buon0:1,gia_ban_le:1,gia_ban_buon:1,ty_le_ck0:1,tien_ck0:1,ma_nt:1,gia_ban_chua_thue:1,ma_thue:1,ma_nt0:1}).inTxn().lean(),
|
|
15
15
|
!$vt$$)return $fn$$("Not found product: "+$condition$$.ma_vt);$vt$$.ma_nvt2||($vt$$.ma_nvt2=[]);typeof $vt$$.ma_nvt2=="string"&&($vt$$.ma_nvt2=[$vt$$.ma_nvt2]);$vt$$.ma_nvt3||($vt$$.ma_nvt3=[]);typeof $vt$$.ma_nvt3=="string"&&($vt$$.ma_nvt3=[$vt$$.ma_nvt3]);$vt$$.ma_nvt4||($vt$$.ma_nvt4=[]);typeof $vt$$.ma_nvt4=="string"&&($vt$$.ma_nvt4=[$vt$$.ma_nvt4]);if($condition$$.ma_tt1){var $hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0};
|
|
16
16
|
$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.ma_tt=$condition$$.ma_tt1;$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.loai_tt="1";if($hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$=await global.getModel("dmtt").findOne($hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$).lean())$vt$$.gia_ban_le0=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.gia_ban_le||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||
|
|
17
17
|
0}else if($condition$$.ma_tt2){if($qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$={id_app:$vt$$.id_app_vt||$condition$$.id_app,ma_vt:$vt$$.ma_vt,status:!0},$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.ma_tt=$condition$$.ma_tt2,$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.loai_tt="2",$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$=await global.getModel("dmtt").findOne($qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$).lean())$vt$$.gia_ban_le0=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.gia_ban_le||
|
package/server/libs/kpistatus.js
CHANGED
|
@@ -1,38 +1,40 @@
|
|
|
1
|
-
const socai=global.getModel("socai"),ctds=global.getModel("ctds2"),dmbp=global.getModel("dmbp"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),async=require("async"),_=require("lodash"),moment=require("moment"),{getCodeChildren}=require("./utils"),databanle=require("./databanle"),tinhHoaHong=async($ct$$,$query
|
|
2
|
-
$
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
$ct$$.
|
|
7
|
-
$ct$$.
|
|
8
|
-
$bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await global.getModel("
|
|
9
|
-
|
|
10
|
-
(
|
|
11
|
-
$
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
{$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$}
|
|
15
|
-
"
|
|
16
|
-
{
|
|
17
|
-
|
|
18
|
-
$ct$$.
|
|
19
|
-
|
|
20
|
-
|
|
1
|
+
const socai=global.getModel("socai"),ctds=global.getModel("ctds2"),dmbp=global.getModel("dmbp"),dmdt=global.getModel("dmdt"),dmphi=global.getModel("dmphi"),async=require("async"),_=require("lodash"),moment=require("moment"),{getCodeChildren}=require("./utils"),databanle=require("./databanle"),tinhHoaHong=async($ct$$,$query$$)=>{$ct$$.chinh_sach_hoa_hong&&$ct$$.chinh_sach_hoa_hong.length!=0&&($ct$$.chinh_sach_hoa_hong=$ct$$.chinh_sach_hoa_hong.filter($cs$$=>$cs$$.ty_le_ht_tu<=$ct$$.ty_le_ht&&(!$cs$$.ty_le_ht_den||
|
|
2
|
+
$cs$$.ty_le_ht_den>$ct$$.ty_le_ht)),await Promise.all($ct$$.chinh_sach_hoa_hong.map($cs$$=>(async()=>{$ct$$.ma_kho&&!$cs$$.ma_kho&&($cs$$.ma_kho=$ct$$.ma_kho);$ct$$.ma_nv&&!$cs$$.ma_nv&&($cs$$.ma_nv=$ct$$.ma_nv);$cs$$.quan_ly=$ct$$.quan_ly;$ct$$.__in_ma_bp__&&!$cs$$.ma_bp&&($cs$$.__in_ma_bp__=$ct$$.__in_ma_bp__);$ct$$.__in_ma_dt__&&!$cs$$.ma_dt&&($cs$$.__in_ma_dt__=$ct$$.__in_ma_dt__);$ct$$.__in_ma_phi__&&!$cs$$.ma_phi&&($cs$$.__in_ma_phi__=$ct$$.__in_ma_phi__);switch($cs$$.cach_tinh){case "0":$cs$$.ps_tinh_hoa_hong=
|
|
3
|
+
$ct$$.ps;$cs$$.tien_hoa_hong=Math.roundBy($cs$$.ps_tinh_hoa_hong*$cs$$.ty_le_hoa_hong/100,0);break;case "1":var $dt_dt$$=await calcSoCai($cs$$,_.cloneDeep($query$$));$cs$$.ps_tinh_hoa_hong=$dt_dt$$;$cs$$.tien_hoa_hong=Math.roundBy($cs$$.ps_tinh_hoa_hong*$cs$$.ty_le_hoa_hong/100,0);break;case "2":$dt_dt$$=await calcDoanhThu($cs$$,_.cloneDeep($query$$),{doanh_thu_tinh_hoa_hong:!0});$cs$$.ps_tinh_hoa_hong=$dt_dt$$.t_dt;$cs$$.tien_hoa_hong=Math.roundBy($cs$$.ps_tinh_hoa_hong*$cs$$.ty_le_hoa_hong/100,
|
|
4
|
+
0);break;case "3":$dt_dt$$=await calcDoanhThu($cs$$,_.cloneDeep($query$$),{doanh_thu_tinh_hoa_hong:!0}),$cs$$.ps_tinh_hoa_hong=$dt_dt$$.t_ds,$cs$$.tien_hoa_hong=Math.roundBy($cs$$.ps_tinh_hoa_hong*$cs$$.ty_le_hoa_hong/100,0)}})())))},calcSoCai=async($ct$$,$query$$)=>{$ct$$.ma_kho&&($query$$.ma_kho=$ct$$.ma_kho);$ct$$.ma_nv&&($query$$.ma_nv=$ct$$.ma_nv);$ct$$.ma_nv_giao_hang&&($query$$.ma_nv_giao_hang=$ct$$.ma_nv_giao_hang);$ct$$.phu_xe&&($query$$.phu_xe=$ct$$.phu_xe);if($ct$$.__in_ma_bp__)$query$$.ma_bp=
|
|
5
|
+
$ct$$.__in_ma_bp__;else if($ct$$.ma_bp){var $bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await getCodeChildren(dmbp,$query$$.id_app,$ct$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$};$ct$$.__in_ma_bp__={$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$}}$ct$$.quan_ly&&$query$$.ma_nv&&($query$$.ma_nv={$ne:$query$$.ma_nv});$ct$$.__in_ma_dt__?$query$$.ma_dt=$ct$$.__in_ma_dt__:$ct$$.ma_dt&&($bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await getCodeChildren(dmdt,$query$$.id_app,
|
|
6
|
+
$ct$$.ma_dt,"ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$},$ct$$.__in_ma_dt__={$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$});$ct$$.__in_ma_phi__?$query$$.ma_phi=$ct$$.__in_ma_phi__:$ct$$.ma_phi&&($bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await getCodeChildren(dmphi,$query$$.id_app,$ct$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$},$ct$$.__in_ma_phi__={$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$});!$ct$$.ma_kh&&$ct$$.nh_kh&&
|
|
7
|
+
$ct$$.nh_kh.length>0&&($bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await global.getModel("group").getAllChildrenGroup($query$$.id_app,$ct$$.nh_kh,{group_kind:1}),$bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await global.getModel("customer").find({id_app:$query$$.id_app,nh_kh:{$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$}},{ma_kh:1}),$query$$.ma_kh=$ct$$.nh_kh_lt?{$nin:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$.map($r$$=>$r$$.ma_kh)}:{$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$.map($r$$=>$r$$.ma_kh)});$ct$$.ma_nvt&&
|
|
8
|
+
$ct$$.ma_nvt.length>0&&($bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await global.getModel("dmnvt").getAllChildrenGroup($query$$.id_app,$query$$.ma_nvt),$bps_custs_dts_nh_khs_nh_vts_phis_vts$$=await global.getModel("dmvt").find({id_app:$query$$.id_app,ma_nvt:{$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$}},{ma_vt:1}).lean(),Logger.info("vts",$bps_custs_dts_nh_khs_nh_vts_phis_vts$$),$query$$.ma_vt=$ct$$.ma_nvt_lt?{$nin:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$.map($r$$=>$r$$.ma_vt)}:{$in:$bps_custs_dts_nh_khs_nh_vts_phis_vts$$.map($r$$=>
|
|
9
|
+
$r$$.ma_vt)});return new Promise(($resolve$$,$reject$$)=>{async.parallel({dt:$callback$$=>{let $_query$$=Object.assign({},$query$$);var $tks_co_tks_no$$=$ct$$.tk_no;$tks_co_tks_no$$&&!$ct$$.tk_no_gt&&(_.isArray($tks_co_tks_no$$)||($tks_co_tks_no$$=[$tks_co_tks_no$$]),$tks_co_tks_no$$.length>0&&($_query$$.tk_no={$regex:$tks_co_tks_no$$.reg(),$options:"i"}));($tks_co_tks_no$$=$ct$$.tk_co)&&!$ct$$.tk_co_gt&&(_.isArray($tks_co_tks_no$$)||($tks_co_tks_no$$=[$tks_co_tks_no$$]),$tks_co_tks_no$$.length>0&&
|
|
10
|
+
($_query$$.tk_co={$regex:$tks_co_tks_no$$.reg(),$options:"i"}));socai.find($_query$$).lean().then($rs$$=>{$callback$$(null,$rs$$)}).catch($e$$=>{$callback$$($e$$)})},gt:$callback$$=>{if($ct$$.tk_no&&$ct$$.tk_no.length>0&&$ct$$.tk_no_gt||$ct$$.tk_co&&$ct$$.tk_co.length>0&&$ct$$.tk_co_gt){let $_query$$=Object.assign({},$query$$);var $tks_co$jscomp$1_tks_no$$=$ct$$.tk_no;$tks_co$jscomp$1_tks_no$$&&$ct$$.tk_no_gt&&(_.isArray($tks_co$jscomp$1_tks_no$$)||($tks_co$jscomp$1_tks_no$$=[$tks_co$jscomp$1_tks_no$$]),
|
|
11
|
+
$tks_co$jscomp$1_tks_no$$.length>0&&($_query$$.tk_no={$regex:$tks_co$jscomp$1_tks_no$$.reg(),$options:"i"}));($tks_co$jscomp$1_tks_no$$=$ct$$.tk_co)&&$ct$$.tk_co_gt&&(_.isArray($tks_co$jscomp$1_tks_no$$)||($tks_co$jscomp$1_tks_no$$=[$tks_co$jscomp$1_tks_no$$]),$tks_co$jscomp$1_tks_no$$.length>0&&($_query$$.tk_co={$regex:$tks_co$jscomp$1_tks_no$$.reg(),$options:"i"}));socai.find($_query$$).lean().then($rs$$=>{$callback$$(null,$rs$$)}).catch($error$$=>{$callback$$({message:$error$$.message})})}else $callback$$(null,
|
|
12
|
+
[])}},($e$$,$rs$$)=>{if($e$$)return Logger.info("error get data giam tru",$e$$),$reject$$($e$$);$e$$=$rs$$.dt.csum("tien")-$rs$$.gt.csum("tien");$resolve$$($e$$)})})},calcDoanhThu=async($ct$$,$query$$,$options$$={})=>{$ct$$.ma_kho&&($query$$.ma_kho=$ct$$.ma_kho);$ct$$.ma_nv&&($query$$.ma_nv=$ct$$.ma_nv);$ct$$.ma_nv_giao_hang&&($query$$.ma_nv_giao_hang=$ct$$.ma_nv_giao_hang);$ct$$.phu_xe&&($query$$.phu_xe=$ct$$.phu_xe);if($ct$$.__in_ma_bp__)$query$$.ma_bp=$ct$$.__in_ma_bp__;else if($ct$$.ma_bp){var $bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$=
|
|
13
|
+
await getCodeChildren(dmbp,$query$$.id_app,$ct$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$};$ct$$.__in_ma_bp__={$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$}}$ct$$.quan_ly&&$query$$.ma_nv&&($query$$.ma_nv={$ne:$query$$.ma_nv});$ct$$.__in_ma_dt__?$query$$.ma_dt=$ct$$.__in_ma_dt__:$ct$$.ma_dt&&($bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$=
|
|
14
|
+
await getCodeChildren(dmdt,$query$$.id_app,$ct$$.ma_dt,"ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$},$ct$$.__in_ma_dt__={$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$});$ct$$.__in_ma_phi__?$query$$.ma_phi=$ct$$.__in_ma_phi__:$ct$$.ma_phi&&($bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$=await getCodeChildren(dmphi,
|
|
15
|
+
$query$$.id_app,$ct$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$},$ct$$.__in_ma_phi__={$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$});!$ct$$.ma_kh&&$ct$$.nh_kh&&$ct$$.nh_kh.length>0&&($bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$=await global.getModel("group").getAllChildrenGroup($query$$.id_app,$ct$$.nh_kh,
|
|
16
|
+
{group_kind:1}),$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$=await global.getModel("customer").find({id_app:$query$$.id_app,nh_kh:{$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$},ngay_mua_dau_tien:{$exists:!0}},{ma_kh:1}),$query$$.ma_kh=$ct$$.nh_kh_lt?{$nin:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$.map($r$$=>$r$$.ma_kh)}:{$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$.map($r$$=>
|
|
17
|
+
$r$$.ma_kh)});$ct$$.ma_nvt&&$ct$$.ma_nvt.length>0&&($bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$=await global.getModel("dmnvt").getAllChildrenGroup($query$$.id_app,$ct$$.ma_nvt),$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$=await global.getModel("dmvt").find({id_app:$query$$.id_app,ma_nvt:{$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$}},{ma_vt:1}),$query$$["details.ma_vt"]=
|
|
18
|
+
$ct$$.ma_nvt_lt?{$nin:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$.map($r$$=>$r$$.ma_vt)}:{$in:$bps$jscomp$1_custs$jscomp$1_dts$jscomp$1_nh_khs$jscomp$1_nh_vts$jscomp$1_phis$jscomp$1_vts$$.map($r$$=>$r$$.ma_vt)});let $_query$$=Object.assign({},$query$$);return new Promise(($resolve$$,$reject$$)=>{databanle($_query$$,async function($details_error$$,$rs$$){if($details_error$$)return $reject$$($details_error$$);$details_error$$=$rs$$.map($r$$=>$r$$.details||
|
|
19
|
+
[]).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);await $details_error$$.asyncJoinModel2($_query$$.id_app,"dmqddvt",{where:{ma_dvt:"ma_dvt",ma_vt:"ma_vt"},fields:["tu","mau","ma_dvt_goc"]});await $details_error$$.filter($d$$=>$d$$.ma_vt_du&&$d$$.ma_dvt_vt_du).asyncJoinModel2($_query$$.id_app,"dmqddvt",{where:{ma_dvt_vt_du:"ma_dvt",ma_vt_du:"ma_vt"},fields:[{tu_vt_du:"tu"},{mau_vt_du:"mau"},{ma_dvt_goc_vt_du:"ma_dvt_goc"}]});$details_error$$.forEach(function($r$$){if($r$$.mau){let $he_so_qd$$=$r$$.tu/
|
|
20
|
+
$r$$.mau;$r$$.sl_xuat_qd=$he_so_qd$$*($r$$.sl_xuat||0);$r$$.sl_nhap_qd=$he_so_qd$$*($r$$.sl_nhap||0)}else $r$$.sl_xuat_qd=$r$$.sl_xuat||0,$r$$.sl_nhap_qd=$r$$.sl_nhap||0;$r$$.mau_vt_du=$r$$.mau_vt_du||$r$$.mau;$r$$.tu_vt_du=$r$$.tu_vt_du||$r$$.tu;$r$$.sl_vt_du_qd=$r$$.mau_vt_du?$r$$.tu_vt_du/$r$$.mau_vt_du*($r$$.sl_vt_du||0):$r$$.sl_vt_du||0;$r$$.sl_xuat_qd_bc=$r$$.sl_xuat_qd-$r$$.sl_vt_du_qd;$r$$.sl_nhap_qd_bc=$r$$.sl_nhap_qd;$r$$.ma_dvt_bc=$r$$.ma_dvt_goc||$r$$.ma_dvt});$ct$$.ma_dvt&&await $details_error$$.asyncJoinModel2($_query$$.id_app,
|
|
21
21
|
"dmqddvt",{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_dvt:$ct$$.ma_dvt}),setFields:($item$$,$he_so_qd$$)=>{$he_so_qd$$&&$he_so_qd$$.tu?($item$$.ma_dvt_bc=$ct$$.ma_dvt,$he_so_qd$$=$he_so_qd$$.mau/$he_so_qd$$.tu,$item$$.sl_xuat_qd_bc=$he_so_qd$$*($item$$.sl_xuat_qd||0),$item$$.sl_nhap_qd_bc=$he_so_qd$$*($item$$.sl_nhap_qd||0)):($item$$.sl_xuat_qd_bc=$item$$.sl_xuat_qd,$item$$.sl_nhap_qd_bc=$item$$.sl_nhap_qd)}});async.mapLimit($rs$$,20,function($r$$,$callback$$){$options$$.doanh_thu_tinh_hoa_hong&&($r$$.details=
|
|
22
|
-
$r$$.details.filter($d$$=>!$d$$.tien_hoa_hong));$r$$.details=$r$$.details.filter($d$$=>$query$$["details.ma_vt"]&&$query$$["details.ma_vt"].$in?$query$$["details.ma_vt"].$in.indexOf($d$$.ma_vt)>=0:!0);$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");$r$$.t_sl_xuat_qd_bc=$r$$.details.csum("sl_xuat_qd_bc");$r$$.t_tien_hang=$r$$.details.csum("tien_hang");$r$$.t_tien_hang_ct=$r$$.details.csum("tien_hang_ct");$r$$.
|
|
23
|
-
$r$$.details.csum("tien");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;$r$$.tien_ck_hd=$r$$.tien_ck_hd?$r$$.tien_ck_hd:0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$r$$.details_tl.csum("tien_ck"),$r$$.t_tien_thue_tl=$r$$.details_tl.csum("tien_thue"),$r$$.t_tien_nhap=$r$$.details_tl.csum("tien_nhap"),$r$$.t_sl_nhap
|
|
24
|
-
0,$r$$.t_tien_thue_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$callback$$(null,$r$$)},function($error$$,$
|
|
25
|
-
|
|
26
|
-
(
|
|
22
|
+
$r$$.details.filter($d$$=>!$d$$.tien_hoa_hong));$r$$.details=$r$$.details.filter($d$$=>$query$$["details.ma_vt"]&&$query$$["details.ma_vt"].$in?$query$$["details.ma_vt"].$in.indexOf($d$$.ma_vt)>=0:!0);$r$$.t_sl_xuat=$r$$.details.csum("sl_xuat");$r$$.t_sl_xuat_qd_bc=$r$$.details.csum("sl_xuat_qd_bc");$r$$.t_tien_hang=$r$$.details.csum("tien_hang");$r$$.t_tien_hang_ct=$r$$.details.csum("tien_hang_ct");$r$$.t_gt_vt_du=$r$$.details.csum("gt_vt_du");$r$$.t_thue=$r$$.details.csum("tien_thue");$r$$.t_tien_ck=
|
|
23
|
+
$r$$.details.csum("tien_ck");$r$$.t_tien=$r$$.details.csum("tien");$r$$.t_tien_cp=$r$$.details.csum("tien_cp");$r$$.tien_freeship=$r$$.tien_freeship||0;$r$$.tien_phi_vc=$r$$.tien_phi_vc||0;$r$$.tien_ck_hd=$r$$.tien_ck_hd?$r$$.tien_ck_hd:0;$r$$.t_tien_xuat=$r$$.details.csum("tien_xuat");$r$$.details_tl?($r$$.t_tien_tl=$r$$.details_tl.csum("tien_hang_ct")-$r$$.details_tl.csum("tien_ck"),$r$$.t_tien_thue_tl=$r$$.details_tl.csum("tien_thue"),$r$$.t_tien_nhap=$r$$.details_tl.csum("tien_nhap"),$r$$.t_sl_nhap=
|
|
24
|
+
$r$$.details_tl.csum("sl_nhap")):($r$$.t_tien_tl=0,$r$$.t_tien_thue_tl=0,$r$$.t_sl_nhap=0,$r$$.t_tien_nhap=0);$callback$$(null,$r$$)},function($error$$,$dt$$){if($error$$)return $reject$$($error$$);let $t_tien_hang_ct$$=$error$$=0,$t_tien_ck$$=0,$tien_ck_hd$$=0,$t_tien_tl$$=0,$t_tien_thue_tl$$=0,$t_ds$$=0,$t_dt$$=0;for(let $r$$ of $dt$$)$error$$+=$r$$.t_gt_vt_du||0,$t_tien_hang_ct$$+=$r$$.t_tien_hang_ct||0,$t_tien_ck$$+=$r$$.t_tien_ck||0,$tien_ck_hd$$+=$r$$.tien_ck_hd||0,$t_tien_tl$$+=$r$$.t_tien_tl||
|
|
25
|
+
0,$t_tien_thue_tl$$+=$r$$.t_tien_thue_tl||0,$t_ds$$+=$r$$.t_sl_xuat_qd_bc||0,$t_dt$$+=$r$$.t_tien_hang_ct-($r$$.t_gt_vt_du||0)-$r$$.t_tien_ck-$r$$.tien_ck_hd-$r$$.t_tien_tl-$r$$.t_tien_thue_tl;$resolve$$({t_dt:$t_dt$$,t_ds:$t_ds$$,t_gt_vt_du:$error$$,t_tien_hang_ct:$t_tien_hang_ct$$,t_tien_ck:$t_tien_ck$$,tien_ck_hd:$tien_ck_hd$$,t_tien_tl:$t_tien_tl$$,t_tien_thue_tl:$t_tien_thue_tl$$})})})})},kpistatus=async function($condition$$,$callback$$){$condition$$.nam=$condition$$.nam?Number($condition$$.nam):
|
|
26
|
+
(new Date).getFullYear();$condition$$.tu_thang=$condition$$.tu_thang?Number($condition$$.tu_thang):moment().month()-1;$condition$$.den_thang=$condition$$.den_thang?Number($condition$$.den_thang):moment().month()-1;$condition$$.tu_quy=$condition$$.tu_quy?Number($condition$$.tu_quy):moment().quarter();$condition$$.den_quy=$condition$$.den_quy?Number($condition$$.den_quy):moment().quarter();let $query$$={id_app:$condition$$.id_app,status:!0};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);
|
|
27
|
+
$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_nv&&($query$$.ma_nv=$condition$$.ma_nv);$condition$$.ma_nv_giao_hang&&($query$$.ma_nv_giao_hang=$condition$$.ma_nv_giao_hang);$condition$$.phu_xe&&($query$$.phu_xe=$condition$$.phu_xe);if($condition$$.ma_bp){var $bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$=await getCodeChildren(dmbp,$condition$$.id_app,$condition$$.ma_bp,"ma_bp","ma_bp_me");$query$$.ma_bp={$in:$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$}}$condition$$.ma_phi&&
|
|
27
28
|
($bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$=await getCodeChildren(dmphi,$condition$$.id_app,$condition$$.ma_phi,"ma_phi","ma_phi_me"),$query$$.ma_phi={$in:$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$});$condition$$.ma_dt&&($bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$=await getCodeChildren(dmdt,$condition$$.id_app,$condition$$.ma_dt,"ma_dt","ma_dt_me"),$query$$.ma_dt={$in:$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$});$condition$$.group_id&&($query$$.group_id=$condition$$.group_id);$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$=
|
|
28
|
-
[];switch($condition$$.ct_theo){case "thang":for(var $
|
|
29
|
-
break;default:$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.push({tu_ngay:$condition$$.tu_ngay,den_ngay:$condition$$.den_ngay})}
|
|
30
|
-
$ts$$.den_ngay||moment().year($ts$$.nam);$ts$$.thang&&$den_ngay$$.month($ts$$.thang-1).endOf("month");$ts$$.quy&&$den_ngay$$.quarter($ts$$.quy).endOf("quarter");$den_ngay$$=$den_ngay$$.startOf("date").toDate();$_query$$.hl_den_ngay={$gte:$den_ngay$$}
|
|
31
|
-
Math.round($ct$$.chi_tieu_thang*12);let $query$$={id_app:$ct$$.id_app,ma_dvcs:$ct$$.ma_dvcs};$query$$.ngay_ct={$gte:moment($tu_ngay$$).startOf("date").toDate(),$lte:moment($den_ngay$$).endOf("date").toDate()};switch($ct$$.cach_tinh){case "1":Logger.info("tinh kpi theo socai",$ct$$.ma_nv);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
[];switch($condition$$.ct_theo){case "thang":for(var $pivot_column_quy_thang$$=$condition$$.tu_thang;$pivot_column_quy_thang$$<=$condition$$.den_thang;$pivot_column_quy_thang$$++)$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.push({thang:$pivot_column_quy_thang$$,nam:$condition$$.nam});break;case "quy":for($pivot_column_quy_thang$$=$condition$$.tu_quy;$pivot_column_quy_thang$$<=$condition$$.den_quy;$pivot_column_quy_thang$$++)$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.push({quy:$pivot_column_quy_thang$$,
|
|
30
|
+
nam:$condition$$.nam});break;case "nam":$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.push({nam:$condition$$.nam});break;default:$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.push({tu_ngay:$condition$$.tu_ngay,den_ngay:$condition$$.den_ngay})}$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$=(await Promise.all($bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.map($ts$$=>(async()=>{var $_query$$=_.cloneDeep($query$$);let $tu_ngay$$=$ts$$.tu_ngay||moment().year($ts$$.nam);$ts$$.thang&&$tu_ngay$$.month($ts$$.thang-
|
|
31
|
+
1).startOf("month");$ts$$.quy&&$tu_ngay$$.quarter($ts$$.quy).starOf("quarter");$tu_ngay$$=$tu_ngay$$.endOf("date").toDate();$_query$$.hl_tu_ngay={$lte:$tu_ngay$$};let $den_ngay$$=$ts$$.den_ngay||moment().year($ts$$.nam);$ts$$.thang&&$den_ngay$$.month($ts$$.thang-1).endOf("month");$ts$$.quy&&$den_ngay$$.quarter($ts$$.quy).endOf("quarter");$den_ngay$$=$den_ngay$$.startOf("date").toDate();$_query$$.hl_den_ngay={$gte:$den_ngay$$};$_query$$=await ctds.find($_query$$).lean();await Promise.all($_query$$.map($ct$$=>
|
|
32
|
+
(async()=>{$ct$$.thang=$ts$$.thang;$ct$$.quy=$ts$$.quy;$ct$$.nam=$ts$$.nam;$ct$$.chi_tieu=$ct$$.quy?Math.round($ct$$.chi_tieu_thang*3):$ct$$.thang?Math.round($ct$$.chi_tieu_thang):Math.round($ct$$.chi_tieu_thang*12);let $query$$={id_app:$ct$$.id_app,ma_dvcs:$ct$$.ma_dvcs};$query$$.ngay_ct={$gte:moment($tu_ngay$$).startOf("date").toDate(),$lte:moment($den_ngay$$).endOf("date").toDate()};switch($ct$$.cach_tinh){case "1":Logger.info("tinh kpi theo socai",$ct$$.ma_nv);var $dt$jscomp$4_key$jscomp$10_ps$$=
|
|
33
|
+
await calcSoCai($ct$$,_.cloneDeep($query$$));$ct$$.ps_nt=$ct$$.ps=$dt$jscomp$4_key$jscomp$10_ps$$;$ct$$.bold=!1;$ct$$.sysorder=0;$ct$$.ty_le_ht=$ct$$.chi_tieu?Math.roundBy($ct$$.ps/$ct$$.chi_tieu*100,2):0;await tinhHoaHong($ct$$,_.cloneDeep($query$$));break;case "2":var $dt$jscomp$3_key$$=await calcDoanhThu($ct$$,_.cloneDeep($query$$));Logger.info("[kpistatus] t\u00ednh ph\u00e1t sinh theo doanh thu b\u00e1n h\u00e0ng",{dt:$dt$jscomp$3_key$$});$ct$$.ps_nt=$ct$$.ps=$dt$jscomp$3_key$$.t_dt;$ct$$.bold=
|
|
34
|
+
!1;$ct$$.sysorder=0;$ct$$.ty_le_ht=$ct$$.chi_tieu?Math.roundBy($ct$$.ps/$ct$$.chi_tieu*100,2):0;for($dt$jscomp$4_key$jscomp$10_ps$$ in $dt$jscomp$3_key$$)$ct$$[$dt$jscomp$4_key$jscomp$10_ps$$]=$dt$jscomp$3_key$$[$dt$jscomp$4_key$jscomp$10_ps$$];await tinhHoaHong($ct$$,_.cloneDeep($query$$));break;case "3":$dt$jscomp$4_key$jscomp$10_ps$$=await calcDoanhThu($ct$$,_.cloneDeep($query$$));Logger.info("[kpistatus] t\u00ednh ph\u00e1t sinh theo doanh s\u1ed1 b\u00e1n h\u00e0ng",{dt:$dt$jscomp$4_key$jscomp$10_ps$$});
|
|
35
|
+
$ct$$.ps_nt=$ct$$.ps=$dt$jscomp$4_key$jscomp$10_ps$$.t_ds;$ct$$.bold=!1;$ct$$.sysorder=0;$ct$$.ty_le_ht=$ct$$.chi_tieu?Math.roundBy($ct$$.ps/$ct$$.chi_tieu*100,2):0;for($dt$jscomp$3_key$$ in $dt$jscomp$4_key$jscomp$10_ps$$)$ct$$[$dt$jscomp$3_key$$]=$dt$jscomp$4_key$jscomp$10_ps$$[$dt$jscomp$3_key$$];await tinhHoaHong($ct$$,_.cloneDeep($query$$))}})()));return $_query$$})()))).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);Logger.info("[kpistatus] T\u00ednh hoa h\u1ed3ng...");let $columns_hoahong$$=await global.getModel("group").find({id_app:$condition$$.id_app,
|
|
36
|
+
group_type:"HOAHONG",status:!0}).lean();$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.forEach($row$$=>{$row$$.t_tien_hoa_hong=0;$columns_hoahong$$.forEach($hh$$=>{$row$$[`ps_tinh_hoa_hong_${$hh$$._id.toString()}`]=($row$$.chinh_sach_hoa_hong||[]).filter($c$$=>$c$$.phan_loai==$hh$$._id.toString()).map($c$$=>$c$$.ps_tinh_hoa_hong||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$row$$[`hoa_hong_${$hh$$._id.toString()}`]=($row$$.chinh_sach_hoa_hong||[]).filter($c$$=>$c$$.phan_loai==$hh$$._id.toString()).map($c$$=>
|
|
37
|
+
$c$$.tien_hoa_hong||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$row$$.t_tien_hoa_hong+=$row$$[`hoa_hong_${$hh$$._id.toString()}`]})});$pivot_column_quy_thang$$=$condition$$.pivot_column;if(!$pivot_column_quy_thang$$)return $callback$$(null,{rows:$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$,columns:$columns_hoahong$$,columns_hoahong:$columns_hoahong$$});let $pivot_datas$$=$condition$$.pivot_datas||["ps","chi_tieu","t_tien_hoa_hong"],$headers$$=$condition$$.headers||{ps:"Ph\u00e1t sinh",chi_tieu:"Ch\u1ec9 ti\u00eau",
|
|
38
|
+
ty_le_ht:"% ho\u00e0n th\u00e0nh",t_tien_hoa_hong:"Hoa h\u1ed3ng"};$pivot_column_quy_thang$$=="ky"&&$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.forEach($ct$$=>{$ct$$.ky=$ct$$.thang||$ct$$.quy;$ct$$.ky=$ct$$.ky?`${$ct$$.ky}/${$ct$$.nam}`:`${$ct$$.nam}`});$pivot_column_quy_thang$$=="thang"&&$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.forEach($ct$$=>{$ct$$.thang=`Th\u00e1ng ${$ct$$.thang}/${$ct$$.nam}`});$pivot_column_quy_thang$$=="quy"&&$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.forEach($ct$$=>{$ct$$.quy=
|
|
39
|
+
`Qu\u00fd ${$ct$$.quy}/${$ct$$.nam}`});$pivot_column_quy_thang$$=="nam"&&$bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.forEach($ct$$=>{$ct$$.nam=`N\u0103m ${$ct$$.nam}`});Logger.info("[kpistatus] pivot data...");let {data:$data$$,cols:$cols$$}=await $bps$jscomp$2_dts$jscomp$2_khoang_ts_phis$$.asyncPivot([],$pivot_column_quy_thang$$,$pivot_datas$$,{computed:{ty_le_ht:function($row$$,$prefix$$){const $chi_tieu$$=$row$$[$prefix$$+"chi_tieu"]||0;return $chi_tieu$$===0?0:parseFloat((($row$$[$prefix$$+"ps"]||
|
|
40
|
+
0)/$chi_tieu$$*100).toFixed(2))}}});$cols$$=$cols$$.map($c$$=>$pivot_datas$$.map($f$$=>({header:`${$c$$} - ${$headers$$[$f$$]}`,value_field:`${$c$$}${$f$$}`}))).reduce(($a$$,$b$$)=>$a$$.concat($b$$),[]);$callback$$(null,{rows:$data$$,columns:$cols$$,columns_hoahong:$columns_hoahong$$})};module.exports=$condition$$=>new Promise(($resolve$$,$reject$$)=>{kpistatus($condition$$,($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$resolve$$($rs$$)})});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const chamcong=global.getModel("chamcong"),dmnv=global.getModel("dmnv"),dmbp=global.getModel("dmbp"),dmloaicong=global.getModel("dmloaicong"),dmletet=global.getModel("dmletet"),moment=require("moment");
|
|
2
|
+
module.exports=async function($condition_endDate$$){var $id_app_report$$=$condition_endDate$$.id_app;const $lam_thu_7$$=$condition_endDate$$.lam_thu_7==="false"&&$condition_endDate$$.lam_thu_7===!1;var $danh_sach_le_tet_dm_nkl_query$$={id_app:$id_app_report$$};$danh_sach_le_tet_dm_nkl_query$$.ngay={$gte:$condition_endDate$$.tu_ngay,$lte:$condition_endDate$$.den_ngay};$condition_endDate$$.ma_nv&&($danh_sach_le_tet_dm_nkl_query$$.ma_nv=$condition_endDate$$.ma_nv);$condition_endDate$$.ma_bp&&($danh_sach_le_tet_dm_nkl_query$$.ma_bp=
|
|
3
|
+
$condition_endDate$$.ma_bp);let $congs$$=await chamcong.find($danh_sach_le_tet_dm_nkl_query$$).lean();const $ma_loai_nkl$$=($danh_sach_le_tet_dm_nkl_query$$=await dmloaicong.findOne({id_app:$id_app_report$$,ngay_khong_luong:1}).lean())?$danh_sach_le_tet_dm_nkl_query$$.ma_loai_cong:"";$danh_sach_le_tet_dm_nkl_query$$=await dmletet.find({id_app:$id_app_report$$}).lean();for(var $cong_date$$ of $congs$$)$cong_date$$.ngay=moment($cong_date$$.ngay).format("YYYY-MM-DD");await $congs$$.asyncJoinModel2($id_app_report$$,
|
|
4
|
+
dmnv,[{where:{ma_nv:"ma_nv"},fields:["ten_nv","bo_phan","ngay_bat_dau_lam","ngay_nghi_viec"]}]);$congs$$.forEach($item$$=>{($item$$.bo_phan||[]).forEach($bp$$=>{$bp$$.active=!$bp$$.den_ngay||$bp$$.den_ngay>=new Date;$bp$$.active&&($item$$.ma_bp=$item$$.ma_bp||$bp$$.ma_bp,$item$$.ten_bp=$item$$.ten_bp||$bp$$.ten_bp,$item$$.ngay_bd_lam_viec=$bp$$.tu_ngay,$item$$.phu_trach=$item$$.phu_trach||$bp$$.phu_trach,$item$$.chuc_vu=$item$$.chuc_vu||$bp$$.chuc_vu)});$item$$.ngay_bd_lam_viec=$item$$.ngay_bat_dau_lam||
|
|
5
|
+
$item$$.ngay_bd_lam_viec||""});await $congs$$.asyncJoinModel2($id_app_report$$,dmbp,[{where:{ma_bp:"ma_bp"},fields:["ten_bp"]}]);const $uniqueEmployees$$={};$congs$$.forEach($c$$=>{$uniqueEmployees$$[$c$$.ma_nv]||($uniqueEmployees$$[$c$$.ma_nv]={id_app:$c$$.id_app,ma_nv:$c$$.ma_nv,ten_nv:$c$$.ten_nv,ma_bp:$c$$.ma_bp,ten_bp:$c$$.ten_bp,ngay_bd_lam_viec:$c$$.ngay_bd_lam_viec,ngay_nghi_viec:$c$$.ngay_nghi_viec})});$cong_date$$=new Date($condition_endDate$$.tu_ngay);for($condition_endDate$$=new Date($condition_endDate$$.den_ngay);$cong_date$$.getTime()<=
|
|
6
|
+
$condition_endDate$$.getTime();){let $_d$$=moment(new Date($cong_date$$)),$_d_f$$=$_d$$.format("YYYY-MM-DD"),$currentDay$$=$cong_date$$.getDate(),$currentMonth$$=$cong_date$$.getMonth()+1,$isHoliday$$=$danh_sach_le_tet_dm_nkl_query$$.find($le$$=>$le$$.ngay==$currentDay$$&&$le$$.thang==$currentMonth$$),$dayOfWeek$$=$cong_date$$.getDay(),$isWorkingDay$$=!0;$dayOfWeek$$===0&&($isWorkingDay$$=!1);$dayOfWeek$$!==6||$lam_thu_7$$||($isWorkingDay$$=!1);Object.values($uniqueEmployees$$).forEach($emp$$=>{if(!$congs$$.find($cong$$=>
|
|
7
|
+
$cong$$.ngay===$_d_f$$&&$cong$$.ma_nv===$emp$$.ma_nv)){let $empty_date$$={...$emp$$};$empty_date$$.ngay=$_d_f$$;$empty_date$$.ma_loai_cong="";$empty_date$$.sl_cong=0;let $isValidDateForEmployee$$=!0,$checkDateTs$$=$_d$$.startOf("day").toDate().getTime();if($emp$$.ngay_bd_lam_viec){var $endDateTs_startDateTs$$=moment($emp$$.ngay_bd_lam_viec).startOf("day").toDate().getTime();$checkDateTs$$<$endDateTs_startDateTs$$&&($isValidDateForEmployee$$=!1)}$emp$$.ngay_nghi_viec&&($endDateTs_startDateTs$$=moment($emp$$.ngay_nghi_viec).endOf("day").toDate().getTime(),
|
|
8
|
+
$checkDateTs$$>$endDateTs_startDateTs$$&&($isValidDateForEmployee$$=!1));$isValidDateForEmployee$$&&($isHoliday$$&&$isHoliday$$.ma_loai_cong?($empty_date$$.ma_loai_cong=$isHoliday$$.ma_loai_cong,$empty_date$$.sl_cong=1):$isWorkingDay$$&&$ma_loai_nkl$$&&($empty_date$$.ma_loai_cong=$ma_loai_nkl$$,$empty_date$$.sl_cong=1));$congs$$.push($empty_date$$)}});$cong_date$$.setDate($cong_date$$.getDate()+1)}$congs$$=$congs$$.sort(($a$$,$b$$)=>(new Date($a$$.ngay)).getTime()-(new Date($b$$.ngay)).getTime());
|
|
9
|
+
const $loaicong$$=await dmloaicong.find({id_app:$id_app_report$$}).sort({stt:1}).lean();await $congs$$.asyncJoinModel2($id_app_report$$,dmloaicong,[{where:{ma_loai_cong:"ma_loai_cong"},fields:["ngay_cong","ngay_phep","ngay_khong_phep","ngay_khong_luong"]}]);$congs$$.forEach($r$$=>{$r$$.ngay_cong=($r$$.sl_cong||1)*($r$$.ngay_cong||0);$r$$.ngay_phep=($r$$.sl_cong||1)*($r$$.ngay_phep||0);$r$$.ngay_khong_phep=($r$$.sl_cong||1)*($r$$.ngay_khong_phep||0);$r$$.ngay_khong_luong=($r$$.sl_cong||1)*($r$$.ngay_khong_luong||
|
|
10
|
+
0)});$id_app_report$$=await $congs$$.asyncPivot(["ma_nv","ten_nv","ma_bp","ten_bp","ngay_bd_lam_viec"],"ngay",["ngay_cong","ngay_phep","ngay_khong_luong","ngay_khong_phep"],{colMax:["ma_loai_cong"]});$id_app_report$$.loaicong=$loaicong$$;$id_app_report$$.data.forEach(($r$$,$index$$)=>{$r$$.stt=$index$$+1;$loaicong$$.forEach($l$$=>{$r$$[$l$$.ma_loai_cong]=$congs$$.csum("ngay_cong",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp,ma_loai_cong:$l$$.ma_loai_cong})+$congs$$.csum("ngay_phep",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp,
|
|
11
|
+
ma_loai_cong:$l$$.ma_loai_cong})+$congs$$.csum("ngay_khong_phep",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp,ma_loai_cong:$l$$.ma_loai_cong})+$congs$$.csum("ngay_khong_luong",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp,ma_loai_cong:$l$$.ma_loai_cong})});$r$$.ngay_cong_tinh_luong=$congs$$.csum("ngay_cong",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp})+$congs$$.csum("ngay_phep",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp})-$congs$$.csum("ngay_khong_phep",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp});$r$$.tong_ngay_khong_luong=$congs$$.csum("ngay_khong_luong",
|
|
12
|
+
{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp})+$congs$$.csum("ngay_khong_phep",{ma_nv:$r$$.ma_nv,ma_bp:$r$$.ma_bp})});return $id_app_report$$};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const kbmkqhdkd=global.getModel("kbmkqhdkd"),{calcGrid,sumByCondition}=require("./utils"),async=require("async"),getRegString=function($arrayTk$$){return $arrayTk$$.reg()};
|
|
2
|
+
module.exports=async function($query$$){if(!$query$$.id_app||!$query$$.den_ngay||!$query$$.tu_ngay)throw"B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u tham s\u1ed1: id_app, t\u1eeb ng\u00e0y(tu_ngay), \u0111\u1ebfn ng\u00e0y(den_ngay)";$query$$.tu_ngay=new Date($query$$.tu_ngay);$query$$.den_ngay=new Date($query$$.den_ngay);$query$$.tu_ngay_kt&&$query$$.den_ngay_kt||($query$$.tu_ngay_kt=new Date($query$$.tu_ngay),$query$$.tu_ngay_kt.setYear($query$$.tu_ngay_kt.getFullYear()-1),$query$$.den_ngay_kt=
|
|
3
|
+
new Date($query$$.den_ngay),$query$$.den_ngay_kt.setYear($query$$.den_ngay_kt.getFullYear()-1));let $socai$$;$socai$$=$query$$.ma_kho?global.getModel("socaitc"):global.getModel("socaitt");var $_rptform_query_form$$={id_app:$query$$.id_app};$query$$.id_rptform?$_rptform_query_form$$._id=$query$$.id_rptform:$query$$.form_code&&($_rptform_query_form$$.form_code=$query$$.form_code);$_rptform_query_form$$=await global.getModel("rptform").findOne($_rptform_query_form$$).lean();if(!$_rptform_query_form$$)throw"M\u1eabu b\u00e1o c\u00e1o kh\u00f4ng t\u1ed3n t\u1ea1i";
|
|
4
|
+
let $report$$=$_rptform_query_form$$.report;$report$$&&$_rptform_query_form$$.report.length!==0||($report$$=await kbmkqhdkd.find({id_app:$query$$.id_app,id_rptform:$_rptform_query_form$$._id.toString()}).sort({stt:1}).lean());return new Promise(($resolve$$,$reject$$)=>{async.map($report$$,function($r$$,$c1$$){$r$$.cach_tinh=="1"?$c1$$(null,$r$$):async.parallel({ky_truoc:function($callback$$){const $condition$$={ngay_ct:{$gte:$query$$.tu_ngay_kt,$lte:$query$$.den_ngay_kt},id_app:$query$$.id_app};$query$$.ma_dvcs&&
|
|
5
|
+
($condition$$.ma_dvcs=$query$$.ma_dvcs);$query$$.ma_kho&&($condition$$.ma_kho=$query$$.ma_kho);var $tk_co_tk_no$$=getRegString($r$$.tk_no);$tk_co_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"});if($tk_co_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co?{$not:new RegExp($tk_co_tk_no$$)}:{$regex:$tk_co_tk_no$$,$options:"i"};sumByCondition($socai$$,["tien","tien_nt"],$condition$$).then($rs$$=>{$r$$.ky_truoc=$rs$$.tien;
|
|
6
|
+
$r$$.ky_truoc_nt=$rs$$.tien_nt;$callback$$(null,$r$$)}).catch($e$$=>{$callback$$($e$$)})},ky_nay:function($callback$$){const $condition$$={ngay_ct:{$gte:$query$$.tu_ngay,$lte:$query$$.den_ngay},id_app:$query$$.id_app};$query$$.ma_dvcs&&($condition$$.ma_dvcs=$query$$.ma_dvcs);$query$$.ma_kho&&($condition$$.ma_kho=$query$$.ma_kho);var $tk_co$jscomp$1_tk_no$$=getRegString($r$$.tk_no);$tk_co$jscomp$1_tk_no$$&&($condition$$.tk_no=$r$$.giam_tru_no?{$not:new RegExp($tk_co$jscomp$1_tk_no$$)}:{$regex:$tk_co$jscomp$1_tk_no$$,
|
|
7
|
+
$options:"i"});if($tk_co$jscomp$1_tk_no$$=getRegString($r$$.tk_co))$condition$$.tk_co=$r$$.giam_tru_co?{$not:new RegExp($tk_co$jscomp$1_tk_no$$)}:{$regex:$tk_co$jscomp$1_tk_no$$,$options:"i"};sumByCondition($socai$$,["tien","tien_nt"],$condition$$).then($rs$$=>{$r$$.ky_nay=$rs$$.tien;$r$$.ky_nay_nt=$rs$$.tien_nt;$callback$$(null,$r$$)}).catch($e$$=>{$callback$$($e$$)})}},function($error$$,$results$$){$c1$$($error$$,$results$$)})},function($error$$){if($error$$)return $reject$$($error$$);calcGrid($report$$,
|
|
8
|
+
"ky_nay,ky_nay_nt,ky_truoc,ky_truoc_nt",function($rs$$){$resolve$$($rs$$)})})})};
|
package/server/libs/post-book.js
CHANGED
|
@@ -16,6 +16,7 @@ $detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.tu/$detail$$.m
|
|
|
16
16
|
0)*$detail$$.tu/$detail$$.mau,round)):($detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.he_so_qd,round),$detail$$.sl_nhap_qd=utils.round(($detail$$.sl_nhap||0)*$detail$$.he_so_qd,round))}));$model_book$$.modelName.toLowerCase()==="sokhonpp"&&(await $details$$.asyncJoinModel2($master$$.id_app,global.getModel("dmqddvt"),{where:{ma_vt:"ma_vt",ma_dvt:"ma_dvt"},fields:["tu","mau",{he_so_qd:"ty_le_qd"}]}),$details$$.forEach($detail$$=>{$detail$$.ma_kho=$detail$$.ma_kho||$master$$.ma_kho;
|
|
17
17
|
$detail$$.he_so_qd=$detail$$.he_so_qd||1;$detail$$.mau&&$detail$$.tu?($detail$$.he_so_qd=$detail$$.tu/$detail$$.mau,$detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.tu/$detail$$.mau,round),$detail$$.sl_nhap_qd=utils.round(($detail$$.sl_nhap||0)*$detail$$.tu/$detail$$.mau,round)):($detail$$.sl_xuat_qd=utils.round(($detail$$.sl_xuat||0)*$detail$$.he_so_qd,round),$detail$$.sl_nhap_qd=utils.round(($detail$$.sl_nhap||0)*$detail$$.he_so_qd,round))}));if($model_book$$.modelName.toLowerCase()===
|
|
18
18
|
"vatra"||$model_book$$.modelName.toLowerCase()==="vatvao")if($ds_kho_kho_locked_rs_tdtts_tdtts$$=await Promise.all($details$$.filter($r$$=>$r$$.so_hd&&$r$$.so_hd!="0"&&$r$$.so_hd.toUpperCase()!==($master$$.ma_ct||"").toUpperCase()).map($detail$$=>(async()=>{let $v$$=await $model_book$$.findOne({id_app:$master$$.id_app,so_hd:$detail$$.so_hd,ma_kh:$detail$$.ma_kh||$master$$.ma_kh,so_seri:$detail$$.so_seri,ky_hieu_hoa_don:$detail$$.ky_hieu_hoa_don,id_ct:{$ne:$master$$._id.toString()}});return $v$$?$v$$.so_hd:
|
|
19
|
-
""})())),$ds_kho_kho_locked_rs_tdtts_tdtts$$=$ds_kho_kho_locked_rs_tdtts_tdtts$$.filter($r$$=>$r$$),$ds_kho_kho_locked_rs_tdtts_tdtts$$.length>0)return $callback$$(`S\u1ed1 ho\u00e1 \u0111\u01a1n ${$ds_kho_kho_locked_rs_tdtts_tdtts$$.join(",")} \u0111\u00e3 t\u1ed3n t\u1ea1i`);$details$$=$details$$.map(($detail$$,$line$$)=>{$detail$$.id_ct=$master$$._id.toString();$detail$$.ma_ct=$master$$.ma_ct;$detail$$.so_ct=$master$$.so_ct;$detail$$.ngay_ct=Math.max(new Date($master$$.ngay_ghi_so||$master$$.
|
|
20
|
-
new Date($master$$.ngay_ct));for(let $attr$$ in $model_book$$.schema.paths)if($attr$$!="id_ct"&&$attr$$!="_id"&&$attr$$!="__v"&&$attr$$!="date_updated"&&$attr$$!="date_created"){let $v$$=$detail$$[$attr$$];$v$$!==void 0&&$v$$!==null&&$v$$!==""||$v$$===0||$master$$[$attr$$]===void 0||($detail$$[$attr$$]=$master$$[$attr$$])}$detail$$.line=$line$$;delete $detail$$.toObject;delete $detail$$._id;delete $detail$$.__v;delete $detail$$.listinfo_code;return $detail$$});this.remove($error$$=>
|
|
21
|
-
$error$$.error||$error$$.message||$error$$),$callback$$($error$$);if($details$$.length==0)return $callback$$(null,[]);$model_book$$.create($details$$,async($e$$,$rs$$)=>{$e$$?$callback$$($e$$):($rs$$&&$model_book$$.modelName.toLowerCase()==="sokho"&&setImmediate(()=>{tontucthoi.tinhTonTucThoi($rs$$,$e$$=>{$e$$&&Logger.error("L\u1ed7i t\u00ednh t\u1ed3n t\u1ee9c th\u1eddi v\u1eadt t\u01b0",$rs$$,$e$$)})}),$callback$$(null,$rs$$))})})};
|
|
19
|
+
""})())),$ds_kho_kho_locked_rs_tdtts_tdtts$$=$ds_kho_kho_locked_rs_tdtts_tdtts$$.filter($r$$=>$r$$),$ds_kho_kho_locked_rs_tdtts_tdtts$$.length>0)return $callback$$(`S\u1ed1 ho\u00e1 \u0111\u01a1n ${$ds_kho_kho_locked_rs_tdtts_tdtts$$.join(",")} \u0111\u00e3 t\u1ed3n t\u1ea1i`);$details$$=$details$$.map(($detail$$,$line$$)=>{$detail$$.id_ct=$master$$._id.toString();$detail$$.ma_ct=$master$$.ma_ct;$detail$$.so_ct=$master$$.so_ct;$detail$$.ngay_ct=Math.max(new Date($master$$.ngay_ghi_so||$master$$.ngay_hoach_toan||
|
|
20
|
+
$master$$.ngay_ct),new Date($master$$.ngay_ct));for(let $attr$$ in $model_book$$.schema.paths)if($attr$$!="id_ct"&&$attr$$!="_id"&&$attr$$!="__v"&&$attr$$!="date_updated"&&$attr$$!="date_created"){let $v$$=$detail$$[$attr$$];$v$$!==void 0&&$v$$!==null&&$v$$!==""||$v$$===0||$master$$[$attr$$]===void 0||($detail$$[$attr$$]=$master$$[$attr$$])}$detail$$.line=$line$$;delete $detail$$.toObject;delete $detail$$._id;delete $detail$$.__v;delete $detail$$.listinfo_code;return $detail$$});this.remove($error$$=>
|
|
21
|
+
{if($error$$)return Logger.error("[postBook] error delete data post",$error$$.error||$error$$.message||$error$$),$callback$$($error$$);if($details$$.length==0)return $callback$$(null,[]);$model_book$$.create($details$$,async($e$$,$rs$$)=>{$e$$?$callback$$($e$$):($rs$$&&$model_book$$.modelName.toLowerCase()==="sokho"&&setImmediate(()=>{tontucthoi.tinhTonTucThoi($rs$$,$e$$=>{$e$$&&Logger.error("L\u1ed7i t\u00ednh t\u1ed3n t\u1ee9c th\u1eddi v\u1eadt t\u01b0",$rs$$,$e$$)})}),$callback$$(null,$rs$$))})})};
|
|
22
|
+
module.exports=post;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const SocaiModel=global.getModel("socai"),dmtk=global.getModel("account"),async=require("async"),cktk=require("./cktk"),ckcn=require("./ckcn"),moment=require("moment"),numeral=require("numeral"),asyncCkcn=async($condition$$,$options$$={model:"socai"})=>new Promise(($resolve$$,$reject$$)=>{ckcn($condition$$,($du_e$$,$rs$$)=>{if($du_e$$)return $reject$$($du_e$$);$du_e$$=$rs$$.map($r$$=>$r$$.du_no00-$r$$.du_co00).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$resolve$$($du_e$$)},$options$$)}),asyncCheckHMCN=async($hmcnct_id_app$$,
|
|
2
2
|
$obj$$,$tk$$,$ma_kh$$,$ps_no_tien_tien$$,$ps_co$$,$du_ck_ma_nv$$)=>{let $ex_id_ct$$=$obj$$?._id?.toString();var $acc_hm_query_query_hm_chung$$=await dmtk.findOne({id_app:$hmcnct_id_app$$,tk:$tk$$,loai_tk:1}).lean();if(!$acc_hm_query_query_hm_chung$$)throw"Kh\u00f4ng t\u1ed3n t\u1ea1i t\u00e0i kho\u1ea3n "+$tk$$;if($acc_hm_query_query_hm_chung$$.tk_cn){$acc_hm_query_query_hm_chung$$={id_app:$hmcnct_id_app$$,tk:$tk$$,ma_kh:$ma_kh$$,status:!0};$du_ck_ma_nv$$&&($acc_hm_query_query_hm_chung$$.ma_nv=$du_ck_ma_nv$$);
|
|
3
|
-
let $ngay_ct$$=Math.max(new Date($obj$$.ngay_ghi_so||$obj$$.ngay_ct),new Date($obj$$.ngay_ct));$acc_hm_query_query_hm_chung$$.$and=[{$or:[{hieu_luc_tu:null},{hieu_luc_tu:{$lte:moment($ngay_ct$$).endOf("date").toDate()}}]},{$or:[{hieu_luc_den:null},{hieu_luc_den:{$gte:moment($ngay_ct$$).startOf("date").toDate()}}]}];$acc_hm_query_query_hm_chung$$=await global.getModel("hmcn").findOne($acc_hm_query_query_hm_chung$$).lean();$acc_hm_query_query_hm_chung$$||($acc_hm_query_query_hm_chung$$=
|
|
4
|
-
tk:$tk$$,status:!0,ma_kh:{$in:[null,""]}},$du_ck_ma_nv$$&&($acc_hm_query_query_hm_chung$$.ma_nv=$du_ck_ma_nv$$),$acc_hm_query_query_hm_chung$$=await global.getModel("hmcn").findOne($acc_hm_query_query_hm_chung$$).lean());if($acc_hm_query_query_hm_chung$$){$du_ck_ma_nv$$=await asyncCkcn({id_app:$hmcnct_id_app$$,ex_id_ct:$ex_id_ct$$,tk:$tk$$,ma_kh:$ma_kh$$,ma_nv:$du_ck_ma_nv$$,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("date").toDate()},{id_ct:$obj$$._id?.toString()});if($acc_hm_query_query_hm_chung$$.loai==
|
|
3
|
+
let $ngay_ct$$=Math.max(new Date($obj$$.ngay_ghi_so||$obj$$.ngay_hoach_toan||$obj$$.ngay_ct),new Date($obj$$.ngay_ct));$acc_hm_query_query_hm_chung$$.$and=[{$or:[{hieu_luc_tu:null},{hieu_luc_tu:{$lte:moment($ngay_ct$$).endOf("date").toDate()}}]},{$or:[{hieu_luc_den:null},{hieu_luc_den:{$gte:moment($ngay_ct$$).startOf("date").toDate()}}]}];$acc_hm_query_query_hm_chung$$=await global.getModel("hmcn").findOne($acc_hm_query_query_hm_chung$$).lean();$acc_hm_query_query_hm_chung$$||($acc_hm_query_query_hm_chung$$=
|
|
4
|
+
{id_app:$hmcnct_id_app$$,tk:$tk$$,status:!0,ma_kh:{$in:[null,""]}},$du_ck_ma_nv$$&&($acc_hm_query_query_hm_chung$$.ma_nv=$du_ck_ma_nv$$),$acc_hm_query_query_hm_chung$$=await global.getModel("hmcn").findOne($acc_hm_query_query_hm_chung$$).lean());if($acc_hm_query_query_hm_chung$$){$du_ck_ma_nv$$=await asyncCkcn({id_app:$hmcnct_id_app$$,ex_id_ct:$ex_id_ct$$,tk:$tk$$,ma_kh:$ma_kh$$,ma_nv:$du_ck_ma_nv$$,bu_tru:!0,ngay:moment($ngay_ct$$).endOf("date").toDate()},{id_ct:$obj$$._id?.toString()});if($acc_hm_query_query_hm_chung$$.loai==
|
|
5
5
|
"2"){$du_ck_ma_nv$$=0-$du_ck_ma_nv$$;$ps_no_tien_tien$$=$ps_co$$-$ps_no_tien_tien$$;if($ps_no_tien_tien$$<0)return;if($acc_hm_query_query_hm_chung$$.hm==0){if($du_ck_ma_nv$$>$acc_hm_query_query_hm_chung$$.hm)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y ch\u1ec9 \u0111\u01b0\u1ee3c n\u1ee3 \u1edf \u0111\u01a1n \u0111\u1ea7u ti\u00ean. C\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ma_nv$$).format()} VND, ph\u00e1t sinh ${$ps_no_tien_tien$$<0?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;
|
|
6
6
|
}else if($du_ck_ma_nv$$+$ps_no_tien_tien$$>$acc_hm_query_query_hm_chung$$.hm)throw`Nh\u00e0 cung c\u1ea5p n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm_query_query_hm_chung$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ma_nv$$).format()} VND, ph\u00e1t sinh ${$ps_no_tien_tien$$<0?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else{$ps_no_tien_tien$$-=$ps_co$$;if($ps_no_tien_tien$$<0)return;if($acc_hm_query_query_hm_chung$$.hm==
|
|
7
7
|
0){if($du_ck_ma_nv$$>$acc_hm_query_query_hm_chung$$.hm)throw`Kh\u00e1ch h\u00e0ng n\u00e0y ch\u1ec9 \u0111\u01b0\u1ee3c n\u1ee3 \u1edf \u0111\u01a1n \u0111\u1ea7u ti\u00ean. C\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ma_nv$$).format()} VND, ph\u00e1t sinh ${$ps_no_tien_tien$$<0?"-":""} ${numeral(Math.abs($ps_no_tien_tien$$)).format()} VND`;}else if($du_ck_ma_nv$$+$ps_no_tien_tien$$>$acc_hm_query_query_hm_chung$$.hm)throw`Kh\u00e1ch h\u00e0ng n\u00e0y \u0111\u00e3 v\u01b0\u1ee3t h\u1ea1n m\u1ee9c c\u00f4ng n\u1ee3 ${numeral($acc_hm_query_query_hm_chung$$.hm).format()} VND, c\u00f4ng n\u1ee3 hi\u1ec7n t\u1ea1i ${numeral($du_ck_ma_nv$$).format()} VND, ph\u00e1t sinh ${$ps_no_tien_tien$$<
|
|
@@ -3,14 +3,14 @@ const async=require("async"),utils=require("./utils"),tontucthoi=global.getModel
|
|
|
3
3
|
{$item$$.tk_vt||($item$$.tk_vt=$ref$$.tk_vt);$item$$.tk_gv||($item$$.tk_gv=$ref$$.tk_gv);$item$$.tg_tk=$ref$$.tg_tk;$item$$.xk_nvl=$ref$$.xk_nvl}});for($i_ma_sp_qd$$=0;$i_ma_sp_qd$$<$dm_ma_tt1$$.details.length;$i_ma_sp_qd$$++)$dm_of_vt_ma_dvt_vt$$=$dm_ma_tt1$$.details[$i_ma_sp_qd$$],$he_so_qd_sl$$=0,$he_so_qd_sl$$=$dm_of_vt_ma_dvt_vt$$.loai_dinh_muc==1?$dm_of_vt_ma_dvt_vt$$.sl_dinh_muc*$sl_xuat_sl_xuat_qd$$*(1+($dm_of_vt_ma_dvt_vt$$.ty_le_hao_hut||0)/100):$dm_of_vt_ma_dvt_vt$$.sl_dinh_muc*(1+$dm_of_vt_ma_dvt_vt$$.ty_le_hao_hut/
|
|
4
4
|
100),$dm_of_vt_ma_dvt_vt$$.xk_nvl?($dm_of_vt_ma_dvt_vt$$=await dinhmucsx($id_app$$,$dm_of_vt_ma_dvt_vt$$.ma_vt,$dm_of_vt_ma_dvt_vt$$.ma_tt1||void 0,$he_so_qd_sl$$,$dm_of_vt_ma_dvt_vt$$.ma_dvt),$vts$$=[...$vts$$,...$dm_of_vt_ma_dvt_vt$$]):($dm_of_vt_ma_dvt_vt$$.sl_xuat=$he_so_qd_sl$$,$vts$$.push($dm_of_vt_ma_dvt_vt$$));return $vts$$},post=function($master$$,$details$$,$prepare$$,$options$$={}){$details$$||=[];this.master={...$master$$};this.details=$details$$.map($detail$$=>({...$detail$$}));this.prepare=
|
|
5
5
|
$prepare$$;this.options=$options$$};
|
|
6
|
-
post.prototype.runPrepare=async($prepareFunction$$,$details$$)=>{$details$$=$details$$.map($d$$=>{$d$$.toObject&&($d$$=$d$$.toObject());return{...$d$$}});return new Promise($resolve$$=>{$prepareFunction$$?async.map($details$$,($detail$$,$callback$$)=>{
|
|
6
|
+
post.prototype.runPrepare=async($prepareFunction$$,$details$$)=>{$details$$=$details$$.map($d$$=>{$d$$.toObject&&($d$$=$d$$.toObject());return{...$d$$}});return new Promise($resolve$$=>{$prepareFunction$$?async.map($details$$,($detail$$,$callback$$)=>{$detail$$.toObject=function(){return Object.assign({},$detail$$)};$prepareFunction$$($detail$$,$detail$$=>{$detail$$.toObject=function(){return Object.assign({},$detail$$)};$callback$$(null,$detail$$)})},($e$$,$details$$)=>{$resolve$$($details$$)}):
|
|
7
7
|
$resolve$$($details$$)})};
|
|
8
8
|
post.prototype.remove=async function($callback$$=()=>{}){var $master$$=this.master;$master$$&&$master$$.toObject&&($master$$=$master$$.toObject());if(!$master$$._id)return $callback$$();let $query_delete$$={id_ct:$master$$._id.toString(),id_app:$master$$.id_app};this.options.queryDelete&&($query_delete$$={...$query_delete$$,...this.options.queryDelete,id_app:$master$$.id_app});$master$$=await global.getModel("sokho").find({id_ct:$master$$._id.toString(),id_app:$master$$.id_app}).lean();await global.getModel("sokho").deleteMany($query_delete$$);
|
|
9
9
|
await global.getModel("sokhonpp").deleteMany($query_delete$$);await global.getModel("sokhokhongton").deleteMany($query_delete$$);$master$$.length>0&&tontucthoi.tinhTonTucThoi($master$$,$e$$=>{$e$$&&Logger.error("[post-sokho] T\u00ednh t\u1ed3n t\u1ee9c th\u1eddi sau khi xo\u00e1 sokho c\u1ee7a v\u1eadt t\u01b0",$e$$)});$callback$$()};
|
|
10
|
-
post.prototype.run=async function($callback$$=()=>{}){if(!this.details)return Logger.error("details not exists"),$callback$$(null,{});if(!this.master||!this.master._id)return Logger.error("masters not exists",this.master),$callback$$(null,{});let $master$$=this.master;$master$$.toObject&&($master$$=$master$$.toObject());let $ngay_ct$$=Math.max(new Date($master$$.ngay_ghi_so||$master$$.ngay_ct),new Date($master$$.ngay_ct));if($master$$.trang_thai&&$master$$.ma_ct){var $ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=
|
|
10
|
+
post.prototype.run=async function($callback$$=()=>{}){if(!this.details)return Logger.error("details not exists"),$callback$$(null,{});if(!this.master||!this.master._id)return Logger.error("masters not exists",this.master),$callback$$(null,{});let $master$$=this.master;$master$$.toObject&&($master$$=$master$$.toObject());let $ngay_ct$$=Math.max(new Date($master$$.ngay_ghi_so||$master$$.ngay_hoach_toan||$master$$.ngay_ct),new Date($master$$.ngay_ct));if($master$$.trang_thai&&$master$$.ma_ct){var $ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=
|
|
11
11
|
await global.getModel("trangthai").findOne({ma_trang_thai:$master$$.trang_thai,ma_ct:$master$$.ma_ct}).lean();if($ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$?.post_books&&$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$?.post_books?.indexOf("sokho")<0||$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$?.not_post_books&&$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$?.not_post_books?.indexOf("sokho")>=0)return $callback$$(null,{})}let $details$$=await this.runPrepare(this.prepare,
|
|
12
|
-
this.details);await $details$$.asyncJoinModel2($master$$.id_app,Dmvt,{where:"ma_vt",setFields:($item$$,$ref$$)=>{$item$$.tk_vt||($item$$.tk_vt=$ref$$.tk_vt);$item$$.tk_gv||($item$$.tk_gv=$ref$$.tk_gv);$item$$.tg_tk=$ref$$.tg_tk;$item$$.xk_nvl=$ref$$.xk_nvl}});if(($master$$.ma_ct||"").toUpperCase()!=="PKK"&&($ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=[...(new Set($details$$.map($d$$=>$d$$.ma_kho||$master$$.ma_kho)))],$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=
|
|
13
|
-
lock:!0,ma_kho:{$in:$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$}}).lean()))return $callback$$(`Kho ${$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$.ten_kho} \u0111\u00e3 b\u1ecb kho\u00e1`);if(["HD2","SO1","PBL"].indexOf($master$$.ma_ct)>=0){$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=$details$$.filter($p$$=>$p$$.xk_nvl&&$p$$.nxt==2);for(var $i$jscomp$1_i$$=0;$i$jscomp$1_i$$<$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$.length;$i$jscomp$1_i$$++)$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$[$i$jscomp$1_i$$].dinh_muc_nvl=
|
|
12
|
+
this.details);await $details$$.asyncJoinModel2($master$$.id_app,Dmvt,{where:"ma_vt",setFields:($item$$,$ref$$)=>{$item$$.tk_vt||($item$$.tk_vt=$ref$$.tk_vt);$item$$.tk_gv||($item$$.tk_gv=$ref$$.tk_gv);$item$$.ma_dvt||($item$$.ma_dvt=$ref$$.ma_dvt);$item$$.tg_tk=$ref$$.tg_tk;$item$$.xk_nvl=$ref$$.xk_nvl}});if(($master$$.ma_ct||"").toUpperCase()!=="PKK"&&($ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=[...(new Set($details$$.map($d$$=>$d$$.ma_kho||$master$$.ma_kho)))],$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=
|
|
13
|
+
await global.getModel("dmkho").findOne({id_app:$master$$.id_app,lock:!0,ma_kho:{$in:$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$}}).lean()))return $callback$$(`Kho ${$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$.ten_kho} \u0111\u00e3 b\u1ecb kho\u00e1`);if(["HD2","SO1","PBL"].indexOf($master$$.ma_ct)>=0){$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=$details$$.filter($p$$=>$p$$.xk_nvl&&$p$$.nxt==2);for(var $i$jscomp$1_i$$=0;$i$jscomp$1_i$$<$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$.length;$i$jscomp$1_i$$++)$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$[$i$jscomp$1_i$$].dinh_muc_nvl=
|
|
14
14
|
await dinhmucsx($master$$.id_app,$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$[$i$jscomp$1_i$$].ma_vt,$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$[$i$jscomp$1_i$$].ma_tt1,$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$[$i$jscomp$1_i$$].sl_xuat,$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$[$i$jscomp$1_i$$].ma_dvt)}$details$$=$details$$.filter($d$$=>$d$$.tg_tk||$d$$.dinh_muc_nvl&&$d$$.dinh_muc_nvl.length>0);$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=
|
|
15
15
|
$details$$.filter($p$$=>$p$$.xk_nvl&&$p$$.dinh_muc_nvl&&$p$$.dinh_muc_nvl.length>0);for($i$jscomp$1_i$$=0;$i$jscomp$1_i$$<$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$.length;$i$jscomp$1_i$$++){const $p$$=$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$[$i$jscomp$1_i$$];let $he_so_qd$$=1,$qd$$=await global.getModel("dmqddvt").findOne({id_app:$master$$.id_app,ma_vt:$p$$.ma_vt,ma_dvt:$p$$.ma_dvt}).lean();$qd$$&&($he_so_qd$$=$qd$$.mau?$qd$$.tu/$qd$$.mau:$qd$$.ty_le_qd);let $sl_sp$$=
|
|
16
16
|
$p$$.sl_xuat*$he_so_qd$$;$p$$.dinh_muc_nvl=$p$$.dinh_muc_nvl.map($d$$=>{$d$$.nxt=$p$$.nxt;$d$$.ma_sp=$p$$.ma_vt;$d$$.sl_sp=$sl_sp$$;$d$$.ma_tt1_sp=$p$$.ma_tt1;$d$$.ma_tt2_sp=$p$$.ma_tt2;$d$$.ma_tt3_sp=$p$$.ma_tt3;$d$$.ma_kho=$p$$.ma_kho;return $d$$});$p$$.dinh_muc_nvl=$p$$.dinh_muc_nvl.filter($p$$=>$p$$.tg_tk)}$ds_kho_kho_locked_ps_kg_dm_sp_co_dm_sp_xk_nvl_trang_thai$$=$details$$.filter($p$$=>!$p$$.xk_nvl||!$p$$.dinh_muc_nvl||$p$$.dinh_muc_nvl.length===0);$i$jscomp$1_i$$=$details$$.filter($p$$=>$p$$.xk_nvl&&
|
|
@@ -21,6 +21,6 @@ ma_kho:{$in:[$p$$.ma_kho,"",null]}};$giatb_qd$$=await global.getModel("giatb").f
|
|
|
21
21
|
$callback$$();else{let $condition$$={id_app:$master$$.id_app,ma_vt:$p$$.ma_vt,ma_kho:$p$$.ma_kho};$condition$$.tu_ngay=moment($ngay_ct$$).startOf("month").toDate();$condition$$.den_ngay=moment($ngay_ct$$).endOf("month").toDate();Logger.debug("[postSokho] T\u00ednh gi\u00e1 trung b\u00ecnh cho v\u1eadt t\u01b0",$p$$.ma_vt);tinhgiatb($condition$$,($e$$,$giatb$$)=>{$e$$&&Logger.error("[postSokho] Kh\u00f4ng th\u1ec3 t\u00ednh gi\u00e1 trung b\u00ecnh",$e$$.message||$e$$.error||$e$$,$condition$$);Logger.debug("[postSokho] Gi\u00e1 trung b\u00ecnh \u0111\u00e3 t\u00ednh cho v\u1eadt t\u01b0",
|
|
22
22
|
$p$$.ma_vt,":",$giatb$$.gia);$p$$.gia_von_nt=$giatb$$?$p$$.gia_von=($giatb$$.gia||0)*$he_so_qd$$:$p$$.gia_von=0;$p$$.tien_xuat_nt=$p$$.tien_xuat=($p$$.sl_xuat||0)*$p$$.gia_von_nt;$p$$.tien_nhap_nt=$p$$.tien_nhap=($p$$.sl_nhap||0)*$p$$.gia_von_nt;$callback$$()})}})},()=>{$rs$$()})});$details$$=$details$$.map(($detail$$,$line$$)=>{$detail$$.id_ct=$master$$._id.toString();$detail$$.ma_ct=$master$$.ma_ct;$detail$$.so_ct=$master$$.so_ct;$detail$$.ngay_ct=$ngay_ct$$;for(let $attr$$ in global.getModel("sokho").schema.paths)if($attr$$!=
|
|
23
23
|
"id_ct"&&$attr$$!="_id"&&$attr$$!="__v"&&$attr$$!="date_updated"&&$attr$$!="date_created"){let $v$$=$detail$$[$attr$$];$v$$!==void 0&&$v$$!==null&&$v$$!==""||$v$$===0||$master$$[$attr$$]===void 0||($detail$$[$attr$$]=$master$$[$attr$$])}$detail$$.line=$line$$;delete $detail$$.toObject;delete $detail$$._id;delete $detail$$.__v;delete $detail$$.listinfo_code;return $detail$$});await $details$$.asyncJoinModel2($master$$.id_app,"dmkho",{where:"ma_kho",fields:"la_kho_npp"});this.remove(async $error$$=>
|
|
24
|
-
{if($error$$)return Logger.error("[postSokho] error delete data post",$error$$.message||$error$$.error||$error$$,$master$$.so_ct,$master$$.ma_ct),$callback$$($error$$);if($details$$.length==0)return $callback$$(null,
|
|
24
|
+
{if($error$$)return Logger.error("[postSokho] error delete data post",$error$$.message||$error$$.error||$error$$,$master$$.so_ct,$master$$.ma_ct),$callback$$($error$$);if($details$$.length==0)return $callback$$(null,{});try{let $data_sokho$$=$details$$.filter($d$$=>$d$$.tg_tk&&!$d$$.la_kho_npp),$rs_sokho$$=await global.getModel("sokho").create($data_sokho$$),$data_sokhonpp$$=$details$$.filter($d$$=>$d$$.tg_tk&&$d$$.la_kho_npp),$rs_sokhnpp$$=await global.getModel("sokhonpp").create($data_sokhonpp$$),
|
|
25
25
|
$data_sokhokhongton$$=$details$$.filter($d$$=>$d$$.tg_tk==0),$rs_sokhokhongton$$=await global.getModel("sokhokhongton").create($data_sokhokhongton$$);$rs_sokho$$&&tontucthoi.tinhTonTucThoi($rs_sokho$$,$e$$=>{$e$$&&Logger.error("L\u1ed7i t\u00ednh t\u1ed3n t\u1ee9c th\u1eddi v\u1eadt t\u01b0",$rs_sokho$$,$e$$.message||$e$$.error||$e$$,$master$$.so_ct,$master$$.ma_ct)});$callback$$(null,{rs_sokho:$rs_sokho$$,rs_sokhnpp:$rs_sokhnpp$$,rs_sokhokhongton:$rs_sokhokhongton$$})}catch($e$$){Logger.error("[postSokho] \u0110\u00e3 c\u00f3 l\u1ed7i khi post sokho",
|
|
26
26
|
$e$$),$callback$$($e$$)}})};module.exports=post;
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const Vsocai=require("./vsocai"),dkcn=require("./dkcn"),async=require("async"),moment=require("moment"),permistion=require("./permission");
|
|
2
|
+
module.exports=async function($condition$$){if(!$condition$$.id_app||!$condition$$.tu_ngay||!$condition$$.den_ngay)throw Error("B\u00e1o c\u00e1o n\u00e0y y\u00eau c\u1ea7u c\u00e1c tham s\u1ed1 id_app,tu_ngay,den_ngay");$condition$$.tk||($condition$$.tk="131");$condition$$.tu_ngay=moment($condition$$.tu_ngay).startOf("month").toDate();$condition$$.den_ngay=moment($condition$$.den_ngay).endOf("month").toDate();var {id_app:$_q$jscomp$3_id_app_ma_nvs$$}=$condition$$;if(!$condition$$.ma_kh&&($condition$$.nh_kh||
|
|
3
|
+
$condition$$.phu_trach)){var $_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$={};$condition$$.nh_kh&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.nh_kh=$condition$$.nh_kh);if($condition$$.phu_trach){var $Customer_ds_phu_trach$$=await permistion.dsDangPhuTrach($condition$$.id_app,$condition$$.phu_trach);$Customer_ds_phu_trach$$.push($condition$$.phu_trach);$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.$or=
|
|
4
|
+
[{phu_trach:{$in:$Customer_ds_phu_trach$$}},{of_user:{$in:$Customer_ds_phu_trach$$}}]}$Customer_ds_phu_trach$$=global.getModel("customer");$condition$$.ma_kh=await $Customer_ds_phu_trach$$.getList($condition$$.id_app,$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$,"ma_kh")}!$condition$$.ma_nv&&$condition$$.phu_trach_nv&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=await permistion.dsDangPhuTrach($condition$$.id_app,
|
|
5
|
+
$condition$$.phu_trach_nv),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.push($condition$$.phu_trach_nv),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$={id_app:$condition$$.id_app,$or:[{phu_trach:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}},{user:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}}]},
|
|
6
|
+
$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=(await global.getModel("dmnv").find($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$,{ma_nv:1}).lean()).map($nv$$=>$nv$$.ma_nv),$condition$$.ma_nv={$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$});!$condition$$.ma_nv_giao_hang&&$condition$$.phu_trach_gia_hang&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=
|
|
7
|
+
await permistion.dsDangPhuTrach($_q$jscomp$3_id_app_ma_nvs$$,$condition$$.phu_trach_gia_hang),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.push($condition$$.phu_trach_gia_hang),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$={id_app:$_q$jscomp$3_id_app_ma_nvs$$,$or:[{phu_trach:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}},
|
|
8
|
+
{user:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}}]},$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=(await global.getModel("dmnv").find($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$,{ma_nv:1}).lean()).map($nv$$=>$nv$$.ma_nv),$condition$$.ma_nv_giao_hang={$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$});
|
|
9
|
+
!$condition$$.phu_xe&&$condition$$.phu_trach_phu_xe&&($_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$=await permistion.dsDangPhuTrach($_q$jscomp$3_id_app_ma_nvs$$,$condition$$.phu_trach_phu_xe),$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$.push($condition$$.phu_trach_phu_xe),$_q$jscomp$3_id_app_ma_nvs$$={id_app:$_q$jscomp$3_id_app_ma_nvs$$,$or:[{phu_trach:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}},
|
|
10
|
+
{user:{$in:$_q__q$jscomp$1__q$jscomp$2_ds_phu_trach$jscomp$1_ds_phu_trach$jscomp$2_ds_phu_trach$jscomp$3_ma_nvs_ma_nvs$$}}]},$_q$jscomp$3_id_app_ma_nvs$$=(await global.getModel("dmnv").find($_q$jscomp$3_id_app_ma_nvs$$,{ma_nv:1}).lean()).map($nv$$=>$nv$$.ma_nv),$condition$$.phu_xe={$in:$_q$jscomp$3_id_app_ma_nvs$$});$condition$$.bu_tru=!0;$condition$$.groupBy=$condition$$.groupBy||["tk","ma_kh"];return new Promise(($resolve$$,$reject$$)=>{async.parallel({dk:$callback$$=>{const $query$$={...$condition$$};
|
|
11
|
+
$query$$.ngay=$condition$$.tu_ngay;dkcn($query$$,function($data_error$$,$result$$){if($data_error$$)return $callback$$($data_error$$);$data_error$$={systotal:1,sysorder:0,bold:!0,dien_giai:"\u0110\u1ea7u k\u1ef3",ps_no:$result$$.csum("du_no00"),ps_co:$result$$.csum("du_co00"),ps_no_nt:$result$$.csum("du_no_nt00"),ps_co_nt:$result$$.csum("du_co_nt00")};$callback$$(null,$data_error$$)})},ps:$callback$$=>{const $query$$={id_app:$condition$$.id_app,tk:{$regex:"^"+$condition$$.tk,$options:"i"},ngay_ct:{$gte:$condition$$.tu_ngay,
|
|
12
|
+
$lte:$condition$$.den_ngay}};$condition$$.ma_dvcs&&($query$$.ma_dvcs=$condition$$.ma_dvcs);$condition$$.ma_kh&&($query$$.ma_kh=$condition$$.ma_kh);$condition$$.ma_kho&&($query$$.ma_kho=$condition$$.ma_kho);$condition$$.ma_bp&&($query$$.ma_bp=$condition$$.ma_bp);$condition$$.ma_phi&&($query$$.ma_phi=$condition$$.ma_phi);$condition$$.ma_nv&&($query$$.ma_nv=$condition$$.ma_nv);$condition$$.ma_nv_giao_hang&&($query$$.ma_nv_giao_hang=$condition$$.ma_nv_giao_hang);$condition$$.phu_xe&&($query$$.phu_xe=
|
|
13
|
+
$condition$$.phu_xe);$condition$$.ma_hd&&($query$$.ma_hd=$condition$$.ma_hd);$condition$$.ma_dt&&($query$$.ma_dt=$condition$$.ma_dt);Vsocai.find($query$$,($error$$,$result$$)=>{if($error$$)return $callback$$($error$$);$result$$.forEach($r$$=>{$r$$.systotal=0;$r$$.sysorder=5;$r$$.bold=!1});$error$$={systotal:1,sysorder:6,bold:!0,dien_giai:"T\u1ed5ng c\u1ed9ng ph\u00e1t sinh",ps_no:$result$$.csum("ps_no"),ps_co:$result$$.csum("ps_co"),ps_no_nt:$result$$.csum("ps_no_nt"),ps_co_nt:$result$$.csum("ps_co_nt")};
|
|
14
|
+
$result$$.push($error$$);$result$$.push({systotal:0,sysorder:2,bold:!0,dien_giai:"Ph\u00e1t sinh trong k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0});$callback$$(null,$result$$)},{groupBy:"id_app ma_dvcs id_ct ma_ct ma_gd ngay_ct ngay_ct_full listinfo_code so_ct ngay_hd so_hd tk tk_du ma_kh ong_ba ma_nt ty_gia dien_giai ma_bp id_lenhsx ma_phi ma_hd ma_dt ma_nv ma_cp ma_kho".split(" "),sortData:!0})}},($data$jscomp$1_error$$,$results_so_ck$$)=>{if($data$jscomp$1_error$$)return $reject$$($data$jscomp$1_error$$);
|
|
15
|
+
$data$jscomp$1_error$$=$results_so_ck$$.ps;$data$jscomp$1_error$$.push($results_so_ck$$.dk);$results_so_ck$$=$data$jscomp$1_error$$.csum("ps_no",{systotal:1})-$data$jscomp$1_error$$.csum("ps_co",{systotal:1});let $so_ck_nt$$=$data$jscomp$1_error$$.csum("ps_no_nt",{systotal:1})-$data$jscomp$1_error$$.csum("ps_co",{systotal:1});const $dong_cuoi_ky$$={systotal:1,sysorder:9,bold:!0,dien_giai:"Cu\u1ed1i k\u1ef3",ps_no:0,ps_co:0,ps_no_nt:0,ps_co_nt:0};$results_so_ck$$>0&&($dong_cuoi_ky$$.ps_no=$results_so_ck$$);
|
|
16
|
+
$so_ck_nt$$>0&&($dong_cuoi_ky$$.ps_no_nt=$so_ck_nt$$);$results_so_ck$$<0&&($dong_cuoi_ky$$.ps_co=Math.abs($results_so_ck$$));$so_ck_nt$$<0&&($dong_cuoi_ky$$.ps_co_nt=Math.abs($so_ck_nt$$));$data$jscomp$1_error$$.push($dong_cuoi_ky$$);$data$jscomp$1_error$$=$data$jscomp$1_error$$.sort(($a$$,$b$$)=>{var $date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.sysorder-$b$$.sysorder;if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=
|
|
17
|
+
new Date($a$$.ngay_ct_full)-new Date($b$$.ngay_ct_full);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=new Date($a$$.date_created)-new Date($b$$.date_created);if($date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0)return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$;$date2Diff_dateDiff_soCtDiff_sysorderDiff$$=$a$$.so_ct.localeCompare($b$$.so_ct);return $date2Diff_dateDiff_soCtDiff_sysorderDiff$$!==0?$date2Diff_dateDiff_soCtDiff_sysorderDiff$$:
|
|
18
|
+
($b$$.ps_no>0)-($a$$.ps_no>0)});$resolve$$($data$jscomp$1_error$$)})})};
|