flexbiz-server 12.3.2 → 12.3.4
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 +3 -3
- package/server/app.js +4 -4
- package/server/cluster.js +2 -2
- package/server/controllers/controller.js +109 -107
- package/server/data/account.js +479 -0
- package/server/data/ckgtluong.js +65 -0
- package/server/data/currency.js +4 -0
- package/server/data/dmdvt.js +54 -0
- package/server/data/dmkho.js +3 -0
- package/server/data/dvcs.js +3 -0
- package/server/data/kbm_bcdkt.js +4843 -0
- package/server/data/kbm_kqhdkd.js +655 -0
- package/server/data/kbm_lcttgt.js +2386 -0
- package/server/data/kbm_lctttt.js +934 -0
- package/server/data/kbm_tkgtgt.js +560 -0
- package/server/data/parameter.js +178 -0
- package/server/data/ptthanhtoan.js +3 -0
- package/server/data/rpt.js +123 -0
- package/server/data/rptobject.js +2 -0
- package/server/data/sys/labelinfo.js +2 -0
- package/server/data/sys/listinfo.js +225430 -0
- package/server/data/sys/menuinfo.js +1 -0
- package/server/data/sys/moduleinfo.js +523 -0
- package/server/data/sys/quanhuyen.js +9928 -0
- package/server/data/sys/reportinfo.js +14045 -0
- package/server/data/sys/tableinfo.js +5873 -0
- package/server/data/sys/templatestore.js +1988 -0
- package/server/data/sys/tinhthanh.js +821 -0
- package/server/data/sys/trangthai.js +12301 -0
- package/server/data/sys/user.js +21 -0
- package/server/data/sys/vietqrbanks.js +1 -0
- package/server/data/tc.js +5 -0
- package/server/data/usergroup.js +47 -0
- package/server/data/vat.js +115 -0
- package/server/global.js +1 -1
- package/server/libs/databanle.js +12 -9
- package/server/libs/databanletheongay.js +1 -1
- package/server/libs/docs.js +304 -0
- package/server/libs/dtbanletheosp.js +2 -2
- package/server/libs/getGiaban.js +57 -53
- package/server/libs/htmlReport.js +6 -6
- package/server/libs/mongooseDeletePost.js +4 -3
- package/server/libs/permission.js +25 -20
- package/server/libs/post-socai.js +6 -5
- package/server/libs/post-sokho.js +1 -1
- package/server/libs/tuoinophaithu.js +10 -10
- package/server/libs/tuoinophaitra.js +11 -9
- package/server/libs/utils.js +29 -5
- package/server/libs/validator.js +3 -2
- package/server/models/app.js +4 -3
- package/server/models/bds_area.js +2 -2
- package/server/models/bds_block.js +2 -2
- package/server/models/bds_building.js +3 -3
- package/server/models/bds_floor.js +2 -2
- package/server/models/bds_floordetail.js +3 -3
- package/server/models/bds_nhadat.js +6 -4
- package/server/models/bds_nhomnhadat.js +3 -0
- package/server/models/bds_phanloainhadat.js +2 -0
- package/server/models/customer.js +5 -5
- package/server/models/dh2.js +5 -5
- package/server/models/ecomproductlines.js +2 -0
- package/server/models/hd2.js +17 -15
- package/server/models/hd4.js +12 -0
- package/server/models/listinfo.js +12 -1
- package/server/models/moduleinfo.js +3 -3
- package/server/models/pn3.js +4 -4
- package/server/models/so9.js +7 -7
- package/server/models/tdttco.js +9 -8
- package/server/models/tdttco_tt.js +1 -1
- package/server/models/tdttno.js +9 -8
- package/server/models/tdttno_tt.js +2 -2
- package/server/models/user.js +7 -7
- package/server/models/vatra.js +5 -5
- package/server/models/vatvao.js +5 -5
- package/server/modules/lists/bg-cddiem.js +6 -7
- package/server/modules/lists/bg-cddt.js +7 -8
- package/server/modules/lists/bg-cdkh.js +11 -10
- package/server/modules/lists/bg-cdnphep.js +6 -7
- package/server/modules/lists/bg-cdtk.js +9 -9
- package/server/modules/lists/bg-cdvt.js +8 -9
- package/server/modules/lists/bg-cdvtnpp.js +7 -8
- package/server/modules/lists/ls-account.js +4 -4
- package/server/modules/lists/ls-afflink.js +2 -2
- package/server/modules/lists/ls-bds_area.js +4 -3
- package/server/modules/lists/ls-bds_block.js +1 -1
- package/server/modules/lists/ls-bds_building.js +2 -2
- package/server/modules/lists/ls-bds_floor.js +2 -2
- package/server/modules/lists/ls-bds_floordetail.js +18 -18
- package/server/modules/lists/ls-bds_nhadat.js +16 -7
- package/server/modules/lists/ls-bds_nhomnhadat.js +1 -0
- package/server/modules/lists/ls-bds_phanloainhadat.js +1 -0
- package/server/modules/lists/ls-currency.js +1 -1
- package/server/modules/lists/ls-dknphep.js +1 -1
- package/server/modules/lists/ls-dmban.js +3 -3
- package/server/modules/lists/ls-dmca.js +1 -1
- package/server/modules/lists/ls-dmchucvu.js +2 -1
- package/server/modules/lists/ls-dmcpmh.js +1 -1
- package/server/modules/lists/ls-dmdvt.js +1 -1
- package/server/modules/lists/ls-dmhoahonghd.js +2 -1
- package/server/modules/lists/ls-dmhoahongnpp.js +2 -1
- package/server/modules/lists/ls-dmkhuyenmai.js +4 -4
- package/server/modules/lists/ls-dmkhuyenmaihd.js +2 -2
- package/server/modules/lists/ls-dmletet.js +1 -1
- package/server/modules/lists/ls-dmloaicong.js +1 -1
- package/server/modules/lists/ls-dmloaits.js +1 -1
- package/server/modules/lists/ls-dmnckkm.js +5 -5
- package/server/modules/lists/ls-dmnghiepvu.js +1 -1
- package/server/modules/lists/ls-dmnguonvon.js +1 -1
- package/server/modules/lists/ls-dmnhnv.js +5 -5
- package/server/modules/lists/ls-dmnhtask.js +5 -5
- package/server/modules/lists/ls-dmnkh.js +5 -5
- package/server/modules/lists/ls-dmntt.js +5 -5
- package/server/modules/lists/ls-dmnvt.js +4 -4
- package/server/modules/lists/ls-dmqddvt.js +2 -2
- package/server/modules/lists/ls-dmtanggiamts.js +1 -1
- package/server/modules/lists/ls-dmvt.js +20 -19
- package/server/modules/lists/ls-dvcs.js +1 -1
- package/server/modules/lists/ls-fbpage.js +1 -1
- package/server/modules/lists/ls-hlink.js +1 -1
- package/server/modules/lists/ls-hlinkvalue.js +1 -1
- package/server/modules/lists/ls-hmcn.js +2 -2
- package/server/modules/lists/ls-kbm-bcdkt.js +1 -1
- package/server/modules/lists/ls-kbm-bcqt.js +4 -4
- package/server/modules/lists/ls-kbm-kqhdkd.js +1 -1
- package/server/modules/lists/ls-kbm-lcttgt.js +1 -1
- package/server/modules/lists/ls-kbm-lctttt.js +1 -1
- package/server/modules/lists/ls-kbm-pttct.js +2 -2
- package/server/modules/lists/ls-kbm-tkgtgt.js +2 -1
- package/server/modules/lists/ls-kbm-tmbctc.js +2 -2
- package/server/modules/lists/ls-label.js +1 -1
- package/server/modules/lists/ls-like-module.js +2 -2
- package/server/modules/lists/ls-newsfeed.js +3 -3
- package/server/modules/lists/ls-participant.js +3 -3
- package/server/modules/lists/ls-ptthanhtoan.js +2 -2
- package/server/modules/lists/ls-rpt.js +4 -4
- package/server/modules/lists/ls-rptform.js +4 -4
- package/server/modules/lists/ls-tc.js +1 -1
- package/server/modules/lists/ls-templaterpt.js +4 -3
- package/server/modules/lists/ls-templatevoucher.js +1 -1
- package/server/modules/lists/ls-vat.js +1 -1
- package/server/modules/lists/ls-vatra.js +5 -0
- package/server/modules/lists/ls-vatvao.js +5 -0
- package/server/modules/reports/calc-tinhgiatb.js +6 -6
- package/server/modules/reports/calc-tinhgiathanh.js +6 -7
- package/server/modules/reports/calc-tinhkhauhaots.js +3 -4
- package/server/modules/reports/calc-tinhluong.js +17 -17
- package/server/modules/reports/rp-congnophaithutheotuoino.js +2 -2
- package/server/modules/reports/rp-congnophaitratheotuoino.js +2 -2
- package/server/modules/reports/rp-congnosapthu.js +4 -0
- package/server/modules/reports/rp-congnosaptra.js +4 -0
- package/server/modules/reports/rp-congviectheotimeline.js +2 -1
- package/server/modules/reports/rp-dtbanletheoct.js +15 -15
- package/server/modules/reports/rp-dtbanletheokh.js +5 -5
- package/server/modules/reports/rp-dtbanletheokho.js +1 -1
- package/server/modules/reports/rp-dtbanletheonv.js +3 -3
- package/server/modules/reports/rp-kcsns.js +16 -16
- package/server/modules/reports/rp-tongquancongty.js +3 -0
- package/server/modules/systems/sys-ecomproductlines.js +1 -0
- package/server/modules/vouchers/vo-dh2.js +25 -24
- package/server/modules/vouchers/vo-hd1.js +18 -18
- package/server/modules/vouchers/vo-hd2.js +12 -6
- package/server/modules/vouchers/vo-hd3.js +37 -33
- package/server/modules/vouchers/vo-hd4.js +15 -0
- package/server/modules/vouchers/vo-pn3.js +5 -4
- package/server/modules/vouchers/vo-pn5.js +18 -13
- package/server/route.js +6 -4
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
'use strict';const 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"},{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"}],form=function($fields$$,$id_app$$){let $server_url$$=configs.api_url||
|
|
2
|
+
configs.domain;return`<table style='margin-top:10px'>
|
|
3
|
+
<tr>
|
|
4
|
+
<th>T\u00ean tr\u01b0\u1eddng</th>
|
|
5
|
+
<th>Ki\u1ec3u d\u1eef li\u1ec7u</th>
|
|
6
|
+
<th>B\u1eaft bu\u1ed9c nh\u1eadp</th>
|
|
7
|
+
<th>S\u1ed1 k\u00fd t\u1ef1 t\u1ed1i \u0111a</th>
|
|
8
|
+
<th>Di\u1ec5n gi\u1ea3i</th>
|
|
9
|
+
<th>Ch\u1ecdn t\u1eeb danh s\u00e1ch</th>
|
|
10
|
+
<th>C\u00e1c tr\u01b0\u1eddng chi ti\u1ebft</th>
|
|
11
|
+
</tr>
|
|
12
|
+
${$fields$$.filter($f$$=>"true"!=$f$$.not_input&&1!=$f$$.not_input&&0>($f$$.grid_configs||"").indexOf("readOnly")&&"Button"!=$f$$.type&&"Link"!=$f$$.type&&types.find($t$$=>$t$$.code==$f$$.type)).map($field$$=>{let $type$$=types.find($t$$=>$t$$.code==$field$$.type),$ref_model$$=$field$$.ref_model||"";$ref_model$$&&0>$ref_model$$.indexOf("[")&&0>$ref_model$$.indexOf(",")&&($detail_url_model$$=`${$server_url$$}/api-docs-input/${$ref_model$$}`,$id_app$$&&($detail_url_model$$=$detail_url_model$$+
|
|
13
|
+
"?id_app="+$id_app$$),$ref_model$$=`<a href='${$detail_url_model$$}'>${$ref_model$$}</a>`);var $detail_url_model$$=$field$$.form||"";"0"==$detail_url_model$$&&($detail_url_model$$="");if($detail_url_model$$){let $url_fields$$=`${$server_url$$}/api-docs-fields/${$detail_url_model$$}`;$id_app$$&&($url_fields$$=$url_fields$$+"?id_app="+$id_app$$);$detail_url_model$$=`<a href='${$url_fields$$}'>${$detail_url_model$$}</a>`}return`<tr>
|
|
14
|
+
<td>${$field$$.name}</td>
|
|
15
|
+
<td>${$type$$.type_data||$type$$.code}</td>
|
|
16
|
+
<td>${1==$field$$.required||"true"==$field$$.required?"Yes":"No"}</td>
|
|
17
|
+
<td>${"String"==$field$$.type?$field$$.maxlength||4E3:""}</td>
|
|
18
|
+
<td>
|
|
19
|
+
${$field$$.api_description||$field$$.header}
|
|
20
|
+
<div><i>${$field$$.help_text||""}</i></div>
|
|
21
|
+
</td>
|
|
22
|
+
<td>${$ref_model$$}</td>
|
|
23
|
+
<td>${$detail_url_model$$}</td>
|
|
24
|
+
</tr>
|
|
25
|
+
`}).join("")}
|
|
26
|
+
</table>`},apiFields=async function($code$$,$id_app$$){return($code$$=await global.getModel("listinfo").findOne({code:$code$$}).lean())?`<!DOCTYPE html>
|
|
27
|
+
<html>
|
|
28
|
+
<head>
|
|
29
|
+
<style>
|
|
30
|
+
table, td, th {
|
|
31
|
+
border: 1px solid;
|
|
32
|
+
}
|
|
33
|
+
td, th {
|
|
34
|
+
padding: 10px;
|
|
35
|
+
}
|
|
36
|
+
table {
|
|
37
|
+
width: 100%;
|
|
38
|
+
border-collapse: collapse;
|
|
39
|
+
}
|
|
40
|
+
</style>
|
|
41
|
+
</head>
|
|
42
|
+
<body style='padding:20px'>
|
|
43
|
+
<h2>C\u00e1c field c\u1ee7a: ${$code$$.title}</h2>
|
|
44
|
+
${form($code$$.fields,$id_app$$)}
|
|
45
|
+
</body>
|
|
46
|
+
</html>
|
|
47
|
+
`:"Kh\u00f4ng c\u00f3 t\u00e0i li\u1ec7u cho api n\u00e0y"},apiDocs=async function($code$$,$id_app$$){let $server_url$$=configs.api_url||configs.domain,$listinfo$$=await global.getModel("listinfo").findOne({code:$code$$}).lean();$listinfo$$||($listinfo$$=await global.getModel("listinfo").findOne({api_code:$code$$}).lean());if(!$listinfo$$)return"Kh\u00f4ng c\u00f3 t\u00e0i li\u1ec7u cho api n\u00e0y";$code$$=global.controllers[($listinfo$$.api_code||$listinfo$$.code).toUpperCase()];if(!$code$$)return"Kh\u00f4ng c\u00f3 t\u00e0i li\u1ec7u cho api n\u00e0y";
|
|
48
|
+
$code$$=$code$$.route_name;$id_app$$&&($code$$=$code$$.replace(":id_app",$id_app$$));let $doc$$=`
|
|
49
|
+
<h3>Truy xu\u1ea5t d\u1eef li\u1ec7u</h3>
|
|
50
|
+
<ul>
|
|
51
|
+
<li>
|
|
52
|
+
Url: <span style='font-weight:450;background-color:#ddd;padding:5px;border-radius:3px;border:1px solid silver;'>${$server_url$$||""}/api/search${$code$$}</span>
|
|
53
|
+
<ul style='margin-top:5px'>
|
|
54
|
+
${0<=$code$$.indexOf("id_app")?"<li>id_app: id c\u1ee7a c\u00f4ng ty \u0111ang thao t\u00e1c</li>":""}
|
|
55
|
+
</ul>
|
|
56
|
+
|
|
57
|
+
</li>
|
|
58
|
+
<li>
|
|
59
|
+
Method: <span style='font-weight:450'>POST</span>
|
|
60
|
+
</li>
|
|
61
|
+
<li>
|
|
62
|
+
Headers:
|
|
63
|
+
<ul>
|
|
64
|
+
<li>access-token: <a href=${`${$server_url$$}/api-docs-auth`}>Token</a> \u0111\u1ec3 truy c\u1eadp h\u1ec7 th\u1ed1ng.</li>
|
|
65
|
+
<li>Content-Type: application/json</li>
|
|
66
|
+
</ul>
|
|
67
|
+
</li>
|
|
68
|
+
<li>
|
|
69
|
+
Body (row json):
|
|
70
|
+
<ul>
|
|
71
|
+
<li>
|
|
72
|
+
page: <b>Number</b>. trang c\u1ea7n truy xu\u1ea5t. m\u1eb7c \u0111\u1ecbnh l\u00e0 trang 1
|
|
73
|
+
</li>
|
|
74
|
+
<li>
|
|
75
|
+
limit: <b>Number</b>. S\u1ed1 d\u00f2ng m\u1ed9t trang. M\u1eb7c \u0111\u1ecbnh 20 d\u00f2ng
|
|
76
|
+
</li>
|
|
77
|
+
<li>
|
|
78
|
+
fields: <b>String</b>. C\u00e1c tr\u01b0\u1eddng c\u1ea7n l\u1ea5y d\u1eef li\u1ec7u, m\u1ed7i tr\u01b0\u1eddng c\u00e1ch nhau b\u1eb1ng d\u1ea5u ph\u1ea9y. M\u1eb7c \u0111\u1ecbnh s\u1ebd l\u1ea5y t\u1ea5t c\u1ea3 c\u00e1c tr\u01b0\u1eddng
|
|
79
|
+
</li>
|
|
80
|
+
<li>
|
|
81
|
+
count: <b>Number</b>. Ch\u1ec9 nh\u1eadn gi\u00e1 tr\u1ecb 1 ho\u1eb7c 0. N\u1ebfu count=1 th\u00ec s\u1ebd \u0111\u1ebfm c\u00e1c k\u1ebft qu\u1ea3 t\u00ecm \u0111\u01b0\u1ee3c. M\u1eb7c \u0111\u1ecbnh count=0
|
|
82
|
+
</li>
|
|
83
|
+
<li>
|
|
84
|
+
<div>
|
|
85
|
+
<div>
|
|
86
|
+
q: <b>Json</b>. \u0110i\u1ec1u ki\u1ec7n truy xu\u1ea5t d\u1eef li\u1ec7u. s\u1eed d\u1ee5ng mongodb query. Danh s\u00e1ch c\u00e1c tr\u01b0\u1eddng d\u1eef li\u1ec7u c\u00f3 th\u1ec3 query
|
|
87
|
+
</div>
|
|
88
|
+
<table style='margin-top:10px'>
|
|
89
|
+
<tr>
|
|
90
|
+
<th>T\u00ean tr\u01b0\u1eddng</th>
|
|
91
|
+
<th>Ki\u1ec3u d\u1eef li\u1ec7u</th>
|
|
92
|
+
<th>Di\u1ec5n gi\u1ea3i</th>
|
|
93
|
+
</tr>
|
|
94
|
+
${$listinfo$$.fields.filter($f$$=>"true"!=$f$$.not_input&&1!=$f$$.not_input&&0>($f$$.grid_configs||"").indexOf("readOnly")&&"Button"!=$f$$.type&&"Link"!=$f$$.type&&types.find($t$$=>$t$$.code==$f$$.type)).map($field$$=>{let $type$$=types.find($t$$=>$t$$.code==$field$$.type);return`<tr>
|
|
95
|
+
<td>${$field$$.name}</td>
|
|
96
|
+
<td>${$type$$.type_data||$type$$.code}</td>
|
|
97
|
+
<td>${$field$$.api_description||$field$$.header}</td>
|
|
98
|
+
</tr>
|
|
99
|
+
`}).join("")}
|
|
100
|
+
</table>
|
|
101
|
+
</div>
|
|
102
|
+
</li>
|
|
103
|
+
</ul>
|
|
104
|
+
</li>
|
|
105
|
+
</ul>
|
|
106
|
+
`;$doc$$=`${$doc$$}
|
|
107
|
+
<h3>L\u1ea5y d\u1eef li\u1ec7u c\u1ee7a m\u1ed9t \u0111\u1ed1i t\u01b0\u1ee3ng</h3>
|
|
108
|
+
<ul>
|
|
109
|
+
<li>
|
|
110
|
+
Url: <span style='font-weight:450;background-color:#ddd;padding:5px;border-radius:3px;border:1px solid silver;'>${$server_url$$||""}/api${$code$$}/:_id</span>
|
|
111
|
+
<ul style='margin-top:5px'>
|
|
112
|
+
${0<=$code$$.indexOf("id_app")?"<li>id_app: id c\u1ee7a c\u00f4ng ty \u0111ang thao t\u00e1c</li>":""}
|
|
113
|
+
<li>_id: id c\u1ee7a ph\u1ea7n t\u1eed c\u1ea7n l\u1ea5y d\u1eef li\u1ec7u</li>
|
|
114
|
+
</ul>
|
|
115
|
+
</li>
|
|
116
|
+
<li>
|
|
117
|
+
Method: <span style='font-weight:450'>GET</span>
|
|
118
|
+
</li>
|
|
119
|
+
<li>
|
|
120
|
+
Headers:
|
|
121
|
+
<ul>
|
|
122
|
+
<li>access-token: <a href=${`${$server_url$$}/api-docs-auth`}>Token</a> \u0111\u1ec3 truy c\u1eadp h\u1ec7 th\u1ed1ng.</li>
|
|
123
|
+
|
|
124
|
+
</ul>
|
|
125
|
+
</li>
|
|
126
|
+
</ul>
|
|
127
|
+
`;1!=$listinfo$$.not_add&&$listinfo$$.fields&&0<$listinfo$$.fields.length&&($doc$$=`${$doc$$}
|
|
128
|
+
<h3>Th\u00eam m\u1edbi</h3>
|
|
129
|
+
<ul>
|
|
130
|
+
<li>
|
|
131
|
+
Url: <span style='font-weight:450;background-color:#ddd;padding:5px;border-radius:3px;border:1px solid silver;'>${$server_url$$||""}/api${$code$$}</span>
|
|
132
|
+
<ul style='margin-top:5px'>
|
|
133
|
+
${0<=$code$$.indexOf("id_app")?"<li>id_app: id c\u1ee7a c\u00f4ng ty \u0111ang thao t\u00e1c</li>":""}
|
|
134
|
+
</ul>
|
|
135
|
+
</li>
|
|
136
|
+
<li>
|
|
137
|
+
Method: <span style='font-weight:450'>POST</span>
|
|
138
|
+
</li>
|
|
139
|
+
<li>
|
|
140
|
+
Headers:
|
|
141
|
+
<ul>
|
|
142
|
+
<li>access-token: <a href=${`${$server_url$$}/api-docs-auth`}>Token</a> \u0111\u1ec3 truy c\u1eadp h\u1ec7 th\u1ed1ng.</li>
|
|
143
|
+
<li>Content-Type: application/json</li>
|
|
144
|
+
</ul>
|
|
145
|
+
</li>
|
|
146
|
+
<li>
|
|
147
|
+
<div>
|
|
148
|
+
<div>
|
|
149
|
+
Body (row json). Danh s\u00e1ch c\u00e1c tr\u01b0\u1eddng d\u1eef li\u1ec7u
|
|
150
|
+
</div>
|
|
151
|
+
${form($listinfo$$.fields,$id_app$$)}
|
|
152
|
+
</div>
|
|
153
|
+
</li>
|
|
154
|
+
</ul>
|
|
155
|
+
`);1!=$listinfo$$.not_update&&$listinfo$$.fields&&0<$listinfo$$.fields.length&&($doc$$=`${$doc$$}
|
|
156
|
+
<h3>C\u1eadp nh\u1eadt d\u1eef li\u1ec7u</h3>
|
|
157
|
+
<ul>
|
|
158
|
+
<li>
|
|
159
|
+
Url: <span style='font-weight:450;background-color:#ddd;padding:5px;border-radius:3px;border:1px solid silver;'>${$server_url$$||""}/api${$code$$}/:_id</span>
|
|
160
|
+
<ul style='margin-top:5px'>
|
|
161
|
+
${0<=$code$$.indexOf("id_app")?"<li>id_app: id c\u1ee7a c\u00f4ng ty \u0111ang thao t\u00e1c</li>":""}
|
|
162
|
+
<li>_id: id c\u1ee7a ph\u1ea7n t\u1eed c\u1ea7n c\u1eadp nh\u1eadt</li>
|
|
163
|
+
</ul>
|
|
164
|
+
</li>
|
|
165
|
+
<li>
|
|
166
|
+
Method: <span style='font-weight:450'>PUT</span>
|
|
167
|
+
</li>
|
|
168
|
+
<li>
|
|
169
|
+
Headers:
|
|
170
|
+
<ul>
|
|
171
|
+
<li>access-token: <a href=${`${$server_url$$}/api-docs-auth`}>Token</a> \u0111\u1ec3 truy c\u1eadp h\u1ec7 th\u1ed1ng.</li>
|
|
172
|
+
<li>Content-Type: application/json</li>
|
|
173
|
+
</ul>
|
|
174
|
+
|
|
175
|
+
</li>
|
|
176
|
+
<li>
|
|
177
|
+
<div>
|
|
178
|
+
<div>Body (row json). C\u00f3 th\u1ec3 c\u1eadp nh\u1eadt 1 ho\u1eb7c t\u1ea5t c\u1ea3 c\u00e1c tr\u01b0\u1eddng d\u1eef li\u1ec7u. Danh s\u00e1ch c\u00e1c tr\u01b0\u1eddng d\u1eef li\u1ec7u</div>
|
|
179
|
+
${form($listinfo$$.fields,$id_app$$)}
|
|
180
|
+
</div>
|
|
181
|
+
</li>
|
|
182
|
+
</ul>
|
|
183
|
+
`);1!=$listinfo$$.not_delete&&$listinfo$$.fields&&0<$listinfo$$.fields.length&&($doc$$=`${$doc$$}
|
|
184
|
+
<h3>Xo\u00e1 d\u1eef li\u1ec7u</h3>
|
|
185
|
+
<ul>
|
|
186
|
+
<li>
|
|
187
|
+
Url: <span style='font-weight:450;background-color:#ddd;padding:5px;border-radius:3px;border:1px solid silver;'>${$server_url$$||""}/api${$code$$}/:_id</span>
|
|
188
|
+
<ul style='margin-top:5px'>
|
|
189
|
+
${0<=$code$$.indexOf("id_app")?"<li>id_app: id c\u1ee7a c\u00f4ng ty \u0111ang thao t\u00e1c</li>":""}
|
|
190
|
+
<li>_id: id c\u1ee7a ph\u1ea7n t\u1eed c\u1ea7n xo\u00e1</li>
|
|
191
|
+
</ul>
|
|
192
|
+
</li>
|
|
193
|
+
<li>
|
|
194
|
+
Method: <span style='font-weight:450'>DELETE</span>
|
|
195
|
+
</li>
|
|
196
|
+
<li>
|
|
197
|
+
Headers:
|
|
198
|
+
<ul>
|
|
199
|
+
<li>access-token: <a href=${`${$server_url$$}/api-docs-auth`}>Token</a> \u0111\u1ec3 truy c\u1eadp h\u1ec7 th\u1ed1ng.</li>
|
|
200
|
+
</ul>
|
|
201
|
+
</li>
|
|
202
|
+
</ul>
|
|
203
|
+
`);return`<!DOCTYPE html>
|
|
204
|
+
<html>
|
|
205
|
+
<head>
|
|
206
|
+
<style>
|
|
207
|
+
table, td, th {
|
|
208
|
+
border: 1px solid;
|
|
209
|
+
}
|
|
210
|
+
td, th {
|
|
211
|
+
padding: 10px;
|
|
212
|
+
}
|
|
213
|
+
table {
|
|
214
|
+
width: 100%;
|
|
215
|
+
border-collapse: collapse;
|
|
216
|
+
}
|
|
217
|
+
</style>
|
|
218
|
+
</head>
|
|
219
|
+
<body style='padding:20px'>
|
|
220
|
+
<h2>API: ${$listinfo$$.title}</h2>
|
|
221
|
+
${$doc$$}
|
|
222
|
+
</body>
|
|
223
|
+
</html>
|
|
224
|
+
`},apiReport=async function($code$$,$doc$jscomp$1_id_app$$){let $server_url$$=configs.api_url||configs.domain;$code$$=await global.getModel("reportinfo").findOne({code:$code$$}).lean();if(!$code$$)return"Kh\u00f4ng c\u00f3 t\u00e0i li\u1ec7u cho api n\u00e0y";let $listinfo$$;$code$$.form_condition_info&&($listinfo$$=await global.getModel("listinfo").findOne({code:$code$$.form_condition_info}).lean());$listinfo$$=$listinfo$$||{};var $controller$jscomp$1_route_name$$=global.report_controllers[($code$$.api_code||
|
|
225
|
+
$code$$.code).toUpperCase()];if(!$controller$jscomp$1_route_name$$)return"Kh\u00f4ng c\u00f3 t\u00e0i li\u1ec7u cho api n\u00e0y";$controller$jscomp$1_route_name$$=`${$controller$jscomp$1_route_name$$.base_path+$controller$jscomp$1_route_name$$.module}`.replace(":id_app",$doc$jscomp$1_id_app$$);$doc$jscomp$1_id_app$$&&($controller$jscomp$1_route_name$$=$controller$jscomp$1_route_name$$.replace(":id_app",$doc$jscomp$1_id_app$$));$doc$jscomp$1_id_app$$=`
|
|
226
|
+
<ul>
|
|
227
|
+
<li>
|
|
228
|
+
Url: <span style='font-weight:450;background-color:#ddd;padding:5px;border-radius:3px;border:1px solid silver;'>${$server_url$$||""}/api${$controller$jscomp$1_route_name$$}</span>
|
|
229
|
+
<ul style='margin-top:5px'>
|
|
230
|
+
${0<=$controller$jscomp$1_route_name$$.indexOf("id_app")?"<li>id_app: id c\u1ee7a c\u00f4ng ty \u0111ang thao t\u00e1c</li>":""}
|
|
231
|
+
</ul>
|
|
232
|
+
</li>
|
|
233
|
+
<li>
|
|
234
|
+
Method: <span style='font-weight:450'>POST</span>
|
|
235
|
+
</li>
|
|
236
|
+
<li>
|
|
237
|
+
Headers:
|
|
238
|
+
<ul>
|
|
239
|
+
<li>access-token: <a href=${`${$server_url$$}/api-docs-auth`}>Token</a> \u0111\u1ec3 truy c\u1eadp h\u1ec7 th\u1ed1ng.</li>
|
|
240
|
+
<li>Content-Type: application/json</li>
|
|
241
|
+
</ul>
|
|
242
|
+
</li>
|
|
243
|
+
<li>
|
|
244
|
+
Body (row json). \u0110i\u1ec1u ki\u1ec7n l\u1ecdc:
|
|
245
|
+
${form($listinfo$$.fields||[],$doc$jscomp$1_id_app$$)}
|
|
246
|
+
</li>
|
|
247
|
+
</ul>
|
|
248
|
+
`;return`<!DOCTYPE html>
|
|
249
|
+
<html>
|
|
250
|
+
<head>
|
|
251
|
+
<style>
|
|
252
|
+
table, td, th {
|
|
253
|
+
border: 1px solid;
|
|
254
|
+
}
|
|
255
|
+
td, th {
|
|
256
|
+
padding: 10px;
|
|
257
|
+
}
|
|
258
|
+
table {
|
|
259
|
+
width: 100%;
|
|
260
|
+
border-collapse: collapse;
|
|
261
|
+
}
|
|
262
|
+
</style>
|
|
263
|
+
</head>
|
|
264
|
+
<body style='padding:20px'>
|
|
265
|
+
<h2>API: ${$code$$.title}</h2>
|
|
266
|
+
${$doc$jscomp$1_id_app$$}
|
|
267
|
+
</body>
|
|
268
|
+
</html>
|
|
269
|
+
`},apiAuth=function(){return`<!DOCTYPE html>
|
|
270
|
+
<html>
|
|
271
|
+
<head>
|
|
272
|
+
<style>
|
|
273
|
+
table, td, th {
|
|
274
|
+
border: 1px solid;
|
|
275
|
+
}
|
|
276
|
+
td, th {
|
|
277
|
+
padding: 10px;
|
|
278
|
+
}
|
|
279
|
+
table {
|
|
280
|
+
width: 100%;
|
|
281
|
+
border-collapse: collapse;
|
|
282
|
+
}
|
|
283
|
+
</style>
|
|
284
|
+
</head>
|
|
285
|
+
<body style='padding:20px'>
|
|
286
|
+
<h2>H\u1ec7 th\u1ed1ng</h2>
|
|
287
|
+
<h3>\u0110\u0103ng nh\u1eadp</h3>
|
|
288
|
+
<ul>
|
|
289
|
+
<li>
|
|
290
|
+
Url: <span style='font-weight:450;background-color:#ddd;padding:5px;border-radius:3px;border:1px solid silver;'>${configs.api_url||configs.domain||""}/auth/local</span>
|
|
291
|
+
</li>
|
|
292
|
+
<li>
|
|
293
|
+
Method: <span style='font-weight:450'>GET</span>
|
|
294
|
+
</li>
|
|
295
|
+
<li>
|
|
296
|
+
Headers:
|
|
297
|
+
<ul>
|
|
298
|
+
<li>Authorization: <span style='font-size:18px;color:gray;margin-left:10px'>Basic Auth</span></li>
|
|
299
|
+
</ul>
|
|
300
|
+
</li>
|
|
301
|
+
</ul>
|
|
302
|
+
</body>
|
|
303
|
+
</html>
|
|
304
|
+
`};module.exports={apiDocs,apiFields,apiReport,apiAuth};
|
|
@@ -11,5 +11,5 @@ $details$$=$details$$.map($_r_detail$$=>{delete $_r_detail$$._id;$_r_detail$$.nx
|
|
|
11
11
|
$r$$.ma_dt);$detail$$.ma_bp||($detail$$.ma_bp=$r$$.ma_bp);$detail$$.tien_hang_nt=0-$detail$$.tien_hang_nt||0;$detail$$.tien_hang=0-($detail$$.tien_hang||0);$detail$$.tien_hang_ct_nt=0-$detail$$.tien_hang_ct_nt||0;$detail$$.tien_hang_ct=0-($detail$$.tien_hang_ct||0);$detail$$.tien_ck=0-($detail$$.tien_ck||0);$detail$$.tien_ck_nt=0-($detail$$.tien_ck_nt||0);$detail$$.tien_thue=0-($detail$$.tien_thue||0);$detail$$.tien_thue_nt=0-($detail$$.tien_thue_nt||0);$detail$$.tien_xuat_tmp=0-($detail$$.tien_nhap_nt||
|
|
12
12
|
0);$detail$$.tien_xuat_nt=0-($detail$$.tien_nhap_nt||0);$detail$$.sl_xuat=0;$detail$$.tien_hoa_hong=0-$detail$$.tien_hoa_hong;$detail$$.tien_hoa_hong_gt=0-$detail$$.tien_hoa_hong_gt;$detail$$.tien_hoa_hong_ctv=0-$detail$$.tien_hoa_hong_ctv;$detail$$.tien_hoa_hong_ql=0-$detail$$.tien_hoa_hong_ql;$detail$$.nxt=1;return $detail$$})],delete $r$$.details_tl);$callback$$(null,$details$$)},async function($error$$,$report$$){if($error$$)return $reject$$($error$$);$report$$=$report$$.reduce(($a$$,$b$$)=>$a$$.concat($b$$),
|
|
13
13
|
[]);$ma_vts$$&&($report$$=$report$$.filter($r$$=>0<=$ma_vts$$.indexOf($r$$.ma_vt)));$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,"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();
|
|
14
|
-
$r$$.bold=!1;$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):0;$r$$.loi_nhuan=$r$$.tt-($r$$.tien_xuat||0)-($r$$.tien_thue||0);$r$$.t_hoa_hong=$r$$.tien_hoa_hong+$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||
|
|
15
|
-
0,$r$$.sl_nhap_qd=$r$$.sl_nhap||0)});$resolve$$($report$$)})})})};
|
|
14
|
+
$r$$.bold=!1;$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+$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||
|
|
15
|
+
0)):($r$$.sl_xuat_qd=$r$$.sl_xuat||0,$r$$.sl_nhap_qd=$r$$.sl_nhap||0)});$resolve$$($report$$)})})})};
|
package/server/libs/getGiaban.js
CHANGED
|
@@ -9,56 +9,60 @@ stt_uu_tien:$g$$.stt_uu_tien};break;case "CONG":$ck_ck$jscomp$1_ck$$=$g$$.cks.ma
|
|
|
9
9
|
if(1==$groups$$.length)$id_app$jscomp$1_rs$$=$groups$$[0].ck.promotions;else if($groups$$.find($g$$=>$g$$.nh_me)){$groups$$=$groups$$.map($g$$=>{$g$$.nh_me&&($g$$.ma_nhom=$g$$.nh_me,$g$$.nh_me="",$g$$.phuong_phap_ap_dung="");return $g$$});const $new_groups$$=[...(new Set($groups$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>{const $cks$$=$groups$$.filter($d$$=>($d$$.ma_nhom||"")==$ma_nhom$$).map($g$$=>$g$$.ck);return{ma_nhom:$ma_nhom$$,cks:$cks$$}});$id_app$jscomp$1_rs$$=await calcDefaultPromotion($id_app$jscomp$1_rs$$,
|
|
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
|
-
0
|
|
13
|
-
!$
|
|
14
|
-
$
|
|
15
|
-
$
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$
|
|
19
|
-
|
|
20
|
-
await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.
|
|
21
|
-
$
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
$_cust_den_ngay_hieu_luc_tu$$.nh_kh2
|
|
25
|
-
$_cust_den_ngay_hieu_luc_tu$$.
|
|
26
|
-
$query$$.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
null
|
|
30
|
-
null]}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
$
|
|
34
|
-
$
|
|
35
|
-
(
|
|
36
|
-
$
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
$
|
|
46
|
-
($
|
|
47
|
-
$par$$.ma_nt?($g$$.gia_ban_le0_qd=utils.round(($vt$$.gia_ban_le0||0)*$vt$$.ty_gia0/$par$$.ty_gia,2),$g$$.gia_ban_buon0_qd=utils.round(($vt$$.gia_ban_buon0||0)*$vt$$.ty_gia0/$par$$.ty_gia,2),$g$$.gia_ban_le=utils.round($g$$.gia_ban_le*$g$$.ty_gia/$par$$.ty_gia,2),$g$$.gia_ban_buon=utils.round(($g$$.gia_ban_buon||0)*$g$$.ty_gia/$par$$.ty_gia,2),$g$$.ma_nt
|
|
48
|
-
0;$
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
$
|
|
52
|
-
$
|
|
53
|
-
|
|
54
|
-
$
|
|
55
|
-
|
|
56
|
-
$
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
(
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
$
|
|
64
|
-
|
|
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&&(void 0===$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))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(),
|
|
15
|
+
!$vt$$)return $fn$$("Not found product: "+$condition$$.ma_vt);$vt$$.ma_nvt2||($vt$$.ma_nvt2=[]);"string"==typeof $vt$$.ma_nvt2&&($vt$$.ma_nvt2=[$vt$$.ma_nvt2]);$vt$$.ma_nvt3||($vt$$.ma_nvt3=[]);"string"==typeof $vt$$.ma_nvt3&&($vt$$.ma_nvt3=[$vt$$.ma_nvt3]);$vt$$.ma_nvt4||($vt$$.ma_nvt4=[]);"string"==typeof $vt$$.ma_nvt4&&($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
|
+
$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
|
+
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||
|
|
18
|
+
$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0}else $condition$$.ma_tt3&&($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_tt3,$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.loai_tt="3",$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$=
|
|
19
|
+
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||$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,$vt$$.gia_ban_buon0=$qddct_query_tt$jscomp$1_query_tt$jscomp$2_tt_tt$$.gia_ban_buon||$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0);$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$&&($condition$$.nh_tt_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt?await global.getModel("group").getAllMotherGroup($condition$$.id_app,
|
|
20
|
+
$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt):[],$condition$$.nh_tt2_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt2?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt2):[],$condition$$.nh_tt3_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt3?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt3):[],$condition$$.nh_tt4_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt4?
|
|
21
|
+
await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt4):[],$condition$$.nh_tt5_me=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt5?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$.nh_tt5):[]);var $_cust_den_ngay_hieu_luc_tu$$;if($condition$$.user&&!$condition$$.ma_kh)try{if($_cust_den_ngay_hieu_luc_tu$$=await customer.findOne({id_app:$condition$$.id_app,of_user:$condition$$.user.email},
|
|
22
|
+
{ma_kh:1,nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1}).lean())$condition$$.ma_kh=$_cust_den_ngay_hieu_luc_tu$$.ma_kh,$condition$$.nh_kh=$_cust_den_ngay_hieu_luc_tu$$.nh_kh,$condition$$.nh_kh2=$_cust_den_ngay_hieu_luc_tu$$.nh_kh2,$condition$$.nh_kh3=$_cust_den_ngay_hieu_luc_tu$$.nh_kh3,$condition$$.nh_kh4=$_cust_den_ngay_hieu_luc_tu$$.nh_kh4,$condition$$.nh_kh5=$_cust_den_ngay_hieu_luc_tu$$.nh_kh5}catch($e$$){console.log("Error find customer code of user",$e$$)}if($condition$$.ma_kh){var $lan_mua_thu$$=
|
|
23
|
+
await so1.countDocuments({id_app:$condition$$.id_app,ma_kh:$condition$$.ma_kh,trang_thai:{$in:["4","5"]}});($lan_mua_thu$$+=await pbl.countDocuments({id_app:$condition$$.id_app,ma_kh:$condition$$.ma_kh,trang_thai:{$in:["5","6"]}}))||($lan_mua_thu$$=0);$lan_mua_thu$$+=1;!$_cust_den_ngay_hieu_luc_tu$$&&($_cust_den_ngay_hieu_luc_tu$$=await customer.findOne({id_app:$condition$$.id_app,ma_kh:$condition$$.ma_kh},{nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1}).lean())&&($condition$$.nh_kh=$_cust_den_ngay_hieu_luc_tu$$.nh_kh,
|
|
24
|
+
$condition$$.nh_kh2=$_cust_den_ngay_hieu_luc_tu$$.nh_kh2,$condition$$.nh_kh3=$_cust_den_ngay_hieu_luc_tu$$.nh_kh3,$condition$$.nh_kh4=$_cust_den_ngay_hieu_luc_tu$$.nh_kh4,$condition$$.nh_kh5=$_cust_den_ngay_hieu_luc_tu$$.nh_kh5)}else $lan_mua_thu$$=0;var $query$$={ma_vt:$condition$$.ma_vt,id_app:$condition$$.id_app,status:!0,$and:[]};$query$$.ma_kh={$in:[null,"",$condition$$.ma_kh]};$_cust_den_ngay_hieu_luc_tu$$&&($condition$$.nh_kh_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh?await global.getModel("group").getAllMotherGroup($condition$$.id_app,
|
|
25
|
+
$_cust_den_ngay_hieu_luc_tu$$.nh_kh):[],$condition$$.nh_kh2_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh2?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$_cust_den_ngay_hieu_luc_tu$$.nh_kh2):[],$condition$$.nh_kh3_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh3?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$_cust_den_ngay_hieu_luc_tu$$.nh_kh3):[],$condition$$.nh_kh4_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh4?await global.getModel("group").getAllMotherGroup($condition$$.id_app,
|
|
26
|
+
$_cust_den_ngay_hieu_luc_tu$$.nh_kh4):[],$condition$$.nh_kh5_me=$_cust_den_ngay_hieu_luc_tu$$.nh_kh5?await global.getModel("group").getAllMotherGroup($condition$$.id_app,$_cust_den_ngay_hieu_luc_tu$$.nh_kh5):[]);$query$$.nh_kh={$in:[null,"",...($condition$$.nh_kh_me||[])]};$query$$.nh_kh2={$in:[null,"",...($condition$$.nh_kh2_me||[])]};$query$$.nh_kh3={$in:[null,"",...($condition$$.nh_kh3_me||[])]};$query$$.nh_kh4={$in:[null,"",...($condition$$.nh_kh4_me||[])]};$query$$.nh_kh5={$in:[null,"",...($condition$$.nh_kh5_me||
|
|
27
|
+
[])]};$query$$.ma_kho={$in:[null,"",$condition$$.ma_kho]};$query$$.ma_tt1={$in:[null,"",$condition$$.ma_tt1]};$query$$.ma_tt2={$in:[null,"",$condition$$.ma_tt2]};$query$$.ma_tt3={$in:[null,"",$condition$$.ma_tt3]};$condition$$.ngay_ct=$condition$$.ngay_ct?new Date($condition$$.ngay_ct):new Date;$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$=$_cust_den_ngay_hieu_luc_tu$$=$condition$$.ngay_ct;$_cust_den_ngay_hieu_luc_tu$$={$lte:$_cust_den_ngay_hieu_luc_tu$$};$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$=
|
|
28
|
+
{$gte:$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$};$query$$.hieu_luc_tu=$_cust_den_ngay_hieu_luc_tu$$;$query$$.hieu_luc_den=$hieu_luc_den_query_tt_thuoc_tinh1_tu_ngay$$;var $sort$$={stt_uu_tien:1,sl_tu:-1,sl_den:-1,id_cs:-1,tien_ck:-1,ty_le_ck:-1,ma_kho:-1,ma_ban:-1,ma_kh:-1,nh_kh:-1,hieu_luc_tu:-1,ma_tt1:-1,ma_tt2:-1,ma_tt3:-1};async.parallel({giabans:$callback$$=>{if(0==$condition$$.get_price)return $callback$$(null,[]);setImmediate(()=>{let $_query$$=_.cloneDeep($query$$);$_query$$.$and.push({$or:[{ap_dung_lan_mua_tu_thu:{$in:[0,
|
|
29
|
+
null]}},{ap_dung_lan_mua_tu_thu:{$lte:$lan_mua_thu$$}}]});$_query$$.$and.push({$or:[{ap_dung_lan_mua_den_thu:{$in:[0,null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});void 0!=$condition$$.online&&($_query$$.online=$condition$$.online);void 0!=$condition$$.offline&&($_query$$.offline=$condition$$.offline);$_query$$.$and&&0==$_query$$.$and.length&&delete $_query$$.$and;dmgiaban.find($_query$$).sort($sort$$).lean().exec(async($_q_e$$,$giabans$$)=>{if($_q_e$$)return $callback$$($_q_e$$);0<$giabans$$.length?
|
|
30
|
+
$callback$$(null,$giabans$$):($_q_e$$=_.cloneDeep($_query$$),$_q_e$$.ma_vt={$in:["",null]},$_q_e$$.ma_nvt={$in:["",null,$vt$$.ma_nvt]},$_q_e$$.ma_nvt2={$in:["",null,...$vt$$.ma_nvt2]},$_q_e$$.ma_nvt3={$in:["",null,...$vt$$.ma_nvt3]},$_q_e$$.ma_nvt4={$in:["",null,...$vt$$.ma_nvt4]},$_q_e$$.ma_danh_muc={$in:["",null,$vt$$.ma_danh_muc]},dmgiaban.find($_q_e$$).sort($sort$$).lean().exec(async($e$$,$giabans$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$giabans$$)}))})})},discount_vt:$callback$jscomp$0$$=>
|
|
31
|
+
{if(0==$condition$$.get_discount)return $callback$jscomp$0$$(null,[]);setImmediate(async()=>{let $query_ck$$=_.cloneDeep($query$$);$query_ck$$.$and.push({$or:[{ap_dung_lan_mua_tu_thu:{$in:[0,null]}},{ap_dung_lan_mua_tu_thu:{$lte:$lan_mua_thu$$}}]});$query_ck$$.$and.push({$or:[{ap_dung_lan_mua_den_thu:{$in:[0,null]}},{ap_dung_lan_mua_den_thu:{$gte:$lan_mua_thu$$}}]});void 0!=$condition$$.online&&($query_ck$$.online=$condition$$.online);void 0!=$condition$$.offline&&($query_ck$$.offline=$condition$$.offline);
|
|
32
|
+
delete $query_ck$$.ma_kh;delete $query_ck$$.nh_kh;delete $query_ck$$.nh_kh2;delete $query_ck$$.nh_kh3;delete $query_ck$$.nh_kh4;delete $query_ck$$.nh_kh5;delete $query_ck$$.ma_tt1;delete $query_ck$$.ma_tt2;delete $query_ck$$.ma_tt3;$query_ck$$.$and&&0==$query_ck$$.$and.length&&delete $query_ck$$.$and;let $chietkhaus$$;try{$chietkhaus$$=await new Promise(($resolve$$,$reject$$)=>{async.parallel({cktheovt:$callback$$=>{let $_query$$=_.cloneDeep($query_ck$$);dmchietkhau.find($_query$$).sort($sort$$).lean().exec(async($e$$,
|
|
33
|
+
$chietkhaus$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$chietkhaus$$)})},cktheonvt:$callback$$=>{let $_q$$=_.cloneDeep($query_ck$$);$_q$$.ma_vt={$in:["",null]};$_q$$.ma_nvt={$in:["",null,$vt$$.ma_nvt]};$_q$$.ma_nvt2={$in:["",null,...$vt$$.ma_nvt2]};$_q$$.ma_nvt3={$in:["",null,...$vt$$.ma_nvt3]};$_q$$.ma_nvt4={$in:["",null,...$vt$$.ma_nvt4]};$_q$$.ma_danh_muc={$in:["",null,$vt$$.ma_danh_muc]};dmchietkhau.find($_q$$).sort($sort$$).lean().exec(async($e$$,$chietkhaus$$)=>{if($e$$)return $callback$$($e$$);
|
|
34
|
+
$callback$$(null,$chietkhaus$$)})}},async($chietkhaus$jscomp$3_e$$,$rs$$)=>{if($chietkhaus$jscomp$3_e$$)return $reject$$($chietkhaus$jscomp$3_e$$);$chietkhaus$jscomp$3_e$$=$rs$$.cktheovt.concat($rs$$.cktheonvt);$resolve$$($chietkhaus$jscomp$3_e$$)})})}catch($e$$){return $callback$jscomp$0$$($e$$)}$chietkhaus$$=$chietkhaus$$.filter($ck$$=>(!$ck$$.ma_kh||$condition$$.ma_kh==$ck$$.ma_kh)&&(!$ck$$.nh_kh||($condition$$.nh_kh_me||[]).find($nh$$=>$ck$$.nh_kh==$nh$$))&&(null==$ck$$.nh_kh2||0==$ck$$.nh_kh2.length||
|
|
35
|
+
($condition$$.nh_kh2_me||[]).find($nh$$=>0<=$ck$$.nh_kh2.indexOf($nh$$)))&&(null==$ck$$.nh_kh3||0==$ck$$.nh_kh3.length||($condition$$.nh_kh3_me||[]).find($nh$$=>0<=$ck$$.nh_kh3.indexOf($nh$$)))&&(null==$ck$$.nh_kh4||0==$ck$$.nh_kh4.length||($condition$$.nh_kh4_me||[]).find($nh$$=>0<=$ck$$.nh_kh4.indexOf($nh$$)))&&(null==$ck$$.nh_kh5||0==$ck$$.nh_kh5.length||($condition$$.nh_kh5_me||[]).find($nh$$=>0<=$ck$$.nh_kh5.indexOf($nh$$)))&&(!$ck$$.ma_tt1||$condition$$.ma_tt1==$ck$$.ma_tt1)&&(!$ck$$.ma_tt2||
|
|
36
|
+
$condition$$.ma_tt2==$ck$$.ma_tt2)&&(!$ck$$.ma_tt3||$condition$$.ma_tt3==$ck$$.ma_tt3)&&(!$ck$$.nh_tt||($condition$$.nh_tt_me||[]).find($nh$$=>$ck$$.nh_tt==$nh$$))&&(null==$ck$$.nh_tt2||0==$ck$$.nh_tt2.length||($condition$$.nh_tt2_me||[]).find($nh$$=>0<=$ck$$.nh_tt2.indexOf($nh$$)))&&(null==$ck$$.nh_tt3||0==$ck$$.nh_tt3.length||($condition$$.nh_tt3_me||[]).find($nh$$=>0<=$ck$$.nh_tt3.indexOf($nh$$)))&&(null==$ck$$.nh_tt4||0==$ck$$.nh_tt4.length||($condition$$.nh_tt4_me||[]).find($nh$$=>0<=$ck$$.nh_tt4.indexOf($nh$$)))&&
|
|
37
|
+
(null==$ck$$.nh_tt5||0==$ck$$.nh_tt5.length||($condition$$.nh_tt5_me||[]).find($nh$$=>0<=$ck$$.nh_tt5.indexOf($nh$$))));await getSLDaBanCKs($chietkhaus$$);$chietkhaus$$=$chietkhaus$$.filter($ck$$=>!$ck$$.tong_sl_ap_dung||!$ck$$.sl_da_ban||0<$ck$$.sl_con_lai);$callback$jscomp$0$$(null,$chietkhaus$$)})},promotion_vt:$callback$jscomp$0$$=>{if(0==$condition$$.get_promotion)return $callback$jscomp$0$$(null,[]);setImmediate(async()=>{let $query_promotion$$=_.cloneDeep($query$$);void 0!=$condition$$.online&&
|
|
38
|
+
($query_promotion$$.online=$condition$$.online);void 0!=$condition$$.offline&&($query_promotion$$.offline=$condition$$.offline);let $sort_km$$={stt_uu_tien:1,sl_tu:-1,ma_vt:-1,ma_nvt:-1};$query_promotion$$.$and&&0==$query_promotion$$.$and.length&&delete $query_promotion$$.$and;delete $query_promotion$$.ma_kh;delete $query_promotion$$.nh_kh;delete $query_promotion$$.nh_kh2;delete $query_promotion$$.nh_kh3;delete $query_promotion$$.nh_kh4;delete $query_promotion$$.nh_kh5;delete $query_promotion$$.ma_tt1;
|
|
39
|
+
delete $query_promotion$$.ma_tt2;delete $query_promotion$$.ma_tt3;try{var $khuyenmais_khuyenmais_tm$$=await new Promise(($resolve$$,$reject$$)=>{async.parallel({theovt:$callback$$=>{dmkhuyenmai.find($query_promotion$$).sort($sort_km$$).lean().exec(($e$$,$khuyenmai$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$khuyenmai$$)})},theonvt:$callback$$=>{let $_q$$=_.cloneDeep($query_promotion$$);$_q$$.ma_vt={$in:["",null]};$_q$$.ma_nvt={$in:["",null,$vt$$.ma_nvt]};$_q$$.ma_nvt2={$in:["",null,...$vt$$.ma_nvt2]};
|
|
40
|
+
$_q$$.ma_nvt3={$in:["",null,...$vt$$.ma_nvt3]};$_q$$.ma_danh_muc={$in:["",null,$vt$$.ma_danh_muc]};dmkhuyenmai.find($_q$$).sort($sort_km$$).lean().exec(($e$$,$khuyenmai$$)=>{if($e$$)return $callback$$($e$$);$callback$$(null,$khuyenmai$$)})}},($e$$,$rs$$)=>{if($e$$)return $reject$$($e$$);$e$$=$rs$$.theovt.concat($rs$$.theonvt);$resolve$$($e$$)})})}catch($e$$){return $callback$jscomp$0$$($e$$)}$khuyenmais_khuyenmais_tm$$=$khuyenmais_khuyenmais_tm$$.filter($ck$$=>(!$ck$$.ma_kh||$condition$$.ma_kh==$ck$$.ma_kh)&&
|
|
41
|
+
(!$ck$$.nh_kh||($condition$$.nh_kh_me||[]).find($nh$$=>$ck$$.nh_kh==$nh$$))&&(null==$ck$$.nh_kh2||0==$ck$$.nh_kh2.length||($condition$$.nh_kh2_me||[]).find($nh$$=>0<=$ck$$.nh_kh2.indexOf($nh$$)))&&(null==$ck$$.nh_kh3||0==$ck$$.nh_kh3.length||($condition$$.nh_kh3_me||[]).find($nh$$=>0<=$ck$$.nh_kh3.indexOf($nh$$)))&&(null==$ck$$.nh_kh4||0==$ck$$.nh_kh4.length||($condition$$.nh_kh4_me||[]).find($nh$$=>0<=$ck$$.nh_kh4.indexOf($nh$$)))&&(null==$ck$$.nh_kh5||0==$ck$$.nh_kh5.length||($condition$$.nh_kh5_me||
|
|
42
|
+
[]).find($nh$$=>0<=$ck$$.nh_kh5.indexOf($nh$$)))&&(!$ck$$.ma_tt1||$condition$$.ma_tt1==$ck$$.ma_tt1)&&(!$ck$$.ma_tt2||$condition$$.ma_tt2==$ck$$.ma_tt2)&&(!$ck$$.ma_tt3||$condition$$.ma_tt3==$ck$$.ma_tt3)&&(!$ck$$.nh_tt||($condition$$.nh_tt_me||[]).find($nh$$=>$ck$$.nh_tt==$nh$$))&&(null==$ck$$.nh_tt2||0==$ck$$.nh_tt2.length||($condition$$.nh_tt2_me||[]).find($nh$$=>0<=$ck$$.nh_tt2.indexOf($nh$$)))&&(null==$ck$$.nh_tt3||0==$ck$$.nh_tt3.length||($condition$$.nh_tt3_me||[]).find($nh$$=>0<=$ck$$.nh_tt3.indexOf($nh$$)))&&
|
|
43
|
+
(null==$ck$$.nh_tt4||0==$ck$$.nh_tt4.length||($condition$$.nh_tt4_me||[]).find($nh$$=>0<=$ck$$.nh_tt4.indexOf($nh$$)))&&(null==$ck$$.nh_tt5||0==$ck$$.nh_tt5.length||($condition$$.nh_tt5_me||[]).find($nh$$=>0<=$ck$$.nh_tt5.indexOf($nh$$))));$callback$jscomp$0$$(null,$khuyenmais_khuyenmais_tm$$)})}},async($e$jscomp$13_g$jscomp$12_giabans$$,$rs$$)=>{if($e$jscomp$13_g$jscomp$12_giabans$$)return $fn$$($e$jscomp$13_g$jscomp$12_giabans$$);if(0==$condition$$.get_price)$rs$$.price={};else{$vt$$.ma_nt0||($vt$$.ma_nt0=
|
|
44
|
+
"VND");!(0<$rs$$.giabans.length)||$rs$$.giabans[0].sl_tu||$rs$$.giabans[0].sl_den||$rs$$.giabans[0].t_sl_tu||$rs$$.giabans[0].t_sl_den||($rs$$.giabans=[$rs$$.giabans[0]]);$e$jscomp$13_g$jscomp$12_giabans$$=[];for(let $g$$ of $rs$$.giabans)$g$$.sl_tu=$g$$.sl_tu||0,$g$$.sl_den=$g$$.sl_den||0,$g$$.t_sl_tu=$g$$.t_sl_tu||0,$g$$.t_sl_den=$g$$.t_sl_den||0,$e$jscomp$13_g$jscomp$12_giabans$$.find($_g$$=>$_g$$.sl_tu===$g$$.sl_tu&&$_g$$.sl_den===$g$$.sl_den&&$_g$$.t_sl_tu===$g$$.t_sl_tu&&$_g$$.t_sl_den===$g$$.t_sl_den)||
|
|
45
|
+
$e$jscomp$13_g$jscomp$12_giabans$$.push($g$$);$rs$$.giabans=$e$jscomp$13_g$jscomp$12_giabans$$;$rs$$.giabans.find($g$$=>!$g$$.sl_tu)||($rs$$.giabans=[...$rs$$.giabans,{gia_ban_le:$vt$$.gia_ban_le0||$vt$$.gia_ban_le||0,gia_ban_buon:$vt$$.gia_ban_buon0||$vt$$.gia_ban_buon||0,ma_nt:$vt$$.ma_nt0,gia_ban_chua_thue:$vt$$.gia_ban_chua_thue,t_sl_tu:0,t_sl_den:0,sl_tu:0,sl_den:0<$rs$$.giabans.length?$rs$$.giabans.sort(($a$$,$b$$)=>$a$$.sl_tu-$b$$.sl_tu)[0].sl_tu-.001:0}]);for($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$ of $rs$$.giabans)$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_nt||
|
|
46
|
+
($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_nt="VND"),$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_thue=$vt$$.ma_thue,$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.thue_suat=$vt$$.thue_suat;await $rs$$.giabans.asyncJoinModel2($condition$$.id_app,"currency",{where:"ma_nt",fields:["ty_gia"]});await [$vt$$].asyncJoinModel2($condition$$.id_app,"currency",{where:{ma_nt0:"ma_nt"},fields:[{ty_gia0:"ty_gia"}]});$vt$$.ma_thue&&await [$vt$$].asyncJoinModel2($condition$$.id_app,
|
|
47
|
+
"vat",{where:{ma_thue:"ma_thue"},fields:[{thue_suat:"thue_suat"}]});$rs$$.giabans.forEach($g$$=>{$par$$&&$par$$.ma_nt&&$par$$.ty_gia&&$g$$.ma_nt!==$par$$.ma_nt?($g$$.gia_ban_le0_qd=utils.round(($vt$$.gia_ban_le0||0)*$vt$$.ty_gia0/$par$$.ty_gia,2),$g$$.gia_ban_buon0_qd=utils.round(($vt$$.gia_ban_buon0||0)*$vt$$.ty_gia0/$par$$.ty_gia,2),$g$$.gia_ban_le=utils.round($g$$.gia_ban_le*$g$$.ty_gia/$par$$.ty_gia,2),$g$$.gia_ban_buon=utils.round(($g$$.gia_ban_buon||0)*$g$$.ty_gia/$par$$.ty_gia,2),$g$$.ma_nt=
|
|
48
|
+
$par$$.ma_nt,$g$$.ty_gia=$par$$.ty_gia):($g$$.gia_ban_le0_qd=$vt$$.gia_ban_le0||0,$g$$.gia_ban_buon0_qd=$vt$$.gia_ban_buon0||0)});for($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=0;$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$<$rs$$.giabans.length;$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$++)$e$jscomp$13_g$jscomp$12_giabans$$=$rs$$.giabans[$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$],$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_chua_thue?($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct=
|
|
49
|
+
$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct=$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le_ct=$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon_ct=$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon,$vt$$.ma_thue&&($vt$$.thue_suat=$vt$$.thue_suat||0,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct*
|
|
50
|
+
(1+$vt$$.thue_suat/100),2),$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct*(1+$vt$$.thue_suat/100),2),$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le_ct*(1+$vt$$.thue_suat/100),2),$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon_ct*(1+$vt$$.thue_suat/100),2))):($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct=
|
|
51
|
+
$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct=$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le_ct=$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon_ct=$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon,$vt$$.ma_thue&&($vt$$.thue_suat=$vt$$.thue_suat||0,$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd_ct=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le0_qd/
|
|
52
|
+
(1+$vt$$.thue_suat/100),2),$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd_ct=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon0_qd/(1+$vt$$.thue_suat/100),2),$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le_ct=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_le/(1+$vt$$.thue_suat/100),2),$e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon_ct=utils.round($e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_buon/(1+$vt$$.thue_suat/100),2))),delete $e$jscomp$13_g$jscomp$12_giabans$$.gia_ban_chua_thue,
|
|
53
|
+
$e$jscomp$13_g$jscomp$12_giabans$$.he_so_qd=$he_so_qd$$,$condition$$.ma_dvt_sd&&$rs$$.giabans.forEach($g$$=>{$g$$.gia_ban_le=utils.round($g$$.gia_ban_le*$he_so_qd$$,round);$g$$.gia_ban_buon=utils.round($g$$.gia_ban_buon*$he_so_qd$$,round);$g$$.gia_ban_le0_qd_ct=utils.round($g$$.gia_ban_le0_qd_ct*$he_so_qd$$,round);$g$$.gia_ban_buon0_qd_ct=utils.round($g$$.gia_ban_buon0_qd_ct*$he_so_qd$$,round);$g$$.gia_ban_le_ct=utils.round($g$$.gia_ban_le_ct*$he_so_qd$$,round);$g$$.gia_ban_buon_ct=utils.round($g$$.gia_ban_buon_ct*
|
|
54
|
+
$he_so_qd$$,round);$g$$.ma_dvt=$condition$$.ma_dvt_sd;$g$$.he_so_qd=$he_so_qd$$});var $g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=$rs$$.giabans.filter($g$$=>$g$$.sl_tu<=$condition$$.so_luong&&(!$g$$.sl_den||$g$$.sl_den>$condition$$.so_luong)&&$g$$.t_sl_tu<=$condition$$.t_so_luong&&(!$g$$.t_sl_den||$g$$.t_sl_den>$condition$$.t_so_luong)&&(!$g$$.t_sl_ntt_tu||$g$$.t_sl_ntt_tu<=$condition$$.t_so_luong_ntt)&&(!$g$$.t_sl_ntt_den||$g$$.t_sl_ntt_den>$condition$$.t_so_luong_ntt)&&(!$g$$.t_tien_ntt_tu||
|
|
55
|
+
$g$$.t_tien_ntt_tu<=$condition$$.t_tien_ntt)&&(!$g$$.t_tien_ntt_den||$g$$.t_tien_ntt_den>$condition$$.t_tien_ntt));$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=0<$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.length?$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$[0]:$rs$$.giabans[0]||{};$rs$$.price={gia_ban_le0_qd:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le0_qd,gia_ban_buon0_qd:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon0_qd,gia_ban_le:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le,
|
|
56
|
+
gia_ban_buon:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon,gia_ban_le0_qd_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le0_qd_ct,gia_ban_buon0_qd_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon0_qd_ct,gia_ban_le_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_le_ct,gia_ban_buon_ct:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.gia_ban_buon_ct,ma_nt:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ma_nt,
|
|
57
|
+
ty_gia:$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.ty_gia,ma_thue:$vt$$.ma_thue,thue_suat:$vt$$.thue_suat,prices:$rs$$.giabans}}if(0!=$condition$$.get_discount){$rs$$.discount=$rs$$.discount_vt;$rs$$.discount.forEach($r$$=>{$r$$.id_cs=$r$$._id});$rs$$.price.discount=$rs$$.discount.sort(function($a$$,$b$$){return($b$$.ap_dung_lan_mua_tu_thu||0)>($a$$.ap_dung_lan_mua_tu_thu||0)?1:$b$$.ty_le_ck-$a$$.ty_le_ck});let $discounts$$=[];$rs$$.price.discount.forEach($d$$=>{$d$$.tien_ck&&$rs$$.price.gia_ban_le_ct&&
|
|
58
|
+
($d$$.ty_le_ck=$d$$.tien_ck/$rs$$.price.gia_ban_le_ct*100);$d$$.sl_tu=$d$$.sl_tu||0;$d$$.sl_den=$d$$.sl_den||0;$d$$.gt_hd_tu=$d$$.gt_hd_tu||0;$d$$.gt_hd_den=$d$$.gt_hd_den||0;$discounts$$.push($d$$)});$rs$$.price.discount=$discounts$$;let $gt_hd$$=$condition$$.t_gt_hd||0,$default_cks$$=$discounts$$.filter($d$$=>(!$d$$.gt_hd_tu||$d$$.gt_hd_tu<$gt_hd$$)&&(!$d$$.gt_hd_den||$d$$.gt_hd_den>=$gt_hd$$)&&!$d$$.mua_them&&$condition$$.so_luong>=$d$$.sl_tu&&(!$d$$.sl_den||$d$$.sl_den>$condition$$.so_luong)&&
|
|
59
|
+
(!$d$$.t_sl_tu||$d$$.t_sl_tu<=$condition$$.t_so_luong)&&(!$d$$.t_sl_den||$d$$.t_sl_den>$condition$$.t_so_luong)&&(!$d$$.t_sl_ntt_tu||$d$$.t_sl_ntt_tu<=$condition$$.t_so_luong_ntt)&&(!$d$$.t_sl_ntt_den||$d$$.t_sl_ntt_den>$condition$$.t_so_luong_ntt)&&(!$d$$.t_tien_ntt_tu||$d$$.t_tien_ntt_tu<=$condition$$.t_tien_ntt)&&(!$d$$.t_tien_ntt_den||$d$$.t_tien_ntt_den>$condition$$.t_tien_ntt));var $default_ck_groups$jscomp$2_i$$;$condition$$.id_cs_ck&&($default_ck_groups$jscomp$2_i$$=$default_cks$$.find($d$$=>
|
|
60
|
+
$d$$._id.toString()==$condition$$.id_cs_ck));!$default_ck_groups$jscomp$2_i$$&&0<$default_cks$$.length&&($default_ck_groups$jscomp$2_i$$=[...(new Set($default_cks$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>({ma_nhom:$ma_nhom$$,cks:$default_cks$$.filter($d$$=>($d$$.ma_nhom||"")==($ma_nhom$$||""))})),$default_ck_groups$jscomp$2_i$$=await calcDefaultDiscount($condition$$.id_app,$default_ck_groups$jscomp$2_i$$));$default_ck_groups$jscomp$2_i$$&&(underscore.extend($rs$$.price,{sl_tu:$default_ck_groups$jscomp$2_i$$.sl_tu,
|
|
61
|
+
ty_le_ck:$default_ck_groups$jscomp$2_i$$.ty_le_ck||0,tien_ck:$default_ck_groups$jscomp$2_i$$.tien_ck,gt_hd_tu:$default_ck_groups$jscomp$2_i$$.gt_hd_tu,gt_hd_den:$default_ck_groups$jscomp$2_i$$.gt_hd_den,sl_ap_dung:$default_ck_groups$jscomp$2_i$$.sl_ap_dung,so_tien_max:$default_ck_groups$jscomp$2_i$$.so_tien_max,id_cs:$default_ck_groups$jscomp$2_i$$._id}),$rs$$.tien_ck_tmp=$rs$$.tien_ck,$rs$$.tien_ck_tmp||($rs$$.tien_ck_tmp=utils.round($rs$$.price.gia_ban_le_ct*$rs$$.ty_le_ck/100,2)),$rs$$.price.gia_ban_le_sau_ck_tmp=
|
|
62
|
+
Math.max(0,$rs$$.price.gia_ban_le-$rs$$.tien_ck_tmp));$default_ck_groups$jscomp$2_i$$=underscore.filter($rs$$.discount,$d$$=>1<$d$$.sl_tu).sort(function($a$$,$b$$){return $b$$.ty_le_ck-$a$$.ty_le_ck});0<$default_ck_groups$jscomp$2_i$$.length&&($rs$$.price.ck_sl_tu2=$default_ck_groups$jscomp$2_i$$)}if(0!=$condition$$.get_promotion){$rs$$.promotion=$rs$$.promotion_vt;$rs$$.promotion.forEach($r$$=>{$r$$.id_cs=$r$$._id});$rs$$.promotion&&$rs$$.promotion.forEach($p$$=>{delete $p$$.status;delete $p$$.user_created;
|
|
63
|
+
delete $p$$.user_updated;delete $p$$.date_created;delete $p$$.date_updated;delete $p$$.exfields;delete $p$$.id_app;delete $p$$.dmkh;delete $p$$.dmkho;delete $p$$.dmnvt;delete $p$$.dmvt;delete $p$$.__v});$rs$$.price.promotion=$rs$$.promotion||[];$condition$$.ma_ct?($rs$$.price.promotion=$rs$$.price.promotion.filter($p$$=>!$p$$.chi_su_dung_cho_ct||0<=$p$$.chi_su_dung_cho_ct.toUpperCase().split(",").indexOf($condition$$.ma_ct.toUpperCase())),$rs$$.price.promotion=$rs$$.price.promotion.filter($p$$=>!$p$$.khong_su_dung_cho_ct||
|
|
64
|
+
0>$p$$.khong_su_dung_cho_ct.toUpperCase().split(",").indexOf($condition$$.ma_ct.toUpperCase()))):$rs$$.price.promotion=$rs$$.price.promotion.filter($p$$=>!$p$$.chi_su_dung_cho_ct&&!$p$$.khong_su_dung_cho_ct);for($default_ck_groups$jscomp$2_i$$=0;$default_ck_groups$jscomp$2_i$$<$rs$$.price.promotion.length;$default_ck_groups$jscomp$2_i$$++)$g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$=$rs$$.price.promotion[$default_ck_groups$jscomp$2_i$$],await ($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.details_km||
|
|
65
|
+
[]).asyncJoinModel2($condition$$.id_app,dmvt,{where:"ma_vt",fields:["ten_vt","picture"]}),await ($g$jscomp$10_gia_ban_mac_dinh_giabanstheosoluong_i_p$$.details_km||[]).filter($d$$=>$d$$.ma_tt1).asyncJoinModel2($condition$$.id_app,"dmtt",{where:$item$$=>({ma_vt:$item$$.ma_vt,ma_tt:$item$$.ma_tt1,loai_tt:"1"}),setFields:($item$$,$ref$$)=>{$item$$.thuoc_tinh=$ref$$}});let $promotions_df$$=$rs$$.price.promotion.filter($p$$=>$p$$.details_km&&0<$p$$.details_km.length&&$p$$.sl_tu<=$condition$$.so_luong&&
|
|
66
|
+
(!$p$$.sl_den||$p$$.sl_den>=$condition$$.so_luong||$p$$.sl_den===$p$$.sl_tu)&&(!$p$$.t_sl_tu||$p$$.t_sl_tu<=$condition$$.t_so_luong)&&(!$p$$.t_sl_den||$p$$.t_sl_den>$condition$$.t_so_luong)&&(!$p$$.t_sl_ntt_tu||$p$$.t_sl_ntt_tu<=$condition$$.t_so_luong_ntt)&&(!$p$$.t_sl_ntt_den||$p$$.t_sl_ntt_den>$condition$$.t_so_luong_ntt)&&(!$p$$.t_tien_ntt_tu||$p$$.t_tien_ntt_tu<=$condition$$.t_tien_ntt)&&(!$p$$.t_tien_ntt_den||$p$$.t_tien_ntt_den>$condition$$.t_tien_ntt));var $groups$$;$condition$$.id_cs&&($groups$$=
|
|
67
|
+
$promotions_df$$.find($d$$=>$d$$._id.toString()==$condition$$.id_cs));!$groups$$&&0<$promotions_df$$.length&&($promotions_df$$.forEach($p$$=>{$p$$.t_sl_km=($p$$.details_km||[]).map($d$$=>$d$$.sl_km||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)}),$groups$$=[...(new Set($promotions_df$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>({ma_nhom:$ma_nhom$$,cks:$promotions_df$$.filter($d$$=>($d$$.ma_nhom||"")==$ma_nhom$$)})),$groups$$=await calcDefaultPromotion($condition$$.id_app,$groups$$));$rs$$.price.default_promotion=
|
|
68
|
+
$groups$$}$fn$$(null,$rs$$.price)})}else $fn$$(`Condition required ma_vt,id_app. Current condition ${JSON.stringify($condition$$)}`)};
|