flexbiz-server 12.0.6 → 12.0.9
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 +1 -1
- package/server/controllers/controller.js +64 -60
- package/server/controllers/controllerRPT.js +12 -12
- package/server/global.js +5 -4
- package/server/libs/initDatabase.js +2 -2
- package/server/libs/permission.js +4 -5
- package/server/libs/prototypes.js +6 -6
- package/server/models/approve.js +2 -2
- package/server/models/cart.js +3 -3
- package/server/models/dmvt.js +5 -4
- package/server/models/listinfo.js +27 -13
- package/server/models/otp.js +1 -1
- package/server/models/participant.js +3 -1
- package/server/models/pxk.js +1 -1
- package/server/models/so1.js +1 -1
- package/server/models/sokho.js +4 -4
- package/server/models/sokhocapphat.js +3 -3
- package/server/models/sokhokhongton.js +4 -3
- package/server/models/sokhott.js +4 -4
- package/server/models/tontucthoi.js +2 -2
- package/server/modules/reports/rp-bcintroducebonus.js +2 -2
- package/server/modules/reports/rp-ckvt.js +2 -1
- package/server/modules/reports/rp-getdinhmuc4lenhcp.js +2 -2
- package/server/modules/reports/rp-getdinhmuc4pxk.js +6 -4
- package/server/modules/reports/rp-referredusers.js +1 -0
- package/server/modules/vouchers/vo-lenhcapphat.js +1 -1
- package/server/modules/vouchers/vo-so1.js +38 -37
- package/server/route.js +26 -26
- package/src/actions/mailtemplate.js +0 -142
- package/src/actions/schedule.js +0 -23
- package/src/app.js +0 -313
- package/src/auths/bearer.js +0 -23
- package/src/auths/facebook.js +0 -227
- package/src/auths/google.js +0 -238
- package/src/auths/local.js +0 -676
- package/src/cluster.js +0 -196
- package/src/compile.js +0 -315
- package/src/configs.js +0 -2
- package/src/controllers/controller.js +0 -5992
- package/src/controllers/controllerRPT.js +0 -698
- package/src/data/account.js +0 -479
- package/src/data/ckgtluong.js +0 -79
- package/src/data/currency.js +0 -4
- package/src/data/dmdvt.js +0 -54
- package/src/data/dmkho.js +0 -3
- package/src/data/dvcs.js +0 -3
- package/src/data/kbm_bcdkt.js +0 -4843
- package/src/data/kbm_kqhdkd.js +0 -655
- package/src/data/kbm_lcttgt.js +0 -2386
- package/src/data/kbm_lctttt.js +0 -934
- package/src/data/kbm_tkgtgt.js +0 -560
- package/src/data/parameter.js +0 -178
- package/src/data/ptthanhtoan.js +0 -3
- package/src/data/rpt.js +0 -123
- package/src/data/rptobject.js +0 -9
- package/src/data/sys/labelinfo.js +0 -1
- package/src/data/sys/listinfo.js +0 -73459
- package/src/data/sys/quanhuyen.js +0 -9928
- package/src/data/sys/reportinfo.js +0 -1751
- package/src/data/sys/tableinfo.js +0 -5873
- package/src/data/sys/templatestore.js +0 -1988
- package/src/data/sys/tinhthanh.js +0 -821
- package/src/data/sys/trangthai.js +0 -4467
- package/src/data/tc.js +0 -5
- package/src/data/usergroup.js +0 -42
- package/src/data/vat.js +0 -6
- package/src/defaultConfigs.js +0 -158
- package/src/global.js +0 -285
- package/src/images/avatar.jpg +0 -0
- package/src/images/others/noimage.png +0 -0
- package/src/images/picture.png +0 -0
- package/src/libs/BlockchainTransactionPool.js +0 -44
- package/src/libs/WorkerPool.js +0 -61
- package/src/libs/WorkerStaticPool.js +0 -68
- package/src/libs/backup.js +0 -31
- package/src/libs/blockchainconnect.js +0 -728
- package/src/libs/cdpsdiem.js +0 -108
- package/src/libs/cdpsdt.js +0 -158
- package/src/libs/cdpskh.js +0 -176
- package/src/libs/cdpstk.js +0 -202
- package/src/libs/ckcn.js +0 -191
- package/src/libs/ckdiem.js +0 -132
- package/src/libs/ckdt.js +0 -114
- package/src/libs/cktk.js +0 -70
- package/src/libs/cktt.js +0 -169
- package/src/libs/ckvt.js +0 -239
- package/src/libs/ckvtcapphat.js +0 -158
- package/src/libs/ckvttt.js +0 -245
- package/src/libs/ctdiem.js +0 -120
- package/src/libs/ctvt.js +0 -127
- package/src/libs/ctvttt.js +0 -127
- package/src/libs/databanle.js +0 -304
- package/src/libs/dkcn.js +0 -225
- package/src/libs/dkdiem.js +0 -126
- package/src/libs/dkdt.js +0 -115
- package/src/libs/dktk.js +0 -76
- package/src/libs/dktt.js +0 -172
- package/src/libs/dkvt.js +0 -136
- package/src/libs/dkvttt.js +0 -128
- package/src/libs/dncn.js +0 -142
- package/src/libs/dntk.js +0 -80
- package/src/libs/dntt.js +0 -126
- package/src/libs/dstkcn.js +0 -15
- package/src/libs/dstktt.js +0 -15
- package/src/libs/email.js +0 -28
- package/src/libs/excel.js +0 -19
- package/src/libs/getGiaban.js +0 -448
- package/src/libs/getGiabanAsync.js +0 -9
- package/src/libs/getNotifies.js +0 -3
- package/src/libs/htmlReport.js +0 -78
- package/src/libs/initDatabase.js +0 -82
- package/src/libs/load-template.js +0 -32
- package/src/libs/mailmanagement.js +0 -303
- package/src/libs/mongooseDeletePost.js +0 -31
- package/src/libs/mongooseLeanId.js +0 -58
- package/src/libs/onepay-payment.js +0 -74
- package/src/libs/parse-template.js +0 -48
- package/src/libs/permission.js +0 -428
- package/src/libs/phanbokh.js +0 -26
- package/src/libs/post-book.js +0 -202
- package/src/libs/post-book_bk.js +0 -283
- package/src/libs/post-socai.js +0 -175
- package/src/libs/post-socai_bk.js +0 -282
- package/src/libs/prototypes.js +0 -543
- package/src/libs/psdt.js +0 -30
- package/src/libs/pskh.js +0 -17
- package/src/libs/pstk.js +0 -31
- package/src/libs/redis-cache.js +0 -150
- package/src/libs/restore.js +0 -21
- package/src/libs/schedule.js +0 -518
- package/src/libs/syncSQL.js +0 -128
- package/src/libs/textReport.js +0 -61
- package/src/libs/thnxt.js +0 -148
- package/src/libs/thnxttt.js +0 -138
- package/src/libs/tinhGtCapnhatPNK.js +0 -105
- package/src/libs/tinhGtPhanboSltp.js +0 -131
- package/src/libs/tinhGtPhanboYtcp.js +0 -184
- package/src/libs/tinhGtSltk.js +0 -149
- package/src/libs/tinhGtThcppstk.js +0 -150
- package/src/libs/tinhGtTrucTiep.js +0 -118
- package/src/libs/tinhGtXoa.js +0 -35
- package/src/libs/tinhgiatb.js +0 -568
- package/src/libs/tinhgiatb1vt.js +0 -69
- package/src/libs/tinhkhauhao1ts.js +0 -178
- package/src/libs/tinhkhauhaots.js +0 -100
- package/src/libs/utils.js +0 -551
- package/src/libs/validate.js +0 -73
- package/src/libs/validator-acc-cust.js +0 -17
- package/src/libs/validator-account.js +0 -62
- package/src/libs/validator-vt.js +0 -28
- package/src/libs/validator.js +0 -136
- package/src/libs/vsocai.js +0 -155
- package/src/log/access.log +0 -0
- package/src/maps-demo/participant.js +0 -18
- package/src/menu.js +0 -521
- package/src/models/account.js +0 -72
- package/src/models/app.js +0 -197
- package/src/models/approve.js +0 -526
- package/src/models/area.js +0 -120
- package/src/models/assbuy.js +0 -48
- package/src/models/asscashwithdraw.js +0 -55
- package/src/models/assinvestment.js +0 -181
- package/src/models/asskey.js +0 -32
- package/src/models/assneedtobuy.js +0 -66
- package/src/models/assperiod.js +0 -78
- package/src/models/assproduct.js +0 -67
- package/src/models/assprofitsharing.js +0 -48
- package/src/models/assreceiver.js +0 -30
- package/src/models/assrequest.js +0 -63
- package/src/models/asssell.js +0 -69
- package/src/models/asstransfer.js +0 -54
- package/src/models/asswithdraw.js +0 -47
- package/src/models/attend.js +0 -20
- package/src/models/bangtinhluong.js +0 -92
- package/src/models/base.js +0 -12
- package/src/models/bg1.js +0 -87
- package/src/models/bg2.js +0 -116
- package/src/models/block.js +0 -93
- package/src/models/building.js +0 -122
- package/src/models/calllog.js +0 -48
- package/src/models/campaign.js +0 -102
- package/src/models/cart.js +0 -107
- package/src/models/cddiem.js +0 -20
- package/src/models/cddt.js +0 -36
- package/src/models/cdkh.js +0 -47
- package/src/models/cdtk.js +0 -35
- package/src/models/cdvt.js +0 -43
- package/src/models/chamcong.js +0 -26
- package/src/models/checkin.js +0 -25
- package/src/models/checkinactivity.js +0 -35
- package/src/models/checkinkpi.js +0 -39
- package/src/models/chitieukpi.js +0 -39
- package/src/models/chudethaoluan.js +0 -32
- package/src/models/ckgtluong.js +0 -24
- package/src/models/colleague.js +0 -22
- package/src/models/comment.js +0 -55
- package/src/models/congdoansx.js +0 -35
- package/src/models/congtacvien.js +0 -57
- package/src/models/consultant.js +0 -47
- package/src/models/contract.js +0 -79
- package/src/models/counter.js +0 -20
- package/src/models/ctds.js +0 -69
- package/src/models/currency.js +0 -34
- package/src/models/customer.js +0 -361
- package/src/models/datlich.js +0 -53
- package/src/models/department.js +0 -47
- package/src/models/dh2.js +0 -159
- package/src/models/diagram.js +0 -33
- package/src/models/dinhmucsx.js +0 -93
- package/src/models/dkhoc.js +0 -53
- package/src/models/dmban.js +0 -36
- package/src/models/dmbp.js +0 -90
- package/src/models/dmca.js +0 -28
- package/src/models/dmchietkhau.js +0 -213
- package/src/models/dmchietkhauhd.js +0 -157
- package/src/models/dmcpmh.js +0 -18
- package/src/models/dmdiemthuong.js +0 -126
- package/src/models/dmdoi.js +0 -44
- package/src/models/dmdoituongdanhgia.js +0 -23
- package/src/models/dmdt.js +0 -104
- package/src/models/dmdvt.js +0 -30
- package/src/models/dmgiaban.js +0 -106
- package/src/models/dmgiamua.js +0 -81
- package/src/models/dmkc.js +0 -38
- package/src/models/dmkho.js +0 -101
- package/src/models/dmkhuyenmai.js +0 -95
- package/src/models/dmkhuyenmaihd.js +0 -75
- package/src/models/dmletet.js +0 -64
- package/src/models/dmlo.js +0 -33
- package/src/models/dmloaicong.js +0 -36
- package/src/models/dmloaitask.js +0 -20
- package/src/models/dmloaits.js +0 -19
- package/src/models/dmnghiepvu.js +0 -25
- package/src/models/dmnguonvon.js +0 -19
- package/src/models/dmnhnv.js +0 -48
- package/src/models/dmnv.js +0 -224
- package/src/models/dmnvt.js +0 -43
- package/src/models/dmphatdichvu.js +0 -117
- package/src/models/dmphi.js +0 -27
- package/src/models/dmqct.js +0 -31
- package/src/models/dmqddvt.js +0 -28
- package/src/models/dmtanggiamts.js +0 -29
- package/src/models/dmto.js +0 -42
- package/src/models/dmtt.js +0 -42
- package/src/models/dmvt.js +0 -217
- package/src/models/dmyt.js +0 -103
- package/src/models/dn0.js +0 -465
- package/src/models/dnm.js +0 -132
- package/src/models/dokho.js +0 -21
- package/src/models/dvcs.js +0 -31
- package/src/models/ecomcategories.js +0 -12
- package/src/models/ecompromotion_flashsales.js +0 -12
- package/src/models/ecompromotion_freeships.js +0 -12
- package/src/models/endpoint.js +0 -11
- package/src/models/events.js +0 -72
- package/src/models/evoucher.js +0 -66
- package/src/models/experiencejourney.js +0 -22
- package/src/models/experiencejourneydata.js +0 -32
- package/src/models/experiencejourneypersona.js +0 -26
- package/src/models/experiencejourneystage.js +0 -23
- package/src/models/exportexceltemplate.js +0 -22
- package/src/models/fieldright.js +0 -17
- package/src/models/file.js +0 -32
- package/src/models/financialroadmap.js +0 -45
- package/src/models/floor.js +0 -79
- package/src/models/floordetail.js +0 -172
- package/src/models/follow.js +0 -26
- package/src/models/form.js +0 -77
- package/src/models/forminfo.js +0 -60
- package/src/models/formvalue.js +0 -35
- package/src/models/giaoca.js +0 -40
- package/src/models/giatb.js +0 -30
- package/src/models/group.js +0 -60
- package/src/models/gt_ctgt.js +0 -50
- package/src/models/gt_sltk.js +0 -31
- package/src/models/gt_thcppstk.js +0 -31
- package/src/models/hanmucton.js +0 -39
- package/src/models/hd1.js +0 -114
- package/src/models/hd2.js +0 -166
- package/src/models/hd3.js +0 -161
- package/src/models/hd7.js +0 -729
- package/src/models/hlink.js +0 -23
- package/src/models/hlinkvalue.js +0 -26
- package/src/models/hspbts.js +0 -44
- package/src/models/importexceltemplate.js +0 -21
- package/src/models/introducebonus.js +0 -79
- package/src/models/introducecode.js +0 -65
- package/src/models/introducer.js +0 -81
- package/src/models/invpackage.js +0 -122
- package/src/models/invproject.js +0 -105
- package/src/models/invround.js +0 -114
- package/src/models/invuser.js +0 -111
- package/src/models/kbbtpb.js +0 -63
- package/src/models/kbmPttct.js +0 -60
- package/src/models/kbmTkgtgt.js +0 -76
- package/src/models/kbm_bcdkt.js +0 -58
- package/src/models/kbm_kqhdkd.js +0 -42
- package/src/models/kbm_lcttgt.js +0 -59
- package/src/models/kbm_lctttt.js +0 -58
- package/src/models/kbm_pttct.js +0 -54
- package/src/models/kbm_tkgtgt.js +0 -72
- package/src/models/kbmbcdkt.js +0 -62
- package/src/models/kbmbcqt.js +0 -60
- package/src/models/kbmkqhdkd.js +0 -46
- package/src/models/kbmlcttgt.js +0 -63
- package/src/models/kbmlctttt.js +0 -62
- package/src/models/kbmtmbctc.js +0 -61
- package/src/models/kehoachdtcp.js +0 -39
- package/src/models/kehoachmh.js +0 -100
- package/src/models/keyresult.js +0 -86
- package/src/models/khunghangthanhvien.js +0 -27
- package/src/models/label.js +0 -20
- package/src/models/labelinfo.js +0 -22
- package/src/models/lenhcapphat.js +0 -86
- package/src/models/lenhsx.js +0 -75
- package/src/models/lesson.js +0 -85
- package/src/models/license.js +0 -23
- package/src/models/lienhe.js +0 -43
- package/src/models/like_module.js +0 -15
- package/src/models/link.js +0 -20
- package/src/models/listinfo.js +0 -682
- package/src/models/loaidiem.js +0 -20
- package/src/models/lock.js +0 -16
- package/src/models/log.js +0 -42
- package/src/models/mailaccount.js +0 -35
- package/src/models/mailgroup.js +0 -35
- package/src/models/mailreceived.js +0 -25
- package/src/models/mailschedule.js +0 -34
- package/src/models/mailsent.js +0 -30
- package/src/models/mailtemplate.js +0 -31
- package/src/models/maudanhgia.js +0 -24
- package/src/models/message.js +0 -127
- package/src/models/message2.js +0 -45
- package/src/models/message2setting.js +0 -32
- package/src/models/moduleinfo.js +0 -41
- package/src/models/momo.js +0 -210
- package/src/models/news.js +0 -53
- package/src/models/newsfeed.js +0 -82
- package/src/models/nhadat.js +0 -120
- package/src/models/note.js +0 -24
- package/src/models/notification.js +0 -63
- package/src/models/okr.js +0 -53
- package/src/models/okrdiagram.js +0 -34
- package/src/models/onepay.js +0 -345
- package/src/models/opportunity.js +0 -54
- package/src/models/options.js +0 -33
- package/src/models/otp.js +0 -15
- package/src/models/parameter.js +0 -20
- package/src/models/participant.js +0 -81
- package/src/models/partner.js +0 -15
- package/src/models/payload.js +0 -14
- package/src/models/pbl.js +0 -182
- package/src/models/pc0.js +0 -477
- package/src/models/pc1.js +0 -490
- package/src/models/pc2.js +0 -170
- package/src/models/pc3.js +0 -165
- package/src/models/pc5.js +0 -76
- package/src/models/pdn.js +0 -267
- package/src/models/pdx.js +0 -259
- package/src/models/phieudanhgia.js +0 -44
- package/src/models/pht.js +0 -92
- package/src/models/phucap.js +0 -33
- package/src/models/pkc.js +0 -68
- package/src/models/pkh.js +0 -63
- package/src/models/pkk.js +0 -254
- package/src/models/pkt.js +0 -136
- package/src/models/pn1.js +0 -174
- package/src/models/pn2.js +0 -121
- package/src/models/pn3.js +0 -152
- package/src/models/pn5.js +0 -158
- package/src/models/pn6.js +0 -163
- package/src/models/pn9.js +0 -182
- package/src/models/pnc.js +0 -288
- package/src/models/pnh.js +0 -118
- package/src/models/pnk.js +0 -99
- package/src/models/po1.js +0 -213
- package/src/models/ppb.js +0 -67
- package/src/models/profile.js +0 -46
- package/src/models/pt1.js +0 -132
- package/src/models/pt5.js +0 -76
- package/src/models/ptl.js +0 -60
- package/src/models/ptthanhtoan.js +0 -97
- package/src/models/purchase_contract.js +0 -190
- package/src/models/pxc.js +0 -268
- package/src/models/pxh.js +0 -118
- package/src/models/pxk.js +0 -97
- package/src/models/qts.js +0 -149
- package/src/models/qts_dieuchinh.js +0 -41
- package/src/models/quanhuyen.js +0 -50
- package/src/models/reason.js +0 -18
- package/src/models/reportinfo.js +0 -51
- package/src/models/right.js +0 -50
- package/src/models/rpt.js +0 -25
- package/src/models/rptform.js +0 -55
- package/src/models/rptobject.js +0 -21
- package/src/models/sale_contract.js +0 -114
- package/src/models/schedule.js +0 -239
- package/src/models/schedule_log.js +0 -15
- package/src/models/service.js +0 -48
- package/src/models/session.js +0 -87
- package/src/models/shipbook.js +0 -141
- package/src/models/shortcut.js +0 -22
- package/src/models/so1.js +0 -257
- package/src/models/so2.js +0 -151
- package/src/models/so3.js +0 -141
- package/src/models/so4.js +0 -137
- package/src/models/so5.js +0 -228
- package/src/models/socai.js +0 -246
- package/src/models/socaitmp.js +0 -230
- package/src/models/sodiemthuong.js +0 -44
- package/src/models/sokho.js +0 -226
- package/src/models/sokhocapphat.js +0 -203
- package/src/models/sokhokhongton.js +0 -222
- package/src/models/sokhott.js +0 -219
- package/src/models/sophanbokh.js +0 -38
- package/src/models/sosanxuat.js +0 -50
- package/src/models/sotinhkh.js +0 -28
- package/src/models/spdd_ck.js +0 -30
- package/src/models/spdd_dk.js +0 -30
- package/src/models/step.js +0 -22
- package/src/models/strategicdiagram.js +0 -30
- package/src/models/strategicgoal.js +0 -47
- package/src/models/strategickpi.js +0 -75
- package/src/models/strategicobjective.js +0 -47
- package/src/models/strategicplan.js +0 -53
- package/src/models/subscribe.js +0 -16
- package/src/models/support.js +0 -23
- package/src/models/synctime.js +0 -20
- package/src/models/sysconfig.js +0 -19
- package/src/models/sysgroup.js +0 -24
- package/src/models/tableinfo.js +0 -99
- package/src/models/task.js +0 -243
- package/src/models/taskreg.js +0 -44
- package/src/models/tc.js +0 -17
- package/src/models/tdttco.js +0 -45
- package/src/models/tdttco_tt.js +0 -56
- package/src/models/tdttno.js +0 -46
- package/src/models/tdttno_tt.js +0 -57
- package/src/models/templaterpt.js +0 -21
- package/src/models/templatestore.js +0 -30
- package/src/models/templatevoucher.js +0 -25
- package/src/models/tinhthanh.js +0 -44
- package/src/models/tokens.js +0 -22
- package/src/models/tontucthoi.js +0 -77
- package/src/models/training.js +0 -93
- package/src/models/trangthai.js +0 -86
- package/src/models/transaction.js +0 -211
- package/src/models/trialinfo.js +0 -24
- package/src/models/user.js +0 -379
- package/src/models/usergroup.js +0 -66
- package/src/models/vanchuyen.js +0 -146
- package/src/models/vat.js +0 -31
- package/src/models/vatra.js +0 -53
- package/src/models/vatvao.js +0 -53
- package/src/models/versioninfo.js +0 -19
- package/src/models/voice-command.js +0 -18
- package/src/models/vsocai.js +0 -83
- package/src/models/waitevent.js +0 -26
- package/src/models/wallet.js +0 -94
- package/src/models/warranty.js +0 -30
- package/src/models/xaphuong.js +0 -57
- package/src/models/xhd.js +0 -124
- package/src/models/ytdd_ck.js +0 -34
- package/src/models/ytdd_dk.js +0 -31
- package/src/models/zalo.js +0 -226
- package/src/modules/bot/webhook.js +0 -185
- package/src/modules/lists/bg-cddiem.js +0 -64
- package/src/modules/lists/bg-cddt.js +0 -73
- package/src/modules/lists/bg-cdkh.js +0 -129
- package/src/modules/lists/bg-cdtk.js +0 -97
- package/src/modules/lists/bg-cdvt.js +0 -88
- package/src/modules/lists/ls-account.js +0 -66
- package/src/modules/lists/ls-approve.js +0 -14
- package/src/modules/lists/ls-area.js +0 -74
- package/src/modules/lists/ls-assbuy.js +0 -70
- package/src/modules/lists/ls-asscashwithdraw.js +0 -192
- package/src/modules/lists/ls-assinvestment.js +0 -402
- package/src/modules/lists/ls-asskey.js +0 -412
- package/src/modules/lists/ls-assneedtobuy.js +0 -159
- package/src/modules/lists/ls-assperiod.js +0 -197
- package/src/modules/lists/ls-assproduct.js +0 -212
- package/src/modules/lists/ls-assprofitsharing.js +0 -131
- package/src/modules/lists/ls-assreceiver.js +0 -28
- package/src/modules/lists/ls-assrequest.js +0 -47
- package/src/modules/lists/ls-asssell.js +0 -202
- package/src/modules/lists/ls-asstransfer.js +0 -26
- package/src/modules/lists/ls-asswithdraw.js +0 -110
- package/src/modules/lists/ls-bangtinhluong.js +0 -19
- package/src/modules/lists/ls-block.js +0 -10
- package/src/modules/lists/ls-building.js +0 -41
- package/src/modules/lists/ls-calllog.js +0 -9
- package/src/modules/lists/ls-campaign.js +0 -26
- package/src/modules/lists/ls-cart.js +0 -188
- package/src/modules/lists/ls-chamcong.js +0 -15
- package/src/modules/lists/ls-checkin.js +0 -73
- package/src/modules/lists/ls-checkinactivity.js +0 -141
- package/src/modules/lists/ls-checkinkpi.js +0 -67
- package/src/modules/lists/ls-chitieukpi.js +0 -28
- package/src/modules/lists/ls-chudethaoluan.js +0 -9
- package/src/modules/lists/ls-ckgtluong.js +0 -10
- package/src/modules/lists/ls-comment.js +0 -136
- package/src/modules/lists/ls-congdoansx.js +0 -41
- package/src/modules/lists/ls-congtacvien.js +0 -134
- package/src/modules/lists/ls-consultant.js +0 -30
- package/src/modules/lists/ls-contract.js +0 -150
- package/src/modules/lists/ls-ctds.js +0 -62
- package/src/modules/lists/ls-currency.js +0 -9
- package/src/modules/lists/ls-customer.js +0 -164
- package/src/modules/lists/ls-datlich.js +0 -152
- package/src/modules/lists/ls-dckhauhaots.js +0 -23
- package/src/modules/lists/ls-department.js +0 -69
- package/src/modules/lists/ls-diagram.js +0 -10
- package/src/modules/lists/ls-dkhoc.js +0 -98
- package/src/modules/lists/ls-dmban.js +0 -95
- package/src/modules/lists/ls-dmbp.js +0 -41
- package/src/modules/lists/ls-dmca.js +0 -9
- package/src/modules/lists/ls-dmchietkhau.js +0 -79
- package/src/modules/lists/ls-dmchietkhauhd.js +0 -49
- package/src/modules/lists/ls-dmchucvu.js +0 -18
- package/src/modules/lists/ls-dmcpmh.js +0 -9
- package/src/modules/lists/ls-dmdiemthuong.js +0 -78
- package/src/modules/lists/ls-dmdoi.js +0 -82
- package/src/modules/lists/ls-dmdoituongdanhgia.js +0 -8
- package/src/modules/lists/ls-dmdt.js +0 -157
- package/src/modules/lists/ls-dmdvt.js +0 -23
- package/src/modules/lists/ls-dmgiaban.js +0 -40
- package/src/modules/lists/ls-dmgiamua.js +0 -45
- package/src/modules/lists/ls-dmkc.js +0 -25
- package/src/modules/lists/ls-dmkho.js +0 -22
- package/src/modules/lists/ls-dmkhuyenmai.js +0 -89
- package/src/modules/lists/ls-dmkhuyenmaihd.js +0 -46
- package/src/modules/lists/ls-dmletet.js +0 -9
- package/src/modules/lists/ls-dmlo.js +0 -9
- package/src/modules/lists/ls-dmloaicong.js +0 -9
- package/src/modules/lists/ls-dmloaits.js +0 -9
- package/src/modules/lists/ls-dmnghiepvu.js +0 -9
- package/src/modules/lists/ls-dmnguonvon.js +0 -9
- package/src/modules/lists/ls-dmnhnd.js +0 -13
- package/src/modules/lists/ls-dmnhnv.js +0 -124
- package/src/modules/lists/ls-dmnhtask.js +0 -64
- package/src/modules/lists/ls-dmnkh.js +0 -13
- package/src/modules/lists/ls-dmnv.js +0 -323
- package/src/modules/lists/ls-dmnvt.js +0 -96
- package/src/modules/lists/ls-dmphatdichvu.js +0 -44
- package/src/modules/lists/ls-dmphi.js +0 -9
- package/src/modules/lists/ls-dmqct.js +0 -15
- package/src/modules/lists/ls-dmqddvt.js +0 -32
- package/src/modules/lists/ls-dmtanggiamts.js +0 -9
- package/src/modules/lists/ls-dmto.js +0 -105
- package/src/modules/lists/ls-dmtt.js +0 -40
- package/src/modules/lists/ls-dmvt.js +0 -564
- package/src/modules/lists/ls-dmyt.js +0 -9
- package/src/modules/lists/ls-dokho.js +0 -9
- package/src/modules/lists/ls-dvcs.js +0 -13
- package/src/modules/lists/ls-events.js +0 -51
- package/src/modules/lists/ls-evoucher.js +0 -33
- package/src/modules/lists/ls-experiencejourney.js +0 -8
- package/src/modules/lists/ls-experiencejourneydata.js +0 -25
- package/src/modules/lists/ls-experiencejourneypersona.js +0 -54
- package/src/modules/lists/ls-experiencejourneystage.js +0 -8
- package/src/modules/lists/ls-file.js +0 -353
- package/src/modules/lists/ls-financialroadmap.js +0 -39
- package/src/modules/lists/ls-floor.js +0 -41
- package/src/modules/lists/ls-floordetail.js +0 -417
- package/src/modules/lists/ls-form.js +0 -8
- package/src/modules/lists/ls-forminfo.js +0 -18
- package/src/modules/lists/ls-formvalue.js +0 -8
- package/src/modules/lists/ls-giaoca.js +0 -46
- package/src/modules/lists/ls-group.js +0 -10
- package/src/modules/lists/ls-hinhthuc.js +0 -14
- package/src/modules/lists/ls-hlink.js +0 -8
- package/src/modules/lists/ls-hlinkvalue.js +0 -8
- package/src/modules/lists/ls-hspbts.js +0 -38
- package/src/modules/lists/ls-introducebonus.js +0 -35
- package/src/modules/lists/ls-introducecode.js +0 -57
- package/src/modules/lists/ls-introducer.js +0 -151
- package/src/modules/lists/ls-invpackage.js +0 -64
- package/src/modules/lists/ls-invproject.js +0 -115
- package/src/modules/lists/ls-invround.js +0 -57
- package/src/modules/lists/ls-invuser.js +0 -59
- package/src/modules/lists/ls-kbm-bcdkt.js +0 -9
- package/src/modules/lists/ls-kbm-bcqt.js +0 -133
- package/src/modules/lists/ls-kbm-kqhdkd.js +0 -9
- package/src/modules/lists/ls-kbm-lcttgt.js +0 -15
- package/src/modules/lists/ls-kbm-lctttt.js +0 -15
- package/src/modules/lists/ls-kbm-pttct.js +0 -30
- package/src/modules/lists/ls-kbm-tkgtgt.js +0 -33
- package/src/modules/lists/ls-kbm-tmbctc.js +0 -30
- package/src/modules/lists/ls-kehoachdtcp.js +0 -62
- package/src/modules/lists/ls-keyresult.js +0 -118
- package/src/modules/lists/ls-khunghangthanhvien.js +0 -9
- package/src/modules/lists/ls-kygui.js +0 -394
- package/src/modules/lists/ls-label.js +0 -11
- package/src/modules/lists/ls-lesson.js +0 -63
- package/src/modules/lists/ls-lienhe.js +0 -87
- package/src/modules/lists/ls-like-module.js +0 -24
- package/src/modules/lists/ls-link.js +0 -9
- package/src/modules/lists/ls-loaidiem.js +0 -9
- package/src/modules/lists/ls-lock.js +0 -8
- package/src/modules/lists/ls-log.js +0 -43
- package/src/modules/lists/ls-mailaccount.js +0 -59
- package/src/modules/lists/ls-mailreceived.js +0 -79
- package/src/modules/lists/ls-mailschedule.js +0 -116
- package/src/modules/lists/ls-mailsent.js +0 -63
- package/src/modules/lists/ls-mailtemplate.js +0 -48
- package/src/modules/lists/ls-maudanhgia.js +0 -37
- package/src/modules/lists/ls-message2.js +0 -130
- package/src/modules/lists/ls-message2setting.js +0 -60
- package/src/modules/lists/ls-news.js +0 -49
- package/src/modules/lists/ls-newsfeed.js +0 -73
- package/src/modules/lists/ls-nhadat.js +0 -109
- package/src/modules/lists/ls-note.js +0 -10
- package/src/modules/lists/ls-okr.js +0 -64
- package/src/modules/lists/ls-okrdiagram.js +0 -13
- package/src/modules/lists/ls-opportunity.js +0 -92
- package/src/modules/lists/ls-options.js +0 -50
- package/src/modules/lists/ls-parameter.js +0 -29
- package/src/modules/lists/ls-participant.js +0 -102
- package/src/modules/lists/ls-phieudanhgia.js +0 -247
- package/src/modules/lists/ls-phucap.js +0 -9
- package/src/modules/lists/ls-profile.js +0 -9
- package/src/modules/lists/ls-ptthanhtoan.js +0 -44
- package/src/modules/lists/ls-qts-dieuchinh.js +0 -23
- package/src/modules/lists/ls-reason.js +0 -9
- package/src/modules/lists/ls-rpt.js +0 -65
- package/src/modules/lists/ls-rptform.js +0 -62
- package/src/modules/lists/ls-service.js +0 -50
- package/src/modules/lists/ls-session.js +0 -387
- package/src/modules/lists/ls-shortcut.js +0 -14
- package/src/modules/lists/ls-sosanxuat.js +0 -75
- package/src/modules/lists/ls-step.js +0 -9
- package/src/modules/lists/ls-strategicdiagram.js +0 -13
- package/src/modules/lists/ls-strategicgoal.js +0 -30
- package/src/modules/lists/ls-strategickpi.js +0 -117
- package/src/modules/lists/ls-strategicobjective.js +0 -29
- package/src/modules/lists/ls-strategicplan.js +0 -77
- package/src/modules/lists/ls-support.js +0 -30
- package/src/modules/lists/ls-tacgia.js +0 -13
- package/src/modules/lists/ls-task.js +0 -685
- package/src/modules/lists/ls-taskreg.js +0 -52
- package/src/modules/lists/ls-tc.js +0 -9
- package/src/modules/lists/ls-templaterpt.js +0 -67
- package/src/modules/lists/ls-templatevoucher.js +0 -9
- package/src/modules/lists/ls-theloai.js +0 -13
- package/src/modules/lists/ls-tontucthoi.js +0 -43
- package/src/modules/lists/ls-training.js +0 -270
- package/src/modules/lists/ls-transaction.js +0 -66
- package/src/modules/lists/ls-usergroup.js +0 -31
- package/src/modules/lists/ls-vat.js +0 -9
- package/src/modules/lists/ls-waitevent.js +0 -24
- package/src/modules/lists/ls-warranty.js +0 -74
- package/src/modules/lists/ls_hanmucton.js +0 -39
- package/src/modules/lists/ls_spdd_ck.js +0 -36
- package/src/modules/lists/ls_spdd_dk.js +0 -35
- package/src/modules/lists/ls_ytdd_ck.js +0 -52
- package/src/modules/lists/ls_ytdd_dk.js +0 -50
- package/src/modules/lists/sys-attend.js +0 -68
- package/src/modules/lists/sys-follow.js +0 -69
- package/src/modules/lists/sys-right.js +0 -26
- package/src/modules/lists/voice-command.js +0 -8
- package/src/modules/public/app.js +0 -47
- package/src/modules/public/approve.js +0 -67
- package/src/modules/public/callin.js +0 -74
- package/src/modules/public/comment.js +0 -83
- package/src/modules/public/dmnvt.js +0 -70
- package/src/modules/public/dmvt.js +0 -184
- package/src/modules/public/form.js +0 -116
- package/src/modules/public/forminfo.js +0 -13
- package/src/modules/public/group.js +0 -64
- package/src/modules/public/hlink.js +0 -31
- package/src/modules/public/introducecode.js +0 -12
- package/src/modules/public/license.js +0 -46
- package/src/modules/public/listinfo.js +0 -8
- package/src/modules/public/media-webhook.js +0 -9
- package/src/modules/public/partner.js +0 -16
- package/src/modules/public/paymentCallback.js +0 -126
- package/src/modules/public/province.js +0 -10
- package/src/modules/public/ptthanhtoan.js +0 -62
- package/src/modules/public/subscribe.js +0 -22
- package/src/modules/public/support.js +0 -26
- package/src/modules/public/tableinfo.js +0 -13
- package/src/modules/public/trialinfo.js +0 -61
- package/src/modules/public/versioninfo.js +0 -18
- package/src/modules/reports/calc-tinhgiatb.js +0 -34
- package/src/modules/reports/calc-tinhgiathanh.js +0 -116
- package/src/modules/reports/calc-tinhkhauhaots.js +0 -19
- package/src/modules/reports/calc-tinhluong.js +0 -401
- package/src/modules/reports/rp-bangtinhkhauhao.js +0 -74
- package/src/modules/reports/rp-baocaokhachhang.js +0 -93
- package/src/modules/reports/rp-bcdkt.js +0 -226
- package/src/modules/reports/rp-bcintroducebonus.js +0 -41
- package/src/modules/reports/rp-bcqt.js +0 -794
- package/src/modules/reports/rp-bkct.js +0 -366
- package/src/modules/reports/rp-bkshipbook.js +0 -129
- package/src/modules/reports/rp-bkvanchuyen.js +0 -125
- package/src/modules/reports/rp-bkvatra.js +0 -94
- package/src/modules/reports/rp-bkvatvao.js +0 -97
- package/src/modules/reports/rp-cdpsdiem.js +0 -45
- package/src/modules/reports/rp-cdpsdt.js +0 -57
- package/src/modules/reports/rp-cdpskh.js +0 -112
- package/src/modules/reports/rp-cdpstk.js +0 -53
- package/src/modules/reports/rp-chitietchitientheohoadon.js +0 -103
- package/src/modules/reports/rp-chitiettaisan.js +0 -125
- package/src/modules/reports/rp-chitietthutientheohoadon.js +0 -103
- package/src/modules/reports/rp-ckcn.js +0 -40
- package/src/modules/reports/rp-ckdiem.js +0 -28
- package/src/modules/reports/rp-cktk.js +0 -28
- package/src/modules/reports/rp-ckvt.js +0 -36
- package/src/modules/reports/rp-ckvttheokho.js +0 -58
- package/src/modules/reports/rp-ckvttheotg.js +0 -69
- package/src/modules/reports/rp-ckvttt.js +0 -36
- package/src/modules/reports/rp-congviectheobp.js +0 -160
- package/src/modules/reports/rp-congviectheodt.js +0 -155
- package/src/modules/reports/rp-congviectheokh.js +0 -157
- package/src/modules/reports/rp-congviectheonv.js +0 -179
- package/src/modules/reports/rp-congviectheotimeline.js +0 -63
- package/src/modules/reports/rp-ctbanle.js +0 -367
- package/src/modules/reports/rp-ctdanhgianhanvien.js +0 -222
- package/src/modules/reports/rp-cthangbanbitralai.js +0 -55
- package/src/modules/reports/rp-ctmuahang.js +0 -144
- package/src/modules/reports/rp-cttralaihang.js +0 -51
- package/src/modules/reports/rp-databanle.js +0 -68
- package/src/modules/reports/rp-diemthuong.js +0 -11
- package/src/modules/reports/rp-dkcn.js +0 -41
- package/src/modules/reports/rp-dktk.js +0 -25
- package/src/modules/reports/rp-dsnhanviencm.js +0 -237
- package/src/modules/reports/rp-dsnhanvientb.js +0 -233
- package/src/modules/reports/rp-dtbanletheoct.js +0 -207
- package/src/modules/reports/rp-dtbanletheokh.js +0 -201
- package/src/modules/reports/rp-dtbanletheokho.js +0 -199
- package/src/modules/reports/rp-dtbanletheonam.js +0 -198
- package/src/modules/reports/rp-dtbanletheongay.js +0 -187
- package/src/modules/reports/rp-dtbanletheonv.js +0 -215
- package/src/modules/reports/rp-dtbanletheoquy.js +0 -198
- package/src/modules/reports/rp-dtbanletheothang.js +0 -206
- package/src/modules/reports/rp-dtbanletheothungan.js +0 -214
- package/src/modules/reports/rp-dtbanletheovt.js +0 -154
- package/src/modules/reports/rp-dutoanthuchitheodt.js +0 -56
- package/src/modules/reports/rp-getPXC2PNC.js +0 -152
- package/src/modules/reports/rp-getariseofaccountsbymonth.js +0 -32
- package/src/modules/reports/rp-getbtpb.js +0 -81
- package/src/modules/reports/rp-getcashbycashier.js +0 -83
- package/src/modules/reports/rp-getcschietkhau.js +0 -61
- package/src/modules/reports/rp-getdinhmuc4lenhcp.js +0 -69
- package/src/modules/reports/rp-getdinhmuc4pxk.js +0 -83
- package/src/modules/reports/rp-getdk4pht.js +0 -104
- package/src/modules/reports/rp-getdk4pkc.js +0 -159
- package/src/modules/reports/rp-getdttheoca.js +0 -46
- package/src/modules/reports/rp-getinvoice2pay.js +0 -75
- package/src/modules/reports/rp-getinvoice2receive.js +0 -75
- package/src/modules/reports/rp-getinvoice2return.js +0 -69
- package/src/modules/reports/rp-getinvoice2return_bl.js +0 -108
- package/src/modules/reports/rp-getkehoachmh4lenhcp.js +0 -71
- package/src/modules/reports/rp-getkhauhao.js +0 -81
- package/src/modules/reports/rp-getluong.js +0 -91
- package/src/modules/reports/rp-getluongchuyen.js +0 -64
- package/src/modules/reports/rp-getpn2fee.js +0 -84
- package/src/modules/reports/rp-getpn2return.js +0 -66
- package/src/modules/reports/rp-getthanhpham4pnk.js +0 -71
- package/src/modules/reports/rp-getvc2xhd.js +0 -90
- package/src/modules/reports/rp-hangbanbitralai.js +0 -66
- package/src/modules/reports/rp-hangthanhvien.js +0 -32
- package/src/modules/reports/rp-hoadonbanhangtheohantt.js +0 -112
- package/src/modules/reports/rp-hoadonmuahangtheohantt.js +0 -112
- package/src/modules/reports/rp-kcsns.js +0 -225
- package/src/modules/reports/rp-kgchamcong.js +0 -76
- package/src/modules/reports/rp-kqdanhgianhanvien.js +0 -135
- package/src/modules/reports/rp-kqhdkd.js +0 -128
- package/src/modules/reports/rp-lcttgt.js +0 -371
- package/src/modules/reports/rp-lctttt.js +0 -225
- package/src/modules/reports/rp-linkslist.js +0 -63
- package/src/modules/reports/rp-phanbochitienchohoadon.js +0 -161
- package/src/modules/reports/rp-phanbothutienchohoadon.js +0 -160
- package/src/modules/reports/rp-ptbitralai.js +0 -108
- package/src/modules/reports/rp-ptcttct.js +0 -252
- package/src/modules/reports/rp-ptdonhang.js +0 -141
- package/src/modules/reports/rp-pttct.js +0 -383
- package/src/modules/reports/rp-pttctkho.js +0 -226
- package/src/modules/reports/rp-pttctkho2.js +0 -228
- package/src/modules/reports/rp-sctbhxh.js +0 -39
- package/src/modules/reports/rp-sctcnkh.js +0 -174
- package/src/modules/reports/rp-sctdiem.js +0 -33
- package/src/modules/reports/rp-sctdt.js +0 -75
- package/src/modules/reports/rp-sctdtcp.js +0 -200
- package/src/modules/reports/rp-sctluong.js +0 -34
- package/src/modules/reports/rp-sctthuetncn.js +0 -34
- package/src/modules/reports/rp-scttk.js +0 -74
- package/src/modules/reports/rp-sctvt.js +0 -50
- package/src/modules/reports/rp-sctvt_sl.js +0 -50
- package/src/modules/reports/rp-sctvttt.js +0 -50
- package/src/modules/reports/rp-search.js +0 -55
- package/src/modules/reports/rp-socai.js +0 -153
- package/src/modules/reports/rp-socaitk.js +0 -81
- package/src/modules/reports/rp-sochut.js +0 -75
- package/src/modules/reports/rp-sokho.js +0 -130
- package/src/modules/reports/rp-sokhott.js +0 -130
- package/src/modules/reports/rp-sonkbh.js +0 -90
- package/src/modules/reports/rp-sonkc.js +0 -163
- package/src/modules/reports/rp-sonkct.js +0 -91
- package/src/modules/reports/rp-sonkmh.js +0 -89
- package/src/modules/reports/rp-sonktt.js +0 -91
- package/src/modules/reports/rp-soquy.js +0 -96
- package/src/modules/reports/rp-sosanhkhvatt.js +0 -198
- package/src/modules/reports/rp-sotaisan.js +0 -122
- package/src/modules/reports/rp-sotiengui.js +0 -97
- package/src/modules/reports/rp-taodinhmuctudkhoc.js +0 -46
- package/src/modules/reports/rp-thdanhgianhanvien.js +0 -128
- package/src/modules/reports/rp-thgt.js +0 -92
- package/src/modules/reports/rp-thnxt.js +0 -122
- package/src/modules/reports/rp-thnxt_sl.js +0 -98
- package/src/modules/reports/rp-thnxttt.js +0 -97
- package/src/modules/reports/rp-tkbanhangtheogioithieu.js +0 -167
- package/src/modules/reports/rp-tkgioithieukh.js +0 -56
- package/src/modules/reports/rp-tkgtgt.js +0 -159
- package/src/modules/reports/rp-tmbctc.js +0 -304
- package/src/modules/reports/rp-tonghopbanhang.js +0 -154
- package/src/modules/reports/rp-tonghopmuahang.js +0 -66
- package/src/modules/reports/rp-tonghoptralaihang.js +0 -62
- package/src/modules/reports/rp-uoctinhnvl.js +0 -154
- package/src/modules/reports/rp-wallet.js +0 -37
- package/src/modules/reports/rpt-tkdiemtichluy.js +0 -149
- package/src/modules/systems/sys-app.js +0 -532
- package/src/modules/systems/sys-colleague.js +0 -163
- package/src/modules/systems/sys-exportexceltemplate.js +0 -37
- package/src/modules/systems/sys-fieldright.js +0 -36
- package/src/modules/systems/sys-importexceltemplate.js +0 -37
- package/src/modules/systems/sys-labelinfo.js +0 -75
- package/src/modules/systems/sys-license.js +0 -72
- package/src/modules/systems/sys-listinfo.js +0 -98
- package/src/modules/systems/sys-message.js +0 -237
- package/src/modules/systems/sys-moduleinfo.js +0 -43
- package/src/modules/systems/sys-notification.js +0 -103
- package/src/modules/systems/sys-quanhuyen.js +0 -38
- package/src/modules/systems/sys-reportinfo.js +0 -42
- package/src/modules/systems/sys-rptobject.js +0 -37
- package/src/modules/systems/sys-schedule.js +0 -145
- package/src/modules/systems/sys-sysconfig.js +0 -34
- package/src/modules/systems/sys-sysgroup.js +0 -34
- package/src/modules/systems/sys-tableinfo.js +0 -35
- package/src/modules/systems/sys-templatestore.js +0 -60
- package/src/modules/systems/sys-tinhthanh.js +0 -38
- package/src/modules/systems/sys-token.js +0 -38
- package/src/modules/systems/sys-trangthai.js +0 -36
- package/src/modules/systems/sys-trialinfo.js +0 -43
- package/src/modules/systems/sys-user.js +0 -689
- package/src/modules/systems/sys-users.js +0 -123
- package/src/modules/systems/sys-versioninfo.js +0 -34
- package/src/modules/systems/sys-xaphuong.js +0 -38
- package/src/modules/vouchers/vo-bc1.js +0 -541
- package/src/modules/vouchers/vo-bc5.js +0 -356
- package/src/modules/vouchers/vo-bg1.js +0 -193
- package/src/modules/vouchers/vo-bg2.js +0 -241
- package/src/modules/vouchers/vo-bn1.js +0 -704
- package/src/modules/vouchers/vo-bn5.js +0 -356
- package/src/modules/vouchers/vo-dh2.js +0 -303
- package/src/modules/vouchers/vo-dinhmucsx.js +0 -133
- package/src/modules/vouchers/vo-dn0.js +0 -240
- package/src/modules/vouchers/vo-dnm.js +0 -469
- package/src/modules/vouchers/vo-hd1.js +0 -632
- package/src/modules/vouchers/vo-hd2.js +0 -834
- package/src/modules/vouchers/vo-hd3.js +0 -554
- package/src/modules/vouchers/vo-hd7.js +0 -761
- package/src/modules/vouchers/vo-kbbtpb.js +0 -157
- package/src/modules/vouchers/vo-kehoachmh.js +0 -248
- package/src/modules/vouchers/vo-lenhcapphat.js +0 -211
- package/src/modules/vouchers/vo-lenhsx.js +0 -217
- package/src/modules/vouchers/vo-pbl.js +0 -1436
- package/src/modules/vouchers/vo-pc0.js +0 -371
- package/src/modules/vouchers/vo-pc1.js +0 -574
- package/src/modules/vouchers/vo-pc2.js +0 -546
- package/src/modules/vouchers/vo-pc3.js +0 -425
- package/src/modules/vouchers/vo-pc5.js +0 -356
- package/src/modules/vouchers/vo-pdn.js +0 -305
- package/src/modules/vouchers/vo-pdx.js +0 -285
- package/src/modules/vouchers/vo-pht.js +0 -201
- package/src/modules/vouchers/vo-pkc.js +0 -181
- package/src/modules/vouchers/vo-pkh.js +0 -196
- package/src/modules/vouchers/vo-pkk.js +0 -280
- package/src/modules/vouchers/vo-pkt.js +0 -309
- package/src/modules/vouchers/vo-pn1.js +0 -449
- package/src/modules/vouchers/vo-pn2.js +0 -284
- package/src/modules/vouchers/vo-pn3.js +0 -458
- package/src/modules/vouchers/vo-pn5.js +0 -305
- package/src/modules/vouchers/vo-pn6.js +0 -323
- package/src/modules/vouchers/vo-pn9.js +0 -409
- package/src/modules/vouchers/vo-pnc.js +0 -458
- package/src/modules/vouchers/vo-pnh.js +0 -282
- package/src/modules/vouchers/vo-pnk.js +0 -271
- package/src/modules/vouchers/vo-po1.js +0 -447
- package/src/modules/vouchers/vo-ppb.js +0 -159
- package/src/modules/vouchers/vo-pt1.js +0 -481
- package/src/modules/vouchers/vo-pt5.js +0 -359
- package/src/modules/vouchers/vo-ptl.js +0 -172
- package/src/modules/vouchers/vo-purchase_contract.js +0 -286
- package/src/modules/vouchers/vo-pxc.js +0 -471
- package/src/modules/vouchers/vo-pxh.js +0 -225
- package/src/modules/vouchers/vo-pxk.js +0 -287
- package/src/modules/vouchers/vo-qts.js +0 -171
- package/src/modules/vouchers/vo-sale_contract.js +0 -291
- package/src/modules/vouchers/vo-shipbook.js +0 -305
- package/src/modules/vouchers/vo-so1.js +0 -1667
- package/src/modules/vouchers/vo-so2.js +0 -708
- package/src/modules/vouchers/vo-so3.js +0 -784
- package/src/modules/vouchers/vo-so4.js +0 -598
- package/src/modules/vouchers/vo-so5.js +0 -967
- package/src/modules/vouchers/vo-vanchuyen.js +0 -267
- package/src/modules/vouchers/vo-xhd.js +0 -531
- package/src/route.js +0 -650
- package/src/smtpserver.js +0 -48
- package/src/ssl/ca.ca-bundle +0 -67
- package/src/ssl/cert.crt +0 -36
- package/src/ssl/key.pem +0 -28
- package/src/sslConfig.js +0 -44
- package/src/templates/add-file.html +0 -8
- package/src/templates/add-file.pug +0 -9
- package/src/templates/alert task.html +0 -11
- package/src/templates/alert task.pug +0 -12
- package/src/templates/alert warranty.html +0 -15
- package/src/templates/alert warranty.pug +0 -28
- package/src/templates/excels/PN9.xlsx +0 -0
- package/src/templates/excels/hd1.xlsx +0 -0
- package/src/templates/excels/hd2.xlsx +0 -0
- package/src/templates/excels/hd3.xlsx +0 -0
- package/src/templates/excels/lists/account.xlsx +0 -0
- package/src/templates/excels/lists/customer.xlsx +0 -0
- package/src/templates/excels/lists/dmvt.xlsx +0 -0
- package/src/templates/excels/pc1.xlsx +0 -0
- package/src/templates/excels/pkc.xlsx +0 -0
- package/src/templates/excels/pkh.xlsx +0 -0
- package/src/templates/excels/pkt.xlsx +0 -0
- package/src/templates/excels/pn1.xlsx +0 -0
- package/src/templates/excels/pn2.xlsx +0 -0
- package/src/templates/excels/pn3.xlsx +0 -0
- package/src/templates/excels/pn5.xlsx +0 -0
- package/src/templates/excels/pnk.xlsx +0 -0
- package/src/templates/excels/pt1.xlsx +0 -0
- package/src/templates/excels/pxc.xlsx +0 -0
- package/src/templates/excels/pxk.xlsx +0 -0
- package/src/templates/excels/reports/bangtinhkhauhao.xlsx +0 -0
- package/src/templates/excels/reports/bcdkt.xlsx +0 -0
- package/src/templates/excels/reports/bkct.xlsx +0 -0
- package/src/templates/excels/reports/bkvatra.xlsx +0 -0
- package/src/templates/excels/reports/bkvatvao.xlsx +0 -0
- package/src/templates/excels/reports/cdpsdt.xlsx +0 -0
- package/src/templates/excels/reports/cdpskh.xlsx +0 -0
- package/src/templates/excels/reports/cdpstk.xlsx +0 -0
- package/src/templates/excels/reports/chitietchitientheohoadon.xlsx +0 -0
- package/src/templates/excels/reports/chitiettaisan.xlsx +0 -0
- package/src/templates/excels/reports/chitietthutientheohoadon.xlsx +0 -0
- package/src/templates/excels/reports/ctbanle.xlsx +0 -0
- package/src/templates/excels/reports/cthangbanbitralai.xlsx +0 -0
- package/src/templates/excels/reports/ctmuahang.xlsx +0 -0
- package/src/templates/excels/reports/dtbanletheokh.xlsx +0 -0
- package/src/templates/excels/reports/dtbanletheonam.xlsx +0 -0
- package/src/templates/excels/reports/dtbanletheongay.xlsx +0 -0
- package/src/templates/excels/reports/dtbanletheonv.xlsx +0 -0
- package/src/templates/excels/reports/dtbanletheoquy.xlsx +0 -0
- package/src/templates/excels/reports/dtbanletheothang.xlsx +0 -0
- package/src/templates/excels/reports/dtbanletheovt.xlsx +0 -0
- package/src/templates/excels/reports/hangbanbitralai.xlsx +0 -0
- package/src/templates/excels/reports/hoadonbanhangtheohantt.xlsx +0 -0
- package/src/templates/excels/reports/hoadonmuahangtheohantt.xlsx +0 -0
- package/src/templates/excels/reports/kqhdkd.xlsx +0 -0
- package/src/templates/excels/reports/lcttgt.xlsx +0 -0
- package/src/templates/excels/reports/lctttt.xlsx +0 -0
- package/src/templates/excels/reports/pttct.xlsx +0 -0
- package/src/templates/excels/reports/sctcnkh.xlsx +0 -0
- package/src/templates/excels/reports/sctdt.xlsx +0 -0
- package/src/templates/excels/reports/scttk.xlsx +0 -0
- package/src/templates/excels/reports/sctvt.xlsx +0 -0
- package/src/templates/excels/reports/socaitk.xlsx +0 -0
- package/src/templates/excels/reports/sochut.xlsx +0 -0
- package/src/templates/excels/reports/sonkbh.xlsx +0 -0
- package/src/templates/excels/reports/sonkc.xlsx +0 -0
- package/src/templates/excels/reports/sonkct.xlsx +0 -0
- package/src/templates/excels/reports/sonkmh.xlsx +0 -0
- package/src/templates/excels/reports/sonktt.xlsx +0 -0
- package/src/templates/excels/reports/soquy.xlsx +0 -0
- package/src/templates/excels/reports/sotaisan.xlsx +0 -0
- package/src/templates/excels/reports/sotiengui.xlsx +0 -0
- package/src/templates/excels/reports/thnxt.xlsx +0 -0
- package/src/templates/excels/reports/tkgtgt.xlsx +0 -0
- package/src/templates/excels/reports/tonghopbanhang.xlsx +0 -0
- package/src/templates/excels/reports/tonghopmuahang.xlsx +0 -0
- package/src/templates/excels/reports/tonghoptralaihang.xlsx +0 -0
- package/src/templates/imports/cdkh.xlsx +0 -0
- package/src/templates/imports/cdtk.xlsx +0 -0
- package/src/templates/imports/cdvt.xlsx +0 -0
- package/src/templates/imports/contract.xlsx +0 -0
- package/src/templates/imports/dmban.xlsx +0 -0
- package/src/templates/imports/dmkh.xlsx +0 -0
- package/src/templates/imports/dmvt.xlsx +0 -0
- package/src/templates/imports/hd1.xlsx +0 -0
- package/src/templates/imports/hd2.xlsx +0 -0
- package/src/templates/imports/lienhe.xlsx +0 -0
- package/src/templates/imports/pc1.xlsx +0 -0
- package/src/templates/imports/pkt.xlsx +0 -0
- package/src/templates/imports/pn1.xlsx +0 -0
- package/src/templates/imports/pn2.xlsx +0 -0
- package/src/templates/imports/pnk.xlsx +0 -0
- package/src/templates/imports/pt1.xlsx +0 -0
- package/src/templates/order.html +0 -42
- package/src/templates/order.pug +0 -57
- package/src/templates/reply-comment.html +0 -10
- package/src/templates/reply-comment.pug +0 -12
- package/src/templates/reset mat khau.html +0 -17
- package/src/templates/reset mat khau.pug +0 -20
- package/src/templates/rpts/giaoca.html +0 -16
- package/src/templates/rpts/pbl.html +0 -60
- package/src/templates/rpts/pc0.html +0 -165
- package/src/templates/rpts/pc1.html +0 -167
- package/src/templates/rpts/pc2.html +0 -164
- package/src/templates/rpts/pc3.html +0 -161
- package/src/templates/rpts/pdn.html +0 -213
- package/src/templates/rpts/pkh.html +0 -156
- package/src/templates/rpts/pkk.html +0 -214
- package/src/templates/rpts/pkt.html +0 -156
- package/src/templates/rpts/pn1.html +0 -207
- package/src/templates/rpts/pn6.html +0 -178
- package/src/templates/rpts/pnc.html +0 -222
- package/src/templates/rpts/pnk.html +0 -222
- package/src/templates/rpts/pt1.html +0 -160
- package/src/templates/rpts/pxc.html +0 -221
- package/src/templates/rpts/pxk.html +0 -221
- package/src/templates/rpts/reports/bangtinhkhauhao/templates/browser.html +0 -78
- package/src/templates/rpts/reports/bangtinhkhauhao/templates/print.html +0 -49
- package/src/templates/rpts/reports/baocaokhachhang/templates/browser.html +0 -122
- package/src/templates/rpts/reports/baocaokhachhang/templates/print.html +0 -50
- package/src/templates/rpts/reports/bcdkt/templates/browser.html +0 -59
- package/src/templates/rpts/reports/bcdkt/templates/print.html +0 -38
- package/src/templates/rpts/reports/bkct/templates/browser.html +0 -126
- package/src/templates/rpts/reports/bkct/templates/print.html +0 -49
- package/src/templates/rpts/reports/bkct/templates/view.html +0 -90
- package/src/templates/rpts/reports/bkshipbook/templates/browser.html +0 -111
- package/src/templates/rpts/reports/bkshipbook/templates/print.html +0 -71
- package/src/templates/rpts/reports/bkvanchuyen/templates/browser.html +0 -105
- package/src/templates/rpts/reports/bkvanchuyen/templates/print.html +0 -65
- package/src/templates/rpts/reports/bkvatra/templates/browser.html +0 -106
- package/src/templates/rpts/reports/bkvatra/templates/print.html +0 -94
- package/src/templates/rpts/reports/bkvatvao/templates/browser.html +0 -108
- package/src/templates/rpts/reports/bkvatvao/templates/print.html +0 -94
- package/src/templates/rpts/reports/cdpsdt/templates/browser.html +0 -98
- package/src/templates/rpts/reports/cdpsdt/templates/print.html +0 -56
- package/src/templates/rpts/reports/cdpskh/templates/browser.html +0 -101
- package/src/templates/rpts/reports/cdpskh/templates/print.html +0 -57
- package/src/templates/rpts/reports/cdpstk/templates/browser.html +0 -94
- package/src/templates/rpts/reports/cdpstk/templates/print.html +0 -55
- package/src/templates/rpts/reports/chitietchitientheohoadon/templates/browser.html +0 -97
- package/src/templates/rpts/reports/chitietchitientheohoadon/templates/print.html +0 -60
- package/src/templates/rpts/reports/chitiettaisan/templates/browser.html +0 -77
- package/src/templates/rpts/reports/chitiettaisan/templates/print.html +0 -48
- package/src/templates/rpts/reports/chitietthutientheohoadon/templates/browser.html +0 -101
- package/src/templates/rpts/reports/chitietthutientheohoadon/templates/print.html +0 -60
- package/src/templates/rpts/reports/congviectheokh/templates/browser.html +0 -81
- package/src/templates/rpts/reports/congviectheokh/templates/print.html +0 -57
- package/src/templates/rpts/reports/congviectheonv/templates/browser.html +0 -80
- package/src/templates/rpts/reports/congviectheonv/templates/print.html +0 -59
- package/src/templates/rpts/reports/ctbanle/templates/browser.html +0 -136
- package/src/templates/rpts/reports/ctbanle/templates/print.html +0 -74
- package/src/templates/rpts/reports/cthangbanbitralai/templates/browser.html +0 -96
- package/src/templates/rpts/reports/cthangbanbitralai/templates/print.html +0 -59
- package/src/templates/rpts/reports/ctmuahang/templates/browser.html +0 -115
- package/src/templates/rpts/reports/ctmuahang/templates/print.html +0 -55
- package/src/templates/rpts/reports/cttralaihang/templates/browser.html +0 -82
- package/src/templates/rpts/reports/cttralaihang/templates/print.html +0 -57
- package/src/templates/rpts/reports/dtbanletheokh/templates/browser.html +0 -109
- package/src/templates/rpts/reports/dtbanletheokh/templates/print.html +0 -73
- package/src/templates/rpts/reports/dtbanletheonam/templates/browser.html +0 -111
- package/src/templates/rpts/reports/dtbanletheonam/templates/print.html +0 -71
- package/src/templates/rpts/reports/dtbanletheongay/templates/browser.html +0 -112
- package/src/templates/rpts/reports/dtbanletheongay/templates/print.html +0 -72
- package/src/templates/rpts/reports/dtbanletheonv/templates/browser.html +0 -114
- package/src/templates/rpts/reports/dtbanletheonv/templates/print.html +0 -67
- package/src/templates/rpts/reports/dtbanletheoquy/templates/browser.html +0 -104
- package/src/templates/rpts/reports/dtbanletheoquy/templates/print.html +0 -72
- package/src/templates/rpts/reports/dtbanletheothang/templates/browser.html +0 -104
- package/src/templates/rpts/reports/dtbanletheothang/templates/print.html +0 -71
- package/src/templates/rpts/reports/dtbanletheovt/templates/browser.html +0 -101
- package/src/templates/rpts/reports/dtbanletheovt/templates/print.html +0 -63
- package/src/templates/rpts/reports/dutoanthuchitheodt/templates/browser.html +0 -219
- package/src/templates/rpts/reports/dutoanthuchitheodt/templates/print.html +0 -193
- package/src/templates/rpts/reports/hangbanbitralai/templates/browser.html +0 -86
- package/src/templates/rpts/reports/hangbanbitralai/templates/print.html +0 -47
- package/src/templates/rpts/reports/hoadonbanhangtheohantt/templates/browser.html +0 -120
- package/src/templates/rpts/reports/hoadonbanhangtheohantt/templates/print.html +0 -83
- package/src/templates/rpts/reports/hoadonmuahangtheohantt/templates/browser.html +0 -120
- package/src/templates/rpts/reports/hoadonmuahangtheohantt/templates/print.html +0 -83
- package/src/templates/rpts/reports/kcsns/templates/browser.html +0 -26
- package/src/templates/rpts/reports/kqchamcong/templates/browser.html +0 -50
- package/src/templates/rpts/reports/kqchamcong/templates/print.html +0 -33
- package/src/templates/rpts/reports/kqhdkd/templates/browser.html +0 -75
- package/src/templates/rpts/reports/kqhdkd/templates/print.html +0 -40
- package/src/templates/rpts/reports/lcttgt/templates/browser.html +0 -76
- package/src/templates/rpts/reports/lcttgt/templates/print.html +0 -40
- package/src/templates/rpts/reports/lctttt/templates/browser.html +0 -77
- package/src/templates/rpts/reports/lctttt/templates/print.html +0 -40
- package/src/templates/rpts/reports/phanbochitienchohoadon/templates/browser.html +0 -134
- package/src/templates/rpts/reports/phanbothutienchohoadon/templates/browser.html +0 -134
- package/src/templates/rpts/reports/ptbitralai/templates/browser.html +0 -84
- package/src/templates/rpts/reports/ptbitralai/templates/print.html +0 -36
- package/src/templates/rpts/reports/ptcttct/templates/browser.html +0 -145
- package/src/templates/rpts/reports/ptcttct/templates/print.html +0 -86
- package/src/templates/rpts/reports/ptdonhang/templates/browser.html +0 -90
- package/src/templates/rpts/reports/ptdonhang/templates/print.html +0 -42
- package/src/templates/rpts/reports/pttct/templates/browser.html +0 -132
- package/src/templates/rpts/reports/pttct/templates/print.html +0 -38
- package/src/templates/rpts/reports/pttctkho/templates/browser.html +0 -128
- package/src/templates/rpts/reports/pttctkho/templates/print.html +0 -36
- package/src/templates/rpts/reports/pttctkho2/templates/browser.html +0 -125
- package/src/templates/rpts/reports/pttctkho2/templates/print.html +0 -36
- package/src/templates/rpts/reports/sctcnkh/templates/browser.html +0 -141
- package/src/templates/rpts/reports/sctcnkh/templates/print.html +0 -51
- package/src/templates/rpts/reports/sctdt/templates/browser.html +0 -187
- package/src/templates/rpts/reports/sctdt/templates/print.html +0 -58
- package/src/templates/rpts/reports/scttk/templates/browser.html +0 -137
- package/src/templates/rpts/reports/scttk/templates/print.html +0 -49
- package/src/templates/rpts/reports/sctvt/templates/browser.html +0 -130
- package/src/templates/rpts/reports/sctvt/templates/print.html +0 -51
- package/src/templates/rpts/reports/search/templates/browser.html +0 -245
- package/src/templates/rpts/reports/socaitk/templates/browser.html +0 -137
- package/src/templates/rpts/reports/socaitk/templates/print.html +0 -49
- package/src/templates/rpts/reports/sochut/templates/browser.html +0 -75
- package/src/templates/rpts/reports/sochut/templates/print.html +0 -41
- package/src/templates/rpts/reports/sonkbh/templates/browser.html +0 -90
- package/src/templates/rpts/reports/sonkbh/templates/print.html +0 -41
- package/src/templates/rpts/reports/sonkc/templates/browser.html +0 -90
- package/src/templates/rpts/reports/sonkc/templates/print.html +0 -54
- package/src/templates/rpts/reports/sonkct/templates/browser.html +0 -90
- package/src/templates/rpts/reports/sonkct/templates/print.html +0 -41
- package/src/templates/rpts/reports/sonkmh/templates/browser.html +0 -90
- package/src/templates/rpts/reports/sonkmh/templates/print.html +0 -41
- package/src/templates/rpts/reports/sonktt/templates/browser.html +0 -90
- package/src/templates/rpts/reports/sonktt/templates/print.html +0 -41
- package/src/templates/rpts/reports/soquy/templates/browser.html +0 -88
- package/src/templates/rpts/reports/soquy/templates/print.html +0 -48
- package/src/templates/rpts/reports/sotaisan/templates/browser.html +0 -107
- package/src/templates/rpts/reports/sotaisan/templates/print.html +0 -87
- package/src/templates/rpts/reports/sotiengui/templates/browser.html +0 -88
- package/src/templates/rpts/reports/sotiengui/templates/print.html +0 -48
- package/src/templates/rpts/reports/thgt/templates/browser.html +0 -94
- package/src/templates/rpts/reports/thgt/templates/print.html +0 -68
- package/src/templates/rpts/reports/thnxt/templates/browser.html +0 -163
- package/src/templates/rpts/reports/thnxt/templates/print.html +0 -63
- package/src/templates/rpts/reports/tinhgiatb/templates/browser.html +0 -120
- package/src/templates/rpts/reports/tinhgiatb/templates/print.html +0 -57
- package/src/templates/rpts/reports/tinhgiathanh/templates/browser.html +0 -97
- package/src/templates/rpts/reports/tinhgiathanh/templates/print.html +0 -69
- package/src/templates/rpts/reports/tinhkhauhaots/templates/browser.html +0 -73
- package/src/templates/rpts/reports/tinhkhauhaots/templates/print.html +0 -46
- package/src/templates/rpts/reports/tkgtgt/templates/browser.html +0 -73
- package/src/templates/rpts/reports/tkgtgt/templates/print.html +0 -43
- package/src/templates/rpts/reports/tonghopbanhang/templates/browser.html +0 -94
- package/src/templates/rpts/reports/tonghopbanhang/templates/print.html +0 -66
- package/src/templates/rpts/reports/tonghopmuahang/templates/browser.html +0 -85
- package/src/templates/rpts/reports/tonghopmuahang/templates/print.html +0 -49
- package/src/templates/rpts/reports/tonghoptralaihang/templates/browser.html +0 -73
- package/src/templates/rpts/reports/tonghoptralaihang/templates/print.html +0 -45
- package/src/templates/rpts/so1.html +0 -235
- package/src/templates/thong tin dang nhap.html +0 -15
- package/src/templates/thong tin dang nhap.pug +0 -18
- package/src/templates/thu moi gia nhap nhom.html +0 -14
- package/src/templates/thu moi gia nhap nhom.pug +0 -18
- package/src/test/array.js +0 -59
- package/src/test/utils.js +0 -191
- package/src/tools/convertVideo.js +0 -19
- package/src/tools/create_province.js +0 -11191
- package/src/tools/resave.js +0 -123
- package/src/tools/resetPassword.js +0 -45
- package/src/tools/set_px_gia_dd.js +0 -120
- package/src/tools/update.js +0 -116
- package/src/tools/update.min.js +0 -2
- package/src/tools/update_system.js +0 -47
- package/src/viettel-einvoice-example.json +0 -96
- package/src/workers/backupApp.js +0 -127
- package/src/workers/calcGrid.js +0 -102
- package/src/workers/customerOnImport.js +0 -75
- package/src/workers/dmvtOnImport.js +0 -119
- package/src/workers/excelParser.js +0 -107
- package/src/workers/inputWorker.js +0 -52
- package/src/workers/pushNotify.js +0 -134
- package/src/workers/reportWorker.js +0 -58
- package/src/workers/restoreApp.js +0 -280
- package/src/workers/runScript.js +0 -37
- package/src/workers/sendEmail.js +0 -159
- package/src/workers/webhook.js +0 -46
package/package.json
CHANGED
|
@@ -34,12 +34,12 @@ $e$$,$approveData_condition$$),!1}});$approveDatas$$.filter($a$$=>$a$$.approve_u
|
|
|
34
34
|
$ds_nguoi_duyet$$.map($nguoi_duyet$$=>({email:$nguoi_duyet$$,name:$nguoi_duyet$$}));$user_approves$$.joinModel2($obj$$.id_app,Participant,{where:"email",fields:"name"},()=>{Approve.request($user_request$$,$user_approves$$,$title$$,$obj$$,$e$$=>{$e$$&&console.error("error create request approve",$e$$.message)},$update_after_approve$$,$approveData$$.template_content)})}})});$next$$(null,$obj$$)}async sendEmailNotification($user$$,$obj$$,$title$$,$callback$jscomp$0$$,$voucher_options$$){$voucher_options$$||
|
|
35
35
|
($voucher_options$$=(await OptionsModel.findOne({id_app:$obj$$.id_app,id_func:this.name},{option:1}).lean()||{}).option);$voucher_options$$&&$voucher_options$$.send_notification_to_users?async.map($voucher_options$$.send_notification_to_users,($u$$,$callback$$)=>{setImmediate(()=>{global.createNotification($obj$$.user_updated,$u$$.email,$title$$,$title$$,($e$$,$rs$$)=>{$callback$$($e$$,$rs$$)},$obj$$,!0,$user$$.c_token,!0)})},$e$$=>{$callback$jscomp$0$$($e$$)}):$callback$jscomp$0$$()}async import($user$$,
|
|
36
36
|
$id_app$$,$data$$,$callback$jscomp$0$$,$options$$={replace:!0,req:null}){const $ctrl$$=this;let $replace$$=$options$$.replace,$rows_error$$=[];const $listInfo$$=global.getModel("listinfo");let $info$$=await $listInfo$$.findOne({code:$ctrl$$.name.toLowerCase()}).lean();$info$$&&await $listInfo$$.updateModel($info$$,$ctrl$$.model);$data$$=$data$$.filter($row$$=>{let $has_data$$=!1;for(let $key$$ in $row$$)if($row$$[$key$$]){$has_data$$=!0;break}return $has_data$$});$data$$.forEach($r$$=>{delete $r$$.ten_dvcs});
|
|
37
|
-
await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});async.map($data$$,function($row$$,$callback$$){const $row_keys$$=Object.keys($row$$);$row_keys$$.forEach($key$$=>{let $data_type$$=$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase(),$data_value$$=$row$$[$key$$];if($data_value$$&&_.isString($data_value$$)&&("mixed"==$data_type$$||"array"==$data_type$$)&&($data_value
|
|
38
|
-
0==$data_value$$.indexOf("{")))try{$row$$[$key$$]=JSON.parse($data_value$$)}catch($e$$){delete $row$$[$key$$],console.error("Error parse data",$e$$)}});setImmediate(()=>{delete $row$$.__v;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&delete $row$$.ma_dvcs;$id_app$$!=$row$$.id_app&&delete $row$$._id;delete $row$$.id_app;if($replace$$&&$ctrl$$.unique&&0<$ctrl$$.unique.length){let $query$$={};0!=$ctrl$$.require_id_app&&($query$$.id_app=$id_app$$);$ctrl$$.options.unique_imp
|
|
39
|
-
$row$$[$ctrl$$.options.unique_imp]:$ctrl$$.unique.forEach(function($k$$){0<=$row_keys$$.indexOf($k$$)&&($query$$[$k$$]=$row$$[$k$$])});$ctrl$$.model.find($query$$).lean().exec(function($error$$,$rss$$){if(1<$rss$$.length)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng:"+Object.values($query$$).join("-"));setImmediate(()=>{if($error$$)return $callback$$($error$$);if(1===$rss$$.length){let $rs
|
|
40
|
-
$ctrl$$.unique.forEach(function($k$$){$row$$[$k$$]=$rs$$[$k$$]});update($user$$,$ctrl$$,$rs$$._id,$row$$,function($e$$){console.log("updated object...");if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:"Error update data:"+$_e$$})}$callback$$()},"import",$options$$.req)}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");if($e$$){let $_e
|
|
41
|
-
error:$_e$$})}$callback$$()},$row$$._id,$options$$.req)})})}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");setImmediate(()=>{if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:$_e$$})}$callback$$()})},$row$$._id,$options$$.req)})},function($error$$){setImmediate(()=>{console.log("finish import...");if($error$$)return $callback$jscomp$0$$($error$$);
|
|
42
|
-
rows_error:[]}):$callback$jscomp$0$$(null,{rows_imported:$data$$.length-$rows_error$$.length,rows_error:$rows_error$$})})})}}controller.prototype.__proto__=EventEmitter.prototype;
|
|
37
|
+
await $data$$.filter($r$$=>$r$$.ma_dvcs).asyncJoinModel2($id_app$$,global.getModel("dvcs"),{where:{ma_dvcs:"_id"},fields:"ten_dvcs"});async.map($data$$,function($row$$,$callback$$){const $row_keys$$=Object.keys($row$$);$row_keys$$.filter($key$$=>$ctrl$$.model.schema.paths[$key$$]).forEach($key$$=>{let $data_type$$=$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase(),$data_value$$=$row$$[$key$$];if($data_value$$&&_.isString($data_value$$)&&("mixed"==$data_type$$||"array"==$data_type$$)&&($data_value$$=
|
|
38
|
+
$data_value$$.trim(),0==$data_value$$.indexOf("[")||0==$data_value$$.indexOf("{")))try{$row$$[$key$$]=JSON.parse($data_value$$)}catch($e$$){delete $row$$[$key$$],console.error("Error parse data",$e$$)}});setImmediate(()=>{delete $row$$.__v;$row$$.ma_dvcs&&!$row$$.ten_dvcs&&delete $row$$.ma_dvcs;$id_app$$!=$row$$.id_app&&delete $row$$._id;delete $row$$.id_app;if($replace$$&&$ctrl$$.unique&&0<$ctrl$$.unique.length){let $query$$={};0!=$ctrl$$.require_id_app&&($query$$.id_app=$id_app$$);$ctrl$$.options.unique_imp&&
|
|
39
|
+
$row$$[$ctrl$$.options.unique_imp]?$query$$[$ctrl$$.options.unique_imp]=$row$$[$ctrl$$.options.unique_imp]:$ctrl$$.unique.forEach(function($k$$){0<=$row_keys$$.indexOf($k$$)&&($query$$[$k$$]=$row$$[$k$$])});$ctrl$$.model.find($query$$).lean().exec(function($error$$,$rss$$){if(1<$rss$$.length)return $callback$$("Kh\u00f4ng th\u1ec3 c\u1eadp nh\u1eadt \u0111\u1ed1i t\u01b0\u1ee3ng:"+Object.values($query$$).join("-"));setImmediate(()=>{if($error$$)return $callback$$($error$$);if(1===$rss$$.length){let $rs$$=
|
|
40
|
+
$rss$$[0];$row$$.id_app=$rs$$.id_app;$row$$._id=$rs$$._id.toString();$ctrl$$.unique.forEach(function($k$$){$row$$[$k$$]=$rs$$[$k$$]});update($user$$,$ctrl$$,$rs$$._id,$row$$,function($e$$){console.log("updated object...");if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:"Error update data:"+$_e$$})}$callback$$()},"import",$options$$.req)}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");if($e$$){let $_e$$=
|
|
41
|
+
$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:$_e$$})}$callback$$()},$row$$._id,$options$$.req)})})}else create($user$$,$ctrl$$,$row$$,function($e$$){console.log("created new object...");setImmediate(()=>{if($e$$){let $_e$$=$e$$;underscore.isArray($_e$$)||($_e$$=[$e$$]);$rows_error$$.push({row:$row$$,error:$_e$$})}$callback$$()})},$row$$._id,$options$$.req)})},function($error$$){setImmediate(()=>{console.log("finish import...");if($error$$)return $callback$jscomp$0$$($error$$);
|
|
42
|
+
0===$rows_error$$.length?$callback$jscomp$0$$(null,{rows_imported:$data$$.length,rows_error:[]}):$callback$jscomp$0$$(null,{rows_imported:$data$$.length-$rows_error$$.length,rows_error:$rows_error$$})})})}}controller.prototype.__proto__=EventEmitter.prototype;
|
|
43
43
|
const getNextSequence=async function($id_app$$,$ma_ct$$,$field$$,$callback$$,$options$$={}){var $condition_qct_qcts$$={status:!0,field:$field$$,id_app:$id_app$$,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$ma_ct$$,$options:"i"}},{cac_ma_ct:$ma_ct$$.toLowerCase()},{ma_ct:$ma_ct$$.toUpperCase()}]}]};$options$$.id_qct&&($condition_qct_qcts$$._id=$options$$.id_qct);if($options$$.ngay_ct){let $start_date$$=moment($options$$.ngay_ct).startOf("date").toDate(),$end_date$$=moment($options$$.ngay_ct).endOf("date").toDate();
|
|
44
44
|
$condition_qct_qcts$$.$and.push({$or:[{tu_ngay:null},{tu_ngay:{$lte:$end_date$$}}]});$condition_qct_qcts$$.$and.push({$or:[{den_ngay:null},{den_ngay:{$gte:$start_date$$}}]})}$options$$.toObject&&($options$$=$options$$.toObject());$condition_qct_qcts$$=await dmqct.find($condition_qct_qcts$$).lean();const $keys$$=Object.keys($options$$),$qct$$=$condition_qct_qcts$$.find($qct$$=>{if($qct$$.dieu_kien&&0<$keys$$.length)try{let $str_func$$=$qct$$.dieu_kien;if(0<=$str_func$$.indexOf("async "))return!1;0!==
|
|
45
45
|
$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return evalute($str_func$$,{...$options$$,master:{...$options$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu",$e$$,$qct$$.dieu_kien),!1}else return!0});counter.getNextSequence($id_app$$,$ma_ct$$,$qct$$?$qct$$._id.toString():$field$$,function($error$$,$rs$jscomp$0$$){if($error$$)console.error("auto create code for",$ma_ct$$,$field$$,$error$$),$callback$$($error$$);else{if($qct$$){let $tien_to$$=$qct$$.tien_to||
|
|
@@ -189,30 +189,32 @@ async function createIdRef($model$$,$data$$){$model$$=Object.values($model$$.sch
|
|
|
189
189
|
mongoose.models[$modelRef_modelRefName$$.toLowerCase()])?($localField_obj$$=await $modelRef_modelRefName$$.findOne({id_app:$data$$.id_app,[$foreignField$$]:$data$$[$localField_obj$$]}).lean(),$data$$[$namePath$$]=$localField_obj$$?$localField_obj$$._id.toString():null):$data$$[$namePath$$]=null:$data$$[$namePath$$]=null;$resove$$($path$$)})})))}catch($e2$$){return console.error("error create ref data",$e2$$),null}}
|
|
190
190
|
async function create($user$jscomp$0$$,$ctrl$$,$data$$,$callback$jscomp$1$$,$id_be_supply_by_user$$,$req$$){try{const $model$$=$ctrl$$.model,$voucher_options$$=(await OptionsModel.findOne({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name}).lean()||{}).option,$schema_paths$$=$model$$.schema.paths;let $v_data$$;try{$v_data$$=await asyncBodyToJson($data$$,$ctrl$$,$user$jscomp$0$$.current_id_app,$voucher_options$$)}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}underscore.has($schema_paths$$,
|
|
191
191
|
"ma_ct")&&$ctrl$$.options.isVoucher&&($v_data$$.ma_ct=$ctrl$$.name.toUpperCase());if($ctrl$$.options.requireRecaptchaToken){if(!$v_data$$["g-recaptcha-response"])return $callback$jscomp$1$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u g-recaptcha-response");try{await permission.verifyReCaptcha($v_data$$["g-recaptcha-response"])}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}}if(0>global.configs.admins.indexOf($user$jscomp$0$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;
|
|
192
|
-
$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($v_data$$,{action:"create",user:$user$jscomp$0$$}));if($requireOtp$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$v_data$$["otp-id"],$v_data$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}
|
|
193
|
-
$
|
|
194
|
-
$
|
|
195
|
-
$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("
|
|
196
|
-
{$gte:$tu_ngay$$,$lte:$den_ngay$$}}$model$$.findOne($query_check$$,{so_ct:1}).lean().exec(($e$jscomp$0$$,$rs$$)=>{setImmediate(()=>{if($rs$$){let $msgError$$="S\u1ed1 ch\u1ee9ng t\u1eeb "+$obj$jscomp$0$$.so_ct+
|
|
197
|
-
$callback$$()};let $File$$=global.getModel("file"),$Support$$=global.getModel("support");async.waterfall([function($callback$$){setImmediate(function(){permission.hasRight($obj$jscomp$0$$.id_app
|
|
198
|
-
$obj$jscomp$0$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()},{data:$data$$}):$callback$$()})})},{data:$obj$jscomp$0$$,notNeedRight:$ctrl$$.options.notNeedRight})})}
|
|
199
|
-
let $_options_qct$$;$_options_qct$$=$obj
|
|
200
|
-
$qct$$.dieu_kien;0!==$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return 0<$str_func$$.indexOf("async ")?!1:evalute($str_func$$,{...$_options_qct$$,master:{...$_options_qct$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu"
|
|
201
|
-
$ctrl$$.name,$field$$,function($e$$,$rs$$){if($e$$)return $cb$$();$obj
|
|
202
|
-
$count$$)},function($callback$$){getNextSequence($obj$jscomp$0$$.id_app,$ctrl$$.name,"so_ct",function($e$$,$rs$$){setImmediate(()=>{if($e$$)return $callback$$($e$$);$obj$jscomp$0$$.so_ct=$rs$$.so_ct;$checkVoucherNumber$$($error$$=>{$error$$?9<=$count$$?$callback$$($error$$):($count$$++,$callback$$()):($count$$=
|
|
203
|
-
"ma_dvcs")&&"dvcs"!==$ctrl$$.name)if($obj$jscomp$0$$.ma_dvcs)if(global.mongoose.Types.ObjectId.isValid($obj$jscomp$0$$.ma_dvcs)){let $_id_dvcs$$=global.mongoose.Types.ObjectId($obj$jscomp$0$$.ma_dvcs);await dvcs.findOne({_id:$_id_dvcs$$})?$callback$$():dvcs.create({_id:$_id_dvcs$$,ma_dvcs:"IMPORTED",
|
|
204
|
-
$rs$$){setImmediate(()=>{$rs$$&&($obj$jscomp$0$$.ma_dvcs=$rs$$._id.toString());$callback$$()})});else $callback$$()})},$callback$$=>{$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$0$$,($e$jscomp$0
|
|
205
|
-
{if($error$$){let $msgError$$=$error$$;if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else{if($id_be_supply_by_user$$&&global.mongoose.Types.ObjectId.isValid($id_be_supply_by_user$$)){let $_id$$=
|
|
206
|
-
$ctrl$$.unique,$obj$jscomp$0$$,$ctrl$$.replaceIfExists,async($error$jscomp$1$$,$kq$$)=>{setImmediate(async()=>{if($error$jscomp$1$$||$kq$$){let $msgError$$=$error$jscomp$1$$||ERR_ALREADY_EXIST;console.error($msgError$$,$obj$jscomp$0$$);if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0
|
|
207
|
-
$ctrl$$.keyValues[$k$$];Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$jscomp$0$$[$model_path$$]&&underscore.isArray($obj$jscomp$0$$[$model_path$$])).forEach($model_path$$=>{$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&
|
|
208
|
-
$obj$jscomp$0$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>{$detail$$[$path$$]=$obj$jscomp$0$$[$path$$]})})});await createIdRef($model$$,$obj$jscomp$0$$);$ctrl$$.saving&&await $ctrl$$.saving($user$jscomp$0$$,$obj$jscomp$0$$);$ctrl$$.emit("saving",$obj$jscomp$0$$)
|
|
209
|
-
0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&console.error($e$$);$callback$$($msgErrors$$)});
|
|
210
|
-
$err$$,{_id:$obj_created$$._id.toString()})}),$ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgErrors$$=$msgErrors$$+"\n"+$e$$);$callback$$($msgErrors$$)});else $callback$$($msgErrors$$);
|
|
211
|
-
$req$$)}),$ctrl$$.emit("saved",$obj_created$$),$ctrl$$.emit("created",$obj_created$$),$obj_created$$=$obj_created$$.toObject(),runWebhooks($ctrl$$,$obj_created$$,"ADD",$voucher_options$$),$req$$&&pushNotification($ctrl$$,$obj_created$$,"new",null,null,{exclude_token:($req$$.query||
|
|
212
|
-
$obj_created$$)})},{req:$req$$});else $callback$$(null,{_id:$obj_created$$._id.toString()})})})})})}})})})},function($obj$$,$callback$$){$ctrl$$.requestApprove($user$jscomp$0$$.current_app_info,$user$jscomp$0$$,$obj$$,$callback$$,$voucher_options$$)},function($obj$$,$callback$$){setImmediate(function(){$obj$$.collection_name
|
|
213
|
-
collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>{$e$$&&console.error($e$$)})}),delete $obj$$.exfields.__files__);$obj$$.exfields&&$obj$$.exfields.__supports__&&($obj$$.exfields.__supports__.forEach($_file$$=>{$Support$$.findOneAndUpdate({_id:$_file$$._id},{id_link:$obj$$._id.toString(),collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>
|
|
214
|
-
{if($error$$)return $callback$$($error$$);if($
|
|
215
|
-
$
|
|
192
|
+
$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($v_data$$,{action:"create",user:$user$jscomp$0$$}));if($requireOtp$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$v_data$$["otp-id"],$v_data$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}if($ctrl$$.dynamicCreating)try{$v_data$$=await new Promise(($resolve$$,$reject$$)=>{try{$ctrl$$.dynamicCreating($user$jscomp$0$$,$v_data$$,function($error$$,$v_data$$){if($error$$)return $reject$$($error$$);
|
|
193
|
+
$resolve$$($v_data$$)})}catch($e$$){return $reject$$($e$$)}})}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}const $obj$jscomp$0$$=new $model$$;underscore.has($schema_paths$$,"exfields")&&($obj$jscomp$0$$.exfields=$v_data$$.exfields||{});for(let $f$$ in $v_data$$)underscore.has($schema_paths$$,$f$$)&&($obj$jscomp$0$$.set($f$$,$v_data$$[$f$$]),"exfields"!==$f$$||$obj$jscomp$0$$.exfields||($obj$jscomp$0$$.exfields={}));!0===underscore.has($schema_paths$$,"id_app")&&($obj$jscomp$0$$.id_app=
|
|
194
|
+
$user$jscomp$0$$.current_id_app);const $checkVoucherNumber$$=$callback$$=>{underscore.has($model$$.schema.paths,"ngay_ct")&&$obj$jscomp$0$$.ngay_ct?OptionsModel.findOne({id_app:$obj$jscomp$0$$.id_app,id_func:$ctrl$$.name},{option:1}).lean().exec(($e$jscomp$1$$,$rs$jscomp$0$$)=>{setImmediate(()=>{if($rs$jscomp$0$$&&$rs$jscomp$0$$.option&&$rs$jscomp$0$$.option.check_so_ct&&"0"!==$rs$jscomp$0$$.option.check_so_ct){let $query_check$$={id_app:$obj$jscomp$0$$.id_app,so_ct:$obj$jscomp$0$$.so_ct},$tu_ngay$$,
|
|
195
|
+
$den_ngay$$;switch($rs$jscomp$0$$.option.check_so_ct){case "1":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("day").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("day").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "2":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("month").toDate();$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("month").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "3":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("quarter").toDate();
|
|
196
|
+
$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("quarter").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$};break;case "8":$tu_ngay$$=moment($obj$jscomp$0$$.ngay_ct).startOf("year").toDate(),$den_ngay$$=moment($obj$jscomp$0$$.ngay_ct).endOf("year").toDate(),$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$den_ngay$$}}$model$$.findOne($query_check$$,{so_ct:1}).lean().exec(($e$jscomp$0$$,$rs$$)=>{setImmediate(()=>{if($rs$$){let $msgError$$="S\u1ed1 ch\u1ee9ng t\u1eeb "+$obj$jscomp$0$$.so_ct+
|
|
197
|
+
" \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c";if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else $callback$$()})})}else $callback$$()})}):$callback$$()};let $File$$=global.getModel("file"),$Support$$=global.getModel("support");async.waterfall([function($callback$$){setImmediate(function(){permission.hasRight($obj$jscomp$0$$.id_app,
|
|
198
|
+
$user$jscomp$0$$.email,$ctrl$$.module,"add",function($error$jscomp$0$$,$hr$$,$c_app$$){setImmediate(()=>{if($error$jscomp$0$$||!$hr$$)return $callback$$($error$jscomp$0$$);$ctrl$$.checkData($c_app$$,$obj$jscomp$0$$,$e$$=>{if($e$$)return $callback$$($e$$);$ctrl$$.creating?$ctrl$$.creating($user$jscomp$0$$,$obj$jscomp$0$$,function($error$$,$obj$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)},{data:$data$$}):$callback$$(null,$obj$jscomp$0$$)})})},{data:$obj$jscomp$0$$,notNeedRight:$ctrl$$.options.notNeedRight})})},
|
|
199
|
+
($obj$$,$callback$$)=>{setImmediate(()=>{var $condition_qct$jscomp$1_ma_ct$$=$ctrl$$.name;$condition_qct$jscomp$1_ma_ct$$={status:!0,id_app:$obj$$.id_app,$and:[{$or:[{ma_ct:"#",ma_ct_khac:{$regex:$condition_qct$jscomp$1_ma_ct$$,$options:"i"}},{cac_ma_ct:$condition_qct$jscomp$1_ma_ct$$.toLowerCase()},{ma_ct:$condition_qct$jscomp$1_ma_ct$$.toUpperCase()}]}]};let $_options_qct$$;$_options_qct$$=$obj$$.toObject?$obj$$.toObject():{...$obj$$};let $keys_options$$=Object.keys($_options_qct$$);dmqct.find($condition_qct$jscomp$1_ma_ct$$).lean().exec(($e$jscomp$0$$,
|
|
200
|
+
$rs$jscomp$0$$)=>{setImmediate(()=>{let $qcts$$=($rs$jscomp$0$$||[]).filter($qct$$=>"so_ct"!==$qct$$.field&&!$obj$$[$qct$$.field]&&underscore.has($model$$.schema.paths,$qct$$.field));$qcts$$=$qcts$$.filter($qct$$=>{if($qct$$.dieu_kien&&0<$keys_options$$.length)try{let $str_func$$=$qct$$.dieu_kien;0!==$str_func$$.indexOf("return ")&&($str_func$$=`return ${$str_func$$}`);return 0<$str_func$$.indexOf("async ")?!1:evalute($str_func$$,{...$_options_qct$$,master:{...$_options_qct$$},moment,numeral})}catch($e$$){return console.error("Error find quyen chung tu",
|
|
201
|
+
$e$$.message,$qct$$.dieu_kien),!1}else return!0});async.map($qcts$$,($qct$$,$cb$$)=>{setImmediate(()=>{let $field$$=$qct$$.field,$_options$$={...$_options_qct$$};$_options$$.id_qct=$qct$$._id.toString();getNextSequence($obj$$.id_app,$ctrl$$.name,$field$$,function($e$$,$rs$$){if($e$$)return $cb$$();$obj$$[$field$$]=$rs$$[$field$$];$cb$$()},$_options$$)})},()=>{setImmediate(()=>{$callback$$()})})})})})},$callback$jscomp$0$$=>{setImmediate(function(){if(!0===underscore.has($model$$.schema.paths,"so_ct"))if($obj$jscomp$0$$.so_ct&&
|
|
202
|
+
$obj$jscomp$0$$.so_ct.toUpperCase()!==$ctrl$$.name.toUpperCase())$checkVoucherNumber$$($error$$=>{$callback$jscomp$0$$($error$$)});else{let $count$$=0;async.whilst(function($cb$$){$cb$$(null,10>$count$$)},function($callback$$){getNextSequence($obj$jscomp$0$$.id_app,$ctrl$$.name,"so_ct",function($e$$,$rs$$){setImmediate(()=>{if($e$$)return $callback$$($e$$);$obj$jscomp$0$$.so_ct=$rs$$.so_ct;$checkVoucherNumber$$($error$$=>{$error$$?9<=$count$$?$callback$$($error$$):($count$$++,$callback$$()):($count$$=
|
|
203
|
+
99999,$callback$$())})})},$obj$jscomp$0$$)},function($err$$){$callback$jscomp$0$$($err$$)})}else $callback$jscomp$0$$()})},function($callback$$){setImmediate(async()=>{if(underscore.has($model$$.schema.paths,"ma_dvcs")&&"dvcs"!==$ctrl$$.name)if($obj$jscomp$0$$.ma_dvcs)if(global.mongoose.Types.ObjectId.isValid($obj$jscomp$0$$.ma_dvcs)){let $_id_dvcs$$=global.mongoose.Types.ObjectId($obj$jscomp$0$$.ma_dvcs);await dvcs.findOne({_id:$_id_dvcs$$})?$callback$$():dvcs.create({_id:$_id_dvcs$$,ma_dvcs:"IMPORTED",
|
|
204
|
+
ten_dvcs:"Imported"},$e$$=>{setImmediate(()=>{$e$$&&console.error("Can't import dvcs",$e$$);$callback$$()})})}else $callback$$();else dvcs.findOne({id_app:$obj$jscomp$0$$.id_app,status:!0}).lean().exec(function($e$$,$rs$$){setImmediate(()=>{$rs$$&&($obj$jscomp$0$$.ma_dvcs=$rs$$._id.toString());$callback$$()})});else $callback$$()})},$callback$$=>{$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$0$$,($e$jscomp$0$$,
|
|
205
|
+
$obj$$)=>{if($e$jscomp$0$$)return $callback$$($e$jscomp$0$$);setImmediate(()=>{$obj$$.user_created=$user$jscomp$0$$.email;$obj$$.user_updated=$user$jscomp$0$$.email;validate($obj$$,async $error$$=>{setImmediate(async()=>{if($error$$){let $msgError$$=$error$$;if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)});else $callback$$($msgError$$)}else{if($id_be_supply_by_user$$&&global.mongoose.Types.ObjectId.isValid($id_be_supply_by_user$$)){let $_id$$=
|
|
206
|
+
global.mongoose.Types.ObjectId($id_be_supply_by_user$$);$obj$$._id=$_id$$;await $model$$.deleteOne({_id:$_id$$})}$callback$$()}})})})})},function($callback$$){setImmediate(function(){isExists($model$$,$ctrl$$.unique,$obj$jscomp$0$$,$ctrl$$.replaceIfExists,async($error$jscomp$1$$,$kq$$)=>{setImmediate(async()=>{if($error$jscomp$1$$||$kq$$){let $msgError$$=$error$jscomp$1$$||ERR_ALREADY_EXIST;console.error($msgError$$,$obj$jscomp$0$$);if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,
|
|
207
|
+
$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$({error:$msgError$$,code:ERR_ALREADY_EXIST_CODE})});else $callback$$({error:$msgError$$,code:ERR_ALREADY_EXIST_CODE})}else{for(let $k$$ in $ctrl$$.keyValues)$obj$jscomp$0$$[$k$$]=$ctrl$$.keyValues[$k$$];Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$jscomp$0$$[$model_path$$]&&underscore.isArray($obj$jscomp$0$$[$model_path$$])).forEach($model_path$$=>{$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&
|
|
208
|
+
Object.keys($model$$.schema.paths[$model_path$$].schema.paths).filter($path$$=>"line"!==$path$$&&"_id"!==$path$$&&"__v"!==$path$$&&0<=fields_sync_master_detail.indexOf($path$$)).forEach($path$$=>{$obj$jscomp$0$$[$path$$]&&$obj$jscomp$0$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>{$detail$$[$path$$]=$obj$jscomp$0$$[$path$$]})})});await createIdRef($model$$,$obj$jscomp$0$$);$ctrl$$.saving&&await $ctrl$$.saving($user$jscomp$0$$,$obj$jscomp$0$$);$ctrl$$.emit("saving",$obj$jscomp$0$$);
|
|
209
|
+
$obj$jscomp$0$$.save(function($error$jscomp$0$$,$obj_created$$){setImmediate(()=>{if($error$jscomp$0$$){let $msgErrors$$=[];for(let $k$$ in $error$jscomp$0$$.errors)$msgErrors$$.push($error$jscomp$0$$.errors[$k$$].message);0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&console.error($e$$);$callback$$($msgErrors$$)});
|
|
210
|
+
else $callback$$($msgErrors$$)}else postData($obj_created$$,$ctrl$$,function($msgErrors$$){setImmediate(()=>{if($msgErrors$$)if($model$$.deleteOne({_id:$obj_created$$._id.toString()},$err$$=>{$err$$&&console.error("Error remove obj when has error post data:",$err$$,{_id:$obj_created$$._id.toString()})}),$ctrl$$.options.onErrorCreating)$ctrl$$.options.onErrorCreating($user$jscomp$0$$,$obj$jscomp$0$$,$e$$=>{$e$$&&($msgErrors$$=$msgErrors$$+"\n"+$e$$);$callback$$($msgErrors$$)});else $callback$$($msgErrors$$);
|
|
211
|
+
else if($req$$&&$req$$.header&&setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name,action:"ADD",data:{id:$obj$jscomp$0$$._id.toString(),data:$obj$jscomp$0$$}},$user$jscomp$0$$.email,$req$$.header("user-agent"),$req$$)}),$ctrl$$.emit("saved",$obj_created$$),$ctrl$$.emit("created",$obj_created$$),$obj_created$$=$obj_created$$.toObject(),runWebhooks($ctrl$$,$obj_created$$,"ADD",$voucher_options$$),$req$$&&pushNotification($ctrl$$,$obj_created$$,"new",null,null,{exclude_token:($req$$.query||
|
|
212
|
+
{}).access_token}),$ctrl$$.cacheData($obj_created$$),$req$$&&!1!==($req$$.query||{}).return_data)$ctrl$$.onView($user$jscomp$0$$,[$obj_created$$],$error$$=>{setImmediate(()=>{if($error$$)return $callback$$($error$$);$callback$$(null,$obj_created$$)})},{req:$req$$});else $callback$$(null,{_id:$obj_created$$._id.toString()})})})})})}})})})},function($obj$$,$callback$$){$ctrl$$.requestApprove($user$jscomp$0$$.current_app_info,$user$jscomp$0$$,$obj$$,$callback$$,$voucher_options$$)},function($obj$$,$callback$$){setImmediate(function(){$obj$$.collection_name=
|
|
213
|
+
$ctrl$$.collection_name;$obj$$.exfields&&$obj$$.exfields.__files__&&($obj$$.exfields.__files__.forEach($_file$$=>{$File$$.findOneAndUpdate({_id:$_file$$._id},{id_link:$obj$$._id.toString(),collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>{$e$$&&console.error($e$$)})}),delete $obj$$.exfields.__files__);$obj$$.exfields&&$obj$$.exfields.__supports__&&($obj$$.exfields.__supports__.forEach($_file$$=>{$Support$$.findOneAndUpdate({_id:$_file$$._id},{id_link:$obj$$._id.toString(),collection_link:$ctrl$$.collection_name}).lean().exec($e$$=>
|
|
214
|
+
{console.error($e$$)})}),delete $obj$$.exfields.__supports__);if($ctrl$$.created)$ctrl$$.created($user$jscomp$0$$,$obj$$,function($error$jscomp$0$$,$rs$$){setImmediate(()=>{if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);if($ctrl$$.dynamicCreated)$ctrl$$.dynamicCreated($user$jscomp$0$$,$rs$$,function($error$$){if($error$$)return $callback$$($error$$);$req$$&&$req$$.uploadFile?($error$$="<html><title>OK</title><body>"+JSON.stringify($rs$$)+"</body></html>",$callback$$(null,$error$$)):$callback$$(null,
|
|
215
|
+
$rs$$)});else if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($rs$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$rs$$)})});else if($ctrl$$.dynamicCreated)$ctrl$$.dynamicCreated($user$jscomp$0$$,$obj$$,function($error$jscomp$46_html$$){if($error$jscomp$46_html$$)return $callback$$($error$jscomp$46_html$$);$req$$&&$req$$.uploadFile?($error$jscomp$46_html$$="<html><title>OK</title><body>"+JSON.stringify($obj$$)+"</body></html>",$callback$$(null,
|
|
216
|
+
$error$jscomp$46_html$$)):$callback$$(null,$obj$$)});else if($req$$&&$req$$.uploadFile){let $html$$="<html><title>OK</title><body>"+JSON.stringify($obj$$)+"</body></html>";$callback$$(null,$html$$)}else $callback$$(null,$obj$$)})}],($e$jscomp$145_name_cached$$,$rs$$)=>{$e$jscomp$145_name_cached$$?(console.error($e$jscomp$145_name_cached$$),$callback$jscomp$1$$($e$jscomp$145_name_cached$$)):($e$jscomp$145_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$145_name_cached$$+=
|
|
217
|
+
$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$145_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),$callback$jscomp$1$$($e$$)}}
|
|
216
218
|
controller.prototype.create=function(){let $name$$=this.name,$ctrl$$=this;this.router.route(this.route_name).post(function($req$$,$res$$){let $session$$=$req$$.session;if(!0===$session$$["creating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["creating_"+$name$$]=!0;let $body$$=$req$$.body;if(!$body$$)return $res$$.status(411).send({error:"Kh\u00f4ng c\u00f3 n\u1ed9i dung c\u1ea7n l\u01b0u"});$req$$.files&&0<underscore.keys($req$$.files).length&&
|
|
217
219
|
("JSON"!=$body$$.return&&($req$$.uploadFile=!0),underscore.extend($body$$,$req$$.files));create($req$$.user,$ctrl$$,$body$$,($e$$,$rs$$)=>{setImmediate(()=>{$session$$["creating_"+$name$$]=!1;if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});!1===$req$$.query.return_data?$res$$.send({_id:$rs$$._id.toString()}):$res$$.send($rs$$)})},null,$req$$)})};
|
|
218
220
|
controller.prototype.quickCreate=function(){let $model$$=this.model,$name$$=this.name,$ctrl$$=this,$createFromTemplate$$=async($req$$,$res$$,$body$jscomp$4_query$$)=>{let $session$$=$req$$.session;if(!0===$session$$["creating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["creating_"+$name$$]=!0;if(!$body$jscomp$4_query$$){$body$jscomp$4_query$$=$req$$.params.template_code;if(!$body$jscomp$4_query$$)return $session$$["creating_"+$name$$]=
|
|
@@ -220,41 +222,43 @@ controller.prototype.quickCreate=function(){let $model$$=this.model,$name$$=this
|
|
|
220
222
|
{};delete $body$jscomp$4_query$$.so_ct;delete $body$jscomp$4_query$$.ngay_ct;delete $body$jscomp$4_query$$.user_created;delete $body$jscomp$4_query$$.date_created;delete $body$jscomp$4_query$$.user_updated;delete $body$jscomp$4_query$$.date_updated;delete $body$jscomp$4_query$$._id;delete $body$jscomp$4_query$$.pkey;delete $body$jscomp$4_query$$.__v;let $_data$$=$req$$.query;$req$$.body&&($_data$$=Object.assign($_data$$,$req$$.body));for(let $key$$ in $_data$$)$_data$$[$key$$]&&"access_token"!==$key$$&&
|
|
221
223
|
"token"!==$key$$&&"_id"!==$key$$&&(underscore.has($model$$.schema.paths,$key$$)&&($body$jscomp$4_query$$[$key$$]=$_data$$[$key$$]),$body$jscomp$4_query$$.details&&$body$jscomp$4_query$$.details.forEach($d$$=>{$d$$[$key$$]=$_data$$[$key$$]}));create($req$$.user,$ctrl$$,$body$jscomp$4_query$$,($e$$,$rs$$)=>{setImmediate(()=>{$session$$["creating_"+$name$$]=!1;if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)})},
|
|
222
224
|
null,$req$$)};this.router.route(`${this.route_name}/quickcreate/:template_code`).get(function($req$$,$res$$){$createFromTemplate$$($req$$,$res$$)});this.router.route(`${this.route_name}/quickcreate/:template_code`).post(function($req$$,$res$$){$createFromTemplate$$($req$$,$res$$)})};
|
|
223
|
-
const update=async function($user$jscomp$0$$,$ctrl$$,$id$$,$data$jscomp$
|
|
224
|
-
{}).option;let $current_obj$$;if($ctrl$$.options.requireRecaptchaToken){if(!$data$jscomp$
|
|
225
|
-
($requireOtp$$=$requireOtp$$($data$jscomp$
|
|
226
|
-
if(!$obj$$)return $callback$$("Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");underscore.has($schema_paths$$,"exfields")&&($obj$$.exfields=$obj$$.exfields||{});const $old_obj$$=$obj$$.toObject();$current_obj$$=_.cloneDeep($old_obj$$);const $data_keys$$=Object.keys($data$jscomp$
|
|
227
|
-
$user$jscomp$0$$.email,$module$$,"update",function($error$$,$hr$$,$c_app$$){setImmediate(()=>{if($hr$$)$ctrl$$.checkData($c_app$$,{...$data$jscomp$
|
|
228
|
-
"so_ct")&&$obj$$.ngay_ct&&$data$jscomp$
|
|
225
|
+
const update=async function($user$jscomp$0$$,$ctrl$$,$id$$,$data$jscomp$1$$,$callback$jscomp$1$$,$action$jscomp$0$$,$req$$){delete $data$jscomp$1$$.__v;try{const $model$$=$ctrl$$.model,$unique$$=$ctrl$$.unique,$module$$=$ctrl$$.module,$schema_paths$$=$model$$.schema.paths;underscore.has($schema_paths$$,"ma_ct")&&$ctrl$$.options.isVoucher&&($data$jscomp$1$$.ma_ct=$ctrl$$.name.toUpperCase());const $voucher_options$$=(await OptionsModel.findOne({id_app:$user$jscomp$0$$.current_id_app,id_func:$ctrl$$.name}).lean()||
|
|
226
|
+
{}).option;let $current_obj$$;if($ctrl$$.options.requireRecaptchaToken){if(!$data$jscomp$1$$["g-recaptcha-response"])return $callback$jscomp$1$$("Ch\u1ee9c n\u0103ng n\u00e0y y\u00eau c\u1ea7u g-recaptcha-response");try{await permission.verifyReCaptcha($data$jscomp$1$$["g-recaptcha-response"])}catch($e$$){return $callback$jscomp$1$$($e$$.message||$e$$.error||$e$$)}}if(0>global.configs.admins.indexOf($user$jscomp$0$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&
|
|
227
|
+
($requireOtp$$=$requireOtp$$($data$jscomp$1$$,{action:"update",_id:$id$$,user:$user$jscomp$0$$}));if($requireOtp$$)try{await permission.verifyOTP($user$jscomp$0$$.email,$data$jscomp$1$$["otp-id"],$data$jscomp$1$$["otp-code"])}catch($e$$){return $callback$jscomp$1$$({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}async.waterfall([function($callback$$){setImmediate(function(){$model$$.findOne({_id:$id$$}).exec(function($error$$,$obj$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);
|
|
228
|
+
if(!$obj$$)return $callback$$("Kh\u00f4ng th\u1ec3 t\u00ecm th\u1ea5y \u0111\u1ed1i t\u01b0\u1ee3ng n\u00e0y");underscore.has($schema_paths$$,"exfields")&&($obj$$.exfields=$obj$$.exfields||{});const $old_obj$$=$obj$$.toObject();$current_obj$$=_.cloneDeep($old_obj$$);const $data_keys$$=Object.keys($data$jscomp$1$$);for(let $key$$ in $old_obj$$)0>$data_keys$$.indexOf($key$$)&&($data$jscomp$1$$[$key$$]=$old_obj$$[$key$$]);$callback$$(null,$obj$$)})})})},function($obj$$,$callback$$){setImmediate(function(){permission.hasRight($user$jscomp$0$$.current_id_app,
|
|
229
|
+
$user$jscomp$0$$.email,$module$$,"update",function($error$$,$hr$$,$c_app$$){setImmediate(()=>{if($hr$$)$ctrl$$.checkData($c_app$$,{...$data$jscomp$1$$,_id:$obj$$._id.toString()},$e$$=>{if($e$$)return $callback$$($e$$);$callback$$(null,$obj$$)});else return $callback$$({error:$error$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})})},{data:$data$jscomp$1$$,obj:$obj$$,notNeedRight:$ctrl$$.options.notNeedRight})})},function($obj$$,$callback$$){underscore.has($model$$.schema.paths,"ngay_ct")&&underscore.has($model$$.schema.paths,
|
|
230
|
+
"so_ct")&&$obj$$.ngay_ct&&$data$jscomp$1$$.so_ct&&$obj$$.so_ct!==$data$jscomp$1$$.so_ct?OptionsModel.findOne({id_app:$obj$$.id_app,id_func:$ctrl$$.name},{option:1}).lean().exec(($e$jscomp$0$$,$rs$jscomp$0$$)=>{setImmediate(()=>{if($rs$jscomp$0$$&&$rs$jscomp$0$$.option&&$rs$jscomp$0$$.option.check_so_ct&&"0"!==$rs$jscomp$0$$.option.check_so_ct){let $query_check$$={id_app:$obj$$.id_app,so_ct:$data$jscomp$1$$.so_ct,_id:{$ne:$obj$$._id.toString()}},$tu_ngay$$;var $date_check_den_ngay$$=$data$jscomp$1$$.ngay_ct||
|
|
229
231
|
$obj$$.ngay_ct;switch($rs$jscomp$0$$.option.check_so_ct){case "1":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("date").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("date").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};break;case "2":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("month").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("month").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};
|
|
230
232
|
break;case "3":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("quarter").toDate();$date_check_den_ngay$$=moment($date_check_den_ngay$$).endOf("quarter").toDate();$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$};break;case "8":$tu_ngay$$=moment($date_check_den_ngay$$).startOf("year").toDate(),$date_check_den_ngay$$=moment($date_check_den_ngay$$).startOf("year").toDate(),$query_check$$.ngay_ct={$gte:$tu_ngay$$,$lte:$date_check_den_ngay$$}}$model$$.findOne($query_check$$,{so_ct:1}).lean().exec(($e$$,
|
|
231
|
-
$rs$$)=>{setImmediate(()=>{if($rs$$)return $callback$$("S\u1ed1 ch\u1ee9ng t\u1eeb "+$data$jscomp$
|
|
232
|
-
$e$$)}setImmediate(function(){$ctrl$$.updating?$ctrl$$.updating($user$jscomp$0$$,$data$jscomp$
|
|
233
|
-
($
|
|
234
|
-
$
|
|
235
|
-
$
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
function($obj$$,$
|
|
239
|
-
{
|
|
240
|
-
|
|
241
|
-
{$
|
|
242
|
-
$
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$)}):setImmediate(()=>
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
{
|
|
249
|
-
($
|
|
250
|
-
|
|
251
|
-
$
|
|
233
|
+
$rs$$)=>{setImmediate(()=>{if($rs$$)return $callback$$("S\u1ed1 ch\u1ee9ng t\u1eeb "+$data$jscomp$1$$.so_ct+" \u0111\u00e3 t\u1ed3n t\u1ea1i. H\u00e3y ch\u1ecdn m\u1ed9t s\u1ed1 ch\u1ee9ng t\u1eeb kh\u00e1c");$callback$$(null,$obj$$)})})}else $callback$$(null,$obj$$)})}):$callback$$(null,$obj$$)},($obj$jscomp$2$$,$callback$jscomp$0$$)=>{(async($obj$jscomp$1$$,$callback$$)=>{try{(await permission.getFieldNotRight($obj$jscomp$1$$.id_app,$user$jscomp$0$$.email,$ctrl$$.name)).forEach($f$$=>{delete $data$jscomp$1$$[$f$$]})}catch($e$$){console.error("Error get field not right",
|
|
234
|
+
$e$$)}setImmediate(function(){$ctrl$$.updating?$ctrl$$.updating($user$jscomp$0$$,$data$jscomp$1$$,$obj$jscomp$1$$,function($error$jscomp$0$$,$data$jscomp$0$$,$obj$jscomp$0$$){setImmediate(()=>{if($error$jscomp$0$$)return $callback$$($error$jscomp$0$$);$ctrl$$.dynamicUpdating?$ctrl$$.dynamicUpdating($user$jscomp$0$$,$data$jscomp$0$$,$obj$jscomp$0$$,function($error$$,$data$$,$obj$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)}):$callback$$(null,$obj$jscomp$0$$)})}):$ctrl$$.dynamicUpdating?
|
|
235
|
+
$ctrl$$.dynamicUpdating($req$$.user,$data$jscomp$1$$,$obj$jscomp$1$$,function($error$$,$data$$,$obj$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)}):$callback$$(null,$obj$jscomp$1$$)})})($obj$jscomp$2$$,$callback$jscomp$0$$)},function($obj$$,$callback$$){setImmediate(function(){if(!$unique$$||0===$unique$$.length)return $callback$$(null,$obj$$);let $c1$$={},$c2$$={};$obj$$.id_app&&($c1$$.id_app=$obj$$.id_app,$c2$$.id_app||($c2$$.id_app=$obj$$.id_app));$unique$$.forEach(function($key$$){$c1$$[$key$$]=
|
|
236
|
+
$obj$$[$key$$];$ctrl$$.model.schema.paths[$key$$]?("number"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=Number($data$jscomp$1$$[$key$$]):"date"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=new Date($data$jscomp$1$$[$key$$]):"string"==$ctrl$$.model.schema.paths[$key$$].instance.toLowerCase()?$c2$$[$key$$]=($data$jscomp$1$$[$key$$]||"").toString():$c2$$[$key$$]=$data$jscomp$1$$[$key$$],$c2$$[$key$$]||($c2$$[$key$$]=$c1$$[$key$$])):console.error("field",
|
|
237
|
+
$key$$," is not exist. please check unique of controller")});!0!==underscore.isEqual($c1$$,$c2$$)?isExists($model$$,$unique$$,$c2$$,$ctrl$$.replaceIfExists,function($error$jscomp$0$$,$kq$$){setImmediate(()=>{if($error$jscomp$0$$||$kq$$){let $msgError$$=$error$jscomp$0$$||ERR_ALREADY_EXIST;console.error($msgError$$,$c2$$);if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);
|
|
238
|
+
else $callback$$($msgError$$)}else checkReference($model$$,$obj$$,function($error$$){setImmediate(()=>{if($error$$)return console.error("Keys arise data",$c1$$,$c2$$,$error$$),$callback$$({error:ERR_KEY_ARISE+($error$$.error||$error$$.message||$error$$),code:ERR_KEY_ARISE_CODE});$callback$$(null,$obj$$)})},$unique$$)})}):$callback$$(null,$obj$$)})},function($obj$$,$callback$$){let $keys$$=underscore.keys($model$$.referenceKeys).filter($key$$=>"_id"!==$key$$);$unique$$&&($keys$$=$keys$$.filter($key$$=>
|
|
239
|
+
0>$unique$$.indexOf($key$$).length));if(0===$keys$$.length)return $callback$$(null,$obj$$);checkReference($model$$,$obj$$,function($msgError$$){setImmediate(()=>{if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$({error:ERR_ARISE+($msgError$$.error||$msgError$$.message||$msgError$$),code:ERR_ARISE_CODE});else $callback$$(null,$obj$$)})},
|
|
240
|
+
$keys$$)},function($obj$jscomp$1$$,$callback$$){$ctrl$$.validating||($ctrl$$.validating=($user$$,$obj$$,$next$$)=>{$next$$(null,$obj$$)});$ctrl$$.validating($user$jscomp$0$$,$obj$jscomp$1$$,($error$$,$obj$jscomp$0$$)=>{if($error$$)return $callback$$($error$$);setImmediate(function(){$data$jscomp$1$$.date_updated=new Date;$data$jscomp$1$$.user_updated=$user$jscomp$0$$.email;delete $data$jscomp$1$$.__v;$ctrl$$.options.onUpdateExtending||($ctrl$$.options.onUpdateExtending=function($obj$$,$data$$,$action$$,
|
|
241
|
+
$fn$$){$fn$$()});$ctrl$$.options.onUpdateExtending($obj$jscomp$0$$,$data$jscomp$1$$,$action$jscomp$0$$,function(){underscore.has($schema_paths$$,"exfields")&&$data$jscomp$1$$.exfields&&($obj$jscomp$0$$.exfields=$data$jscomp$1$$.exfields);for(let $f$$ in $data$jscomp$1$$)underscore.has($schema_paths$$,$f$$)&&($obj$jscomp$0$$.set($f$$,$data$jscomp$1$$[$f$$]),"exfields"!==$f$$||$obj$jscomp$0$$.exfields||($obj$jscomp$0$$.exfields={}));validate($obj$jscomp$0$$,function($msgError$$){setImmediate(()=>{if($msgError$$)if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,
|
|
242
|
+
$obj$jscomp$0$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$);else $callback$$(null,$obj$jscomp$0$$)})})})})})},function($obj$$,$callback$$){setImmediate(async()=>{$obj$$.ngay_ct&&($obj$$.ngay_ct=moment($obj$$.ngay_ct).toDate());for(var $$condition_k$$ in $ctrl$$.keyValues)$obj$$[$$condition_k$$]=$ctrl$$.keyValues[$$condition_k$$];Object.keys($model$$.schema.paths).filter($model_path$$=>$obj$$[$model_path$$]&&underscore.isArray($obj$$[$model_path$$])).forEach($model_path$$=>
|
|
243
|
+
{$model$$.schema.paths[$model_path$$].schema&&$model$$.schema.paths[$model_path$$].schema.paths&&Object.keys($model$$.schema.paths[$model_path$$].schema.paths).filter($path$$=>"line"!==$path$$&&"_id"!==$path$$&&"__v"!==$path$$&&fields_sync_master_detail.indexOf($path$$)).forEach($path$$=>{$obj$$[$path$$]&&$obj$$[$model_path$$].filter($detail$$=>!$detail$$[$path$$]).forEach($detail$$=>{$detail$$[$path$$]=$obj$$[$path$$]})})});await createIdRef($model$$,$obj$$);$ctrl$$.saving&&await $ctrl$$.saving($user$jscomp$0$$,
|
|
244
|
+
$obj$$);$ctrl$$.emit("saving",$obj$$);let $obj_created$$,$error$jscomp$0$$;$data$jscomp$1$$.$condition&&($$condition_k$$=$data$jscomp$1$$.$condition,$$condition_k$$._id=$obj$$._id,await $model$$.findOne($$condition_k$$)||($error$jscomp$0$$=ERR_CAN_NOT_UPDATE),delete $data$jscomp$1$$.$condition);if(!$error$jscomp$0$$)try{$obj_created$$=await $obj$$.save()}catch($e$$){$error$jscomp$0$$=$e$$}if($error$jscomp$0$$){let $msgErrors$$=[];for(let $k$$ in $error$jscomp$0$$.errors)$msgErrors$$.push($error$jscomp$0$$.errors[$k$$].message);
|
|
245
|
+
0==$msgErrors$$.length&&($msgErrors$$=$error$jscomp$0$$.message);$msgErrors$$||($msgErrors$$=JSON.stringify($error$jscomp$0$$));if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&console.error("onErrorUpdating",$e$$);$callback$$({error:$msgErrors$$,code:ERR_CAN_NOT_UPDATE_CODE})},$current_obj$$);else $callback$$({error:$msgErrors$$,code:ERR_CAN_NOT_UPDATE_CODE})}else $req$$&&$req$$.header&&setImmediate(()=>{log.create({id_app:$user$jscomp$0$$.current_id_app,
|
|
246
|
+
id_func:$ctrl$$.name,action:"UPDATE",data:{oldData:$current_obj$$,newData:$data$jscomp$1$$,id:$obj$$._id.toString()}},$user$jscomp$0$$.email,$req$$.header("user-agent"),$req$$)}),postData($obj_created$$,$ctrl$$,function($msgError$$){$msgError$$?setImmediate(()=>{$current_obj$$&&$model$$.findByIdAndUpdate($current_obj$$._id,{$set:$current_obj$$},function($err$$,$restore_data$$){if($err$$||!$restore_data$$)return console.error("can't restore voucher",$err$$||": don't find voucher");console.log("restored data of voucher. posting...");
|
|
247
|
+
$model$$.findById($current_obj$$._id,($e$jscomp$0$$,$_d$$)=>{if(!$_d$$)return console.error("Don't find voucher",$current_obj$$._id);postData($_d$$,$ctrl$$,function($e$$){if($e$$)return console.error("can't repost voucher",$e$$);console.log("reposted voucher",$_d$$._id)})})});if($ctrl$$.options.onErrorUpdating)$ctrl$$.options.onErrorUpdating($user$jscomp$0$$,$obj$$,$e$$=>{$e$$&&($msgError$$=$msgError$$+"\n"+$e$$);$callback$$($msgError$$)},$current_obj$$);else $callback$$($msgError$$)}):setImmediate(()=>
|
|
248
|
+
{$ctrl$$.emit("saved",$obj_created$$);$ctrl$$.emit("updated",$obj_created$$);$obj_created$$=$obj_created$$.toObject();runWebhooks($ctrl$$,$obj_created$$,"UPDATE",$voucher_options$$);$req$$&&pushNotification($ctrl$$,$obj_created$$,"update",$current_obj$$,null,{exclude_token:$req$$.query.access_token});$ctrl$$.cacheData($obj_created$$);if($req$$&&!1!==$req$$.query.return_data)$ctrl$$.onView($user$jscomp$0$$,[$obj_created$$],function($error$$,$viewValue$$){setImmediate(()=>{if($error$$)return $callback$$($error$$);
|
|
249
|
+
$callback$$(null,$viewValue$$[0])})},{req:$req$$});else $callback$$(null,{_id:$obj_created$$._id})})})})},function($obj$$,$callback$$){$ctrl$$.requestApprove($user$jscomp$0$$.current_app_info,$user$jscomp$0$$,$obj$$,$callback$$,$voucher_options$$)},function($obj$jscomp$0$$,$callback$$){void 0!=$obj$jscomp$0$$.trang_thai&&setImmediate(async()=>{Approve.findOne({id_ct:$obj$jscomp$0$$._id.toString(),"update_after_approve.data.trang_thai":$obj$jscomp$0$$.trang_thai.toString()}).lean().exec(($e$$,$rs$$)=>
|
|
250
|
+
{!$rs$$||$rs$$.user_approved||$rs$$.user_denied||($rs$$.user_approved=$req$$.user.email,$rs$$.user_approved_name=$req$$.user.name,$rs$$.date_approved=new Date,Approve.updateOne({_id:$rs$$._id},$rs$$).then(()=>{Approve.sendNotifyApproved($rs$$,$req$$.query.access_token)}))})});setImmediate(async()=>{(await permission.getFieldNotRight($obj$jscomp$0$$.id_app,$user$jscomp$0$$.email,$ctrl$$.name)).forEach($f$$=>{delete $obj$jscomp$0$$[$f$$]});$obj$jscomp$0$$.collection_name=$ctrl$$.collection_name;$ctrl$$.updated?
|
|
251
|
+
$ctrl$$.updated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$jscomp$0$$,$obj$$){if($error$jscomp$0$$)return console.error("error when saved",$error$jscomp$0$$),$callback$$($error$jscomp$0$$);$ctrl$$.dynamicUpdated?$ctrl$$.dynamicUpdated($user$jscomp$0$$,$obj$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$(null,$obj$$)}):$callback$$(null,$obj$$)},$current_obj$$):$ctrl$$.dynamicUpdated?$ctrl$$.dynamicUpdated($user$jscomp$0$$,$obj$jscomp$0$$,function($error$$){if($error$$)return $callback$$($error$$);
|
|
252
|
+
$callback$$(null,$obj$jscomp$0$$)}):$callback$$(null,$obj$jscomp$0$$)})}],($e$jscomp$164_name_cached$$,$rs$$)=>{$e$jscomp$164_name_cached$$?(console.error($e$jscomp$164_name_cached$$),$callback$jscomp$1$$($e$jscomp$164_name_cached$$)):($e$jscomp$164_name_cached$$=$model$$.collection.name,$user$jscomp$0$$.current_id_app&&($e$jscomp$164_name_cached$$+=$user$jscomp$0$$.current_id_app),delete global.cacheDatas[$e$jscomp$164_name_cached$$],$callback$jscomp$1$$(null,$rs$$))})}catch($e$$){console.error($e$$),
|
|
253
|
+
$callback$jscomp$1$$($e$$)}};
|
|
254
|
+
controller.prototype.update=function(){let $ctrl$$=this,$name$$=this.name;this.router.route(this.route_name+"/:id").put(function($req$$,$res$$){let $session$$=$req$$.session;if(!0===$session$$["updating_"+$name$$])return $res$$.status(400).send({error:"\u0110ang x\u1eed l\u00fd d\u1eef li\u1ec7u"});$session$$["updating_"+$name$$]=!0;let $body$$=$req$$.body;$req$$.files&&underscore.extend($body$$,$req$$.files);let $data$$;try{$data$$=bodyToJson($body$$)}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||
|
|
255
|
+
$e$$})}update($req$$.user,$ctrl$$,$req$$.params.id,$data$$,($e$$,$rs$$)=>{setImmediate(()=>{$session$$["updating_"+$name$$]=!1;if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});!1===$req$$.query.return_data?$res$$.send({_id:$rs$$._id.toString()}):$res$$.send($rs$$)})},null,$req$$)})};
|
|
252
256
|
function checkReference($model$jscomp$0$$,$obj$$,$fn$$,$keys$$){$model$jscomp$0$$.referenceKeys?($keys$$||($keys$$=underscore.keys($model$jscomp$0$$.referenceKeys)),async.map($keys$$,function($key$$,$callback$$){setImmediate(()=>{let $ref$$=$model$jscomp$0$$.referenceKeys[$key$$];if(!$ref$$)return $callback$$();let $value$$=$obj$$[$key$$];"_id"===$key$$&&($value$$=$value$$.toString());if(void 0==$value$$||null==$value$$||""==$value$$)return $callback$$();async.map($ref$$,function($r$$,$cb$$){setImmediate(()=>
|
|
253
257
|
{let $model$$=mongoose.models[$r$$.model];if($model$$){let $query$$={id_app:$obj$$.id_app};var $_w_k$$=$r$$.key;$_w_k$$&&($query$$[$_w_k$$]=$value$$);$r$$.where&&(underscore.isObject($r$$.where)&&($query$$=Object.assign($query$$,$r$$.where)),underscore.isFunction($r$$.where)&&($_w_k$$=$r$$.where($obj$$),$query$$=Object.assign($query$$,$_w_k$$)));$model$$.find($query$$).limit(1).lean().exec(function($error$$,$o$$){setImmediate(()=>{if($error$$)return $cb$$($error$$);if($o$$&&0<$o$$.length){let $msgError$$;
|
|
254
258
|
$msgError$$=$r$$.error?(new Function("obj","return `"+$r$$.error.replace("{{VALUE}}",$value$$)+"`"))($obj$$):ERR_DATA_GENERATED;return $cb$$({error:$msgError$$,code:ERR_DATA_GENERATED_CODE})}$cb$$()})})}else $cb$$()})},function($e$$){if($e$$)return $callback$$($e$$);$callback$$()})})},$error$$=>{$fn$$($error$$)})):$fn$$()}
|
|
255
|
-
controller.prototype.delete=function(){let $model$$=this.model,$ctrl$$=this,$module$$=this.module,$codeSync$$=this.codeSync,$keySync$$=this.keySync;this.router.route(this.route_name+"/:id").delete(function($req$$,$res$$,$next$$){if(!global.mongoose.Types.ObjectId.isValid($req$$.params.id))return $res$$.status(400).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$model$$.findOne({_id:$req$$.params.id}).lean().exec(async function($e$jscomp$
|
|
256
|
-
$e$jscomp$
|
|
257
|
-
_id:$req$$.params.id,user:$e$jscomp$
|
|
259
|
+
controller.prototype.delete=function(){let $model$$=this.model,$ctrl$$=this,$module$$=this.module,$codeSync$$=this.codeSync,$keySync$$=this.keySync;this.router.route(this.route_name+"/:id").delete(function($req$$,$res$$,$next$$){if(!global.mongoose.Types.ObjectId.isValid($req$$.params.id))return $res$$.status(400).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$model$$.findOne({_id:$req$$.params.id}).lean().exec(async function($e$jscomp$169_user$$,$obj$$){if($e$jscomp$169_user$$)return console.error($e$jscomp$169_user$$),
|
|
260
|
+
$e$jscomp$169_user$$.error?$res$$.status(400).send($e$jscomp$169_user$$):$res$$.status(400).send({error:$e$jscomp$169_user$$.message||$e$jscomp$169_user$$.error||$e$jscomp$169_user$$});if(!$obj$$)return $res$$.status(404).send({error:ERR_NOT_FOUND,code:ERR_NOT_FOUND_CODE});$e$jscomp$169_user$$=$req$$.user;if(0>global.configs.admins.indexOf($e$jscomp$169_user$$.email)){let $requireOtp$$=$ctrl$$.options.requireOtp;$requireOtp$$&&_.isFunction($requireOtp$$)&&($requireOtp$$=$requireOtp$$($obj$$,{action:"delete",
|
|
261
|
+
_id:$req$$.params.id,user:$e$jscomp$169_user$$}));if($requireOtp$$)try{await permission.verifyOTP($e$jscomp$169_user$$.email,$req$$.query["otp-id"],$req$$.query["otp-code"])}catch($e$$){return $res$$.status(400).send({error:$e$$.message||$e$$.error||$e$$,code:ERR_VERIFY_OTP})}}setImmediate(()=>{permission.hasRight($obj$$.id_app,$req$$.user.email,$module$$,"delete",function($error$jscomp$0$$,$hr$$){if($hr$$)checkReference($model$$,$obj$$,function($error$$){if($error$$)return $res$$.status(400).send({error:ERR_ARISE+
|
|
258
262
|
($error$$.error||$error$$.message||$error$$),code:ERR_ARISE_CODE});$req$$.obj=$obj$$;$next$$()});else return $res$$.status(403).send({error:$error$jscomp$0$$||ERR_NOT_PERMIT,code:ERR_NOT_PERMIT_CODE})},{obj:$obj$$,notNeedRight:$ctrl$$.options.notNeedRight})})})},function($req$$,$res$$,$next$$){setImmediate(()=>{let $obj$jscomp$0$$=$req$$.obj;$ctrl$$.deleting?$ctrl$$.deleting($req$$.user,$obj$jscomp$0$$,function($e$$,$obj$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):
|
|
259
263
|
$res$$.status(400).send({error:$e$$.message||$e$$});$req$$.obj=$obj$$;$next$$()},{req:$req$$}):($req$$.obj=$obj$jscomp$0$$,$next$$())})},function($req$$,$res$$){setImmediate(()=>{let $obj$jscomp$0$$=$req$$.obj;$ctrl$$.emit("deleting",{...$obj$jscomp$0$$});$model$$.deleteOne({_id:$obj$jscomp$0$$._id},function($e$jscomp$1$$){if($e$jscomp$1$$)return console.error($e$jscomp$1$$),$e$jscomp$1$$.error?$res$$.status(400).send($e$jscomp$1$$):$res$$.status(400).send({error:$e$jscomp$1$$.message||$e$jscomp$1$$});
|
|
260
264
|
setImmediate(()=>{$ctrl$$.deleteData({...$obj$jscomp$0$$});log.create({id_app:$req$$.user.current_id_app,id_func:$ctrl$$.name,action:"DELETE",data:{id:$obj$jscomp$0$$._id,data:$obj$jscomp$0$$}},$req$$.user.email,$req$$.header("user-agent"),$req$$);link.deleteMany({$or:[{id_a:$obj$jscomp$0$$._id},{id_b:$obj$jscomp$0$$._id}]},function($e$$){$e$$&&console.error("Can't delete links\n"+$e$$)})});setImmediate(()=>{$ctrl$$.emit("deleted",$obj$jscomp$0$$);runWebhooks($ctrl$$,$obj$jscomp$0$$,"DELETE")});pushNotification($ctrl$$,
|
|
@@ -29,15 +29,15 @@ $rptConfig$$.handle_data_expression.indexOf("async "))return $res$$.status(400).
|
|
|
29
29
|
})`;try{($func_string$jscomp$3_rptInfo$jscomp$2_rs$$=await evalute($func_string$jscomp$2_key$$,{data:$app$$,moment,user:$req$jscomp$0$$.user,utils,numeral,getData:getParameterData})())&&($app$$=$func_string$jscomp$3_rptInfo$jscomp$2_rs$$)}catch($e$$){return console.error($e$$,$func_string$jscomp$2_key$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})}}var $func_string$jscomp$3_rptInfo$jscomp$2_rs$$=await reportinfo.findOne({code:($req$jscomp$0$$.query.report_info_code||
|
|
30
30
|
$rptId$$).toLowerCase()}).lean();if($func_string$jscomp$3_rptInfo$jscomp$2_rs$$&&$func_string$jscomp$3_rptInfo$jscomp$2_rs$$.handle_data_expression){if(0<=$func_string$jscomp$3_rptInfo$jscomp$2_rs$$.handle_data_expression.indexOf("async "))return $res$$.status(400).send({error:"async function is not allow"});$func_string$jscomp$3_rptInfo$jscomp$2_rs$$=`return (async ()=>{
|
|
31
31
|
${$func_string$jscomp$3_rptInfo$jscomp$2_rs$$.handle_data_expression}
|
|
32
|
-
})`;try{const $rs$$=await evalute($func_string$jscomp$3_rptInfo$jscomp$2_rs$$,{data:$data$jscomp$3_e$$,moment,user:$req$jscomp$0$$.user,utils,numeral,getData:getParameterData})();$rs$$&&($app$$.detail=$app$$.details=$rs$$)}catch($e$$){return console.error($e$$,$func_string$jscomp$3_rptInfo$jscomp$2_rs$$),$res$$.status(400).send({error:$e$$.message||$e$$})}}$
|
|
33
|
-
else $options$$.onExport($app$$,function(){setImmediate(()=>{if($req$jscomp$0$$.query.print)htmlReport($html_template$$,$app$$).then($rs$$=>$res$$.send($rs$$)
|
|
34
|
-
$error$$})
|
|
35
|
-
$res$$.setHeader("Content-Disposition","attachment; filename="+$rptId$$+".docx"),$res$$.write($result$$,"binary"),$res$$.end(null,"binary"))
|
|
36
|
-
$
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
!fs.existsSync($templatePath$$))return $reject$$("M\u1eabu
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)},$res$$):$res$$.status(403).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n xem b\u00e1o c\u00e1o n\u00e0y"})},
|
|
43
|
-
"PUT"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).put($r$$):this.router.route(`${this.base_path+this.module}/${$routeName$$}`).get($r$$)}}module.exports=controllerRPT;
|
|
32
|
+
})`;try{const $rs$$=await evalute($func_string$jscomp$3_rptInfo$jscomp$2_rs$$,{data:$data$jscomp$3_e$$,moment,user:$req$jscomp$0$$.user,utils,numeral,getData:getParameterData})();$rs$$&&($app$$.detail=$app$$.details=$rs$$)}catch($e$$){return console.error($e$$,$func_string$jscomp$3_rptInfo$jscomp$2_rs$$),$res$$.status(400).send({error:$e$$.message||$e$$})}}else $app$$.detail.forEach($r$$=>{for(let $_key$$ in $r$$){let $_v$$=$r$$[$_key$$];if($_v$$&&0<=$_key$$.indexOf("ngay")||0<=$_key$$.indexOf("date"))try{let $d$$=
|
|
33
|
+
moment($_v$$,"YYYY-MM-DD");$d$$.isValid()&&($r$$[`${$_key$$}`]=$d$$.toDate(),$r$$[`${$_key$$}_string`]=$d$$.format("DD/MM/YYYY"))}catch($e$$){console.error("Error convert to date",$_v$$,$e$$)}}});$rptConfig$$&&$rptConfig$$.parameters&&await prepareParameters($rptConfig$$.parameters,$app$$,$app$$);if($req$jscomp$0$$.query.json)$res$$.json($app$$);else $options$$.onExport($app$$,function(){setImmediate(()=>{if($req$jscomp$0$$.query.print)htmlReport($html_template$$,$app$$).then($rs$$=>$res$$.send($rs$$),
|
|
34
|
+
$error$$=>{$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$})});else{let $ext$$=$templatePath$$.split(".").pop();"xlsx"===$ext$$?excelReport($templatePath$$,$app$$,function($error$$,$result$$){if($error$$)return console.error("Error export to excel",$error$$),$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});$res$$.setHeader("Content-Type","application/vnd.openxmlformats");$res$$.setHeader("Content-Disposition","attachment; filename="+$rptId$$+".xlsx");
|
|
35
|
+
$res$$.end($result$$,"binary")}):textReport($templatePath$$,$app$$,function($error$$,$result$$){if($error$$)return console.error("Error export to text",$error$$),$res$$.status(400).send({error:$error$$.message||$error$$.error||$error$$});"docx"===$ext$$?($res$$.setHeader("Content-Type","application/vnd.openxmlformats-officedocument.wordprocessingml.document"),$res$$.setHeader("Content-Disposition","attachment; filename="+$rptId$$+".docx"),$res$$.write($result$$,"binary"),$res$$.end(null,"binary")):
|
|
36
|
+
$res$$.send($result$$)})}})})})},$id_rpt$$=$req$jscomp$0$$.query.id_rpt,$dir_root_templates$$=configs.paths.templates||__dirname,$templatePath$$,$rptConfig$$,$html_template$$;(new Promise(($resolve$$,$reject$$)=>{$rptConfig$$=$templatePath$$=void 0;if($id_rpt$$&&global.mongoose.Types.ObjectId.isValid($id_rpt$$))rpt.findOne({_id:$id_rpt$$}).lean().exec(async function($error$$,$r$$){if($error$$||!$r$$)return console.error("Not found excel template",$id_rpt$$,$error$$),$reject$$($error$$||"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu");
|
|
37
|
+
if($req$jscomp$0$$.query.print)$html_template$$=$r$$.html_template;else{if(0<$r$$.file_mau_in.indexOf("/file/download")){$error$$=$r$$.file_mau_in.split("/").pop();const $file$$=global.getModel("file");try{const $_fileMauIn$$=await $file$$.findOne({_id:$error$$}).lean();if(!$_fileMauIn$$)return $reject$$("Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu");let $file_name$$=$_fileMauIn$$.file.name,$root$$=configs.paths.uploads;$root$$||($root$$=__dirname,$root$$=path.dirname($root$$),$root$$=path.join($root$$,
|
|
38
|
+
"uploads"));$templatePath$$=path.join($root$$,$file_name$$)}catch($e$$){return $reject$$($e$$.message||"Kh\u00f4ng t\u00ecm th\u1ea5y m\u1eabu")}}else $templatePath$$=path.dirname($dir_root_templates$$)+$r$$.file_mau_in;fs.existsSync($templatePath$$)||(console.log("file template not found",$templatePath$$),$templatePath$$=`${path.dirname($dir_root_templates$$)}/templates/excels/reports/${$module$$}.xlsx`);fs.existsSync($templatePath$$)||($templatePath$$=`${path.dirname(__dirname)}/templates/excels/reports/${$module$$}.xlsx`);
|
|
39
|
+
if(!fs.existsSync($templatePath$$))return $reject$$("M\u1eabu kh\u00f4ng t\u1ed3n t\u1ea1i")}$rptConfig$$=$r$$;return $resolve$$($templatePath$$,$html_template$$)});else if($templatePath$$=`${path.dirname($dir_root_templates$$)}/templates/excels/reports/${$module$$}.xlsx`,fs.existsSync($templatePath$$)||($templatePath$$=`${path.dirname(__dirname)}/templates/excels/reports/${$module$$}.xlsx`),!fs.existsSync($templatePath$$))return $reject$$("M\u1eabu excel kh\u00f4ng t\u1ed3n t\u1ea1i")})).then(()=>
|
|
40
|
+
{!1===$options$$.require_id_app?$streamData$$({}):permission.hasRight($req$jscomp$0$$.params.id_app,$req$jscomp$0$$.user.email,$module$$,"view",function($error$$,$hr$$,$app$$){$hr$$?$streamData$$({...$app$$}):$res$$.status(403).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n xu\u1ea5t excel b\u00e1o c\u00e1o n\u00e0y"})},{notNeedRight:$options$$.notNeedRight})}).catch($e$$=>{console.error($e$$);return $e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})})}catch($e$$){return $e$$.error?
|
|
41
|
+
$res$$.status(500).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$})}})}getData($req$$,$callback$$){setImmediate(()=>{try{this.fecthDataFunc($req$$,$callback$$)}catch($e$$){console.error($e$$),$callback$$($e$$.message)}})}createRoute($routeName$$,$callback$$,$_options$$={method:"GET"}){$_options$$.method=$_options$$.method?$_options$$.method.toUpperCase():"GET";const $self$$=this;let $r$$=function($req$$,$res$$){setImmediate(()=>{!1===$self$$.options.require_id_app?$callback$$($req$$,
|
|
42
|
+
function($e$$,$rs$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)},$res$$):permission.hasRight($req$$.params.id_app,$req$$.user.email,$self$$.module,"view",function($error$$,$hr$$){$hr$$?$callback$$($req$$,function($e$$,$rs$$){if($e$$)return console.error($e$$),$e$$.error?$res$$.status(400).send($e$$):$res$$.status(400).send({error:$e$$.message||$e$$});$res$$.send($rs$$)},$res$$):$res$$.status(403).send({error:"B\u1ea1n kh\u00f4ng c\u00f3 quy\u1ec1n xem b\u00e1o c\u00e1o n\u00e0y"})},
|
|
43
|
+
{notNeedRight:$self$$.options.notNeedRight||$_options$$.notNeedRight})})};"DELETE"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).delete($r$$):"POST"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).post($r$$):"PUT"==$_options$$.method?this.router.route(`${this.base_path+this.module}/${$routeName$$}`).put($r$$):this.router.route(`${this.base_path+this.module}/${$routeName$$}`).get($r$$)}}module.exports=controllerRPT;
|
package/server/global.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';const prototypes=require("./libs/prototypes.js"),async=require("async"),TransactionPool=require("./libs/BlockchainTransactionPool"),leanID=require("./libs/mongooseLeanId"),deletePost=require("./libs/mongooseDeletePost"),fs=require("fs");global.blockchainTransactionPool=new TransactionPool;global.new_schedules=[];global.rootDir=__dirname;global.ctrlVouchers={};global.controllers={};global.report_controllers={};global.postingVouchers={};global.cacheDatas={};global.clientIO={};
|
|
2
2
|
global.model_books="socai sokho sokhott sokhokhongton sosanxuat vatvao vatra tdttno tdttco vsocai socaitmp".split(" ");global.webPush=require("web-push");global.mongoose=require("mongoose");global.mongoose.plugin(leanID);global.mongoose.plugin(deletePost);global.Schema=global.mongoose.Schema;global.mongoose.set("useFindAndModify",!1);global.mongoose.set("useCreateIndex",!0);
|
|
3
|
-
global.getModel=$model_name$$=>{"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");var $model_model_path$$=mongoose.models[$model_name$$];if($model_model_path$$)return $model_model_path$$;$model_model_path$$=(((global.configs||{}).paths||{}).models||"./models")+"/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);$model_model_path$$=__dirname+"/models/"
|
|
4
|
-
console.error("model",$model_name$$,"is not exists. using base model");return require("./models/base")};global.getLib=$lib_name$$=>require("./libs/"+$lib_name$$);
|
|
5
|
-
global.customTypes={Point:pointSchema,Polygon:polygonSchema};const EventEmitter=require("events");class GlobalEmitter extends EventEmitter{}global.globalEvents=new GlobalEmitter;
|
|
6
|
-
global.asyncCountUnRead=async $email$$=>new Promise($resolve$$=>{setImmediate(()=>{Message.countDocuments({email:$email$$,read:!1},($e$$,$rs$$)=>{$resolve$$($rs$$||0)})})});
|
|
3
|
+
global.getModel=$model_name$$=>{$model_name$$=$model_name$$.split(".js")[0];"kbmpttct"===$model_name$$&&($model_name$$="kbmPttct");"kbmtkgtgt"===$model_name$$&&($model_name$$="kbmTkgtgt");var $model_model_path$$=mongoose.models[$model_name$$];if($model_model_path$$)return $model_model_path$$;$model_model_path$$=(((global.configs||{}).paths||{}).models||"./models")+"/"+$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);$model_model_path$$=__dirname+"/models/"+
|
|
4
|
+
$model_name$$+".js";if(fs.existsSync($model_model_path$$))return require($model_model_path$$);console.error("model",$model_name$$,"is not exists. using base model");return require("./models/base")};global.getLib=$lib_name$$=>require("./libs/"+$lib_name$$);
|
|
5
|
+
const pointSchema=new global.mongoose.Schema({type:{type:String,enum:["Point"],required:!0,default:"Point"},coordinates:{type:[Number],required:!0}}),polygonSchema=new global.mongoose.Schema({type:{type:String,enum:["Polygon"],required:!0,default:"Polygon"},coordinates:{type:[[[Number]]],required:!0}});global.customTypes={Point:pointSchema,Polygon:polygonSchema};const EventEmitter=require("events");class GlobalEmitter extends EventEmitter{}global.globalEvents=new GlobalEmitter;
|
|
6
|
+
const Message=global.getModel("message"),Notification=global.getModel("notification"),User=global.getModel("user"),Sysconfig=global.getModel("sysconfig");global.getSysConfig=async $cf_code$$=>{if($cf_code$$=await Sysconfig.findOne({code:$cf_code$$}))return $cf_code$$.value};global.asyncCountUnRead=async $email$$=>new Promise($resolve$$=>{setImmediate(()=>{Message.countDocuments({email:$email$$,read:!1},($e$$,$rs$$)=>{$resolve$$($rs$$||0)})})});
|
|
7
|
+
global.alertMessage=function($email$$){setImmediate(()=>{Message.countDocuments({email_owner:$email$$,email_receiver:$email$$,read:!1},function($error$$,$count$$){$error$$?console.log($error$$):User.emitEvent($email$$,"message:count",$count$$,!1)})})};
|
|
7
8
|
global.createNotification=function($email_sender$$,$email_receiver$$,$title$$,$content$$,$fn$$,$exfields$$,$emitEvent$$,$c_token$$,$send_email$$){Notification.createNotification($email_sender$$,$email_receiver$$,$title$$,$content$$,$fn$$,$exfields$$,$emitEvent$$,$c_token$$,$send_email$$)};
|
|
8
9
|
global.getNotifies=function($email$$,$fn$$){async.parallel({colls:function($callback$$){$callback$$(null,[])},notifications:function($callback$$){Notification.find({email_receiver:$email$$,email_owner:$email$$,read:!1},function($error$$,$colls_raw$$){setImmediate(()=>{if($error$$)$callback$$($error$$);else{const $colls$$=$colls_raw$$.map(function($c$$){return $c$$.toObject()});$callback$$(null,$colls$$)}})})},apps:function($callback$$){$callback$$(null,[])}},function($error$$,$rs$$){setImmediate(()=>
|
|
9
10
|
{$fn$$($error$$,$rs$$)})})};global.sendNotification=function($email$$,$_id$$,$notify$$,$push_to_mobile_and_web$$=!0){setImmediate(()=>{$notify$$||($notify$$={email_sender:"H\u1ec7 th\u1ed1ng"});const $obj_notify$$={_id:$_id$$,code:"notification",action:"view"};$obj_notify$$.body=$notify$$.content||$notify$$.title||"";$obj_notify$$.sender=$notify$$.email_sender;$obj_notify$$.title=$notify$$.title||"";$obj_notify$$.content=$notify$$.content||"";User.emitEvent($email$$,"notify:new",$obj_notify$$,$push_to_mobile_and_web$$)})};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';const fs=require("fs"),path=require("path"),async=require("async"),parameter_model=global.getModel("parameter"),rpt_model=global.getModel("rpt"),app=global.getModel("app"),parameter=require("../data/parameter"),rpt=require("../data/rpt");
|
|
2
|
-
exports.init=function($id_app$$,$fn$$){const $files$$=fs.readdirSync(path.dirname(__dirname)+"/data");async.map($files$$,function($file$$,$callback$jscomp$0$$){if(".js"==$file$$.substr(-3)){const $data$$=JSON.parse(JSON.stringify(require("../data/"+$file$$).data)),$model$$=global.getModel(""+$file$$);async.map($data$$,function($r$$,$callback$$){$r$$.id_app=$id_app$$;$r$$._id&&delete $r$$._id;$model$$.create($r$$,function($error$$){
|
|
3
|
-
$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})}else $callback$jscomp$0$$()},function($error$$){if($error$$)return $fn$$($error$$);rpt_model.find({id_app:$id_app$$}).lean().exec(function($e$$,$rpts$$){$e$$&&console.
|
|
2
|
+
exports.init=function($id_app$$,$fn$$){const $files$$=fs.readdirSync(path.dirname(__dirname)+"/data");async.map($files$$,function($file$$,$callback$jscomp$0$$){if(".js"==$file$$.substr(-3)){const $data$$=JSON.parse(JSON.stringify(require("../data/"+$file$$).data)),$model$$=global.getModel(""+$file$$);async.map($data$$,function($r$$,$callback$$){$r$$.id_app=$id_app$$;$r$$._id&&delete $r$$._id;$model$$.create($r$$,function($error$$){$error$$&&console.error($error$$);$callback$$()})},function($error$$,
|
|
3
|
+
$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})}else $callback$jscomp$0$$()},function($error$$){if($error$$)return $fn$$($error$$);rpt_model.find({id_app:$id_app$$}).lean().exec(function($e$$,$rpts$$){$e$$&&console.error($e$$);$rpts$$.forEach(function($rpt$$){parameter_model.update({id_rpt:$rpt$$._id_o,id_app:$id_app$$},{id_rpt:$rpt$$._id},{multi:!0},function($e$$){$e$$&&console.log($e$$)})})});$fn$$()})};
|
|
4
4
|
exports.initRpt=function(){app.find({}).lean().exec(function($e$jscomp$3$$,$apps$$){if($e$jscomp$3$$)return console.log($e$jscomp$3$$);$apps$$.forEach(function($a$$){async.parallel({r:function($callback$jscomp$0$$){let $rpt_data$$=JSON.parse(JSON.stringify(rpt.data));async.map($rpt_data$$,function($r$$,$callback$$){$r$$.id_app=$a$$._id;rpt_model.create($r$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()})},function($error$$,$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})},
|
|
5
5
|
p:function($callback$jscomp$0$$){async.map(parameter.data,function($r$$,$callback$$){$r$$.id_app=$a$$._id;parameter_model.create($r$$,function($error$$){if($error$$)return $callback$$($error$$);$callback$$()})},function($error$$,$rs$$){$callback$jscomp$0$$($error$$,$rs$$)})}},function($e$jscomp$1$$){if($e$jscomp$1$$)return console.log($e$jscomp$1$$);rpt_model.find({id_app:$a$$._id}).lean().exec(function($e$jscomp$0$$,$rpts$$){$e$jscomp$0$$&&console.log($e$jscomp$0$$);$rpts$$.forEach(function($rpt$$){parameter_model.update({id_rpt:$rpt$$._id_o,
|
|
6
6
|
id_app:$a$$._id},{id_rpt:$rpt$$._id},{multi:!0},function($e$$){$e$$&&console.log($e$$)})})})})})})};
|
|
@@ -15,11 +15,10 @@ $_right__right_trang_thai$$&&!$_right__right_trang_thai$$.viewOfOther&&$options$
|
|
|
15
15
|
ma_trang_thai:$options$$.obj.trang_thai},function($e$$,$trang_thai$$){if($e$$)return $callback$$($e$$);if($trang_thai$$){if("update"===$action$$){if(0==$trang_thai$$.allow_update)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p s\u1eeda");if(1==$trang_thai$$.lock_data)return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c kho\u00e1")}if("delete"===$action$$&&($trang_thai$$.lock_data||0==$trang_thai$$.allow_delete))return $callback$$("Tr\u1ea1ng th\u00e1i ch\u1ee9ng t\u1eeb n\u00e0y kh\u00f4ng cho ph\u00e9p xo\u00e1")}return $callback$$()}):
|
|
16
16
|
$callback$$()}},$e$$=>{$e$$?$callback$jscomp$0$$($e$$,!1):$callback$jscomp$0$$(null,!0,$app$$)}):$callback$jscomp$0$$(null,!0,$app$$)})})};
|
|
17
17
|
exports.getRightByItem=function($id_app$$,$model$$,$email$$,$next$$,$module$$){exports.isAdmin($id_app$$,$email$$,async function($e$jscomp$3_key_right$$,$admin$$,$app$$,$participant$$){if($e$jscomp$3_key_right$$)return $next$$($e$jscomp$3_key_right$$);let $condition$$={};$module$$||($module$$=$model$$&&$model$$.collection&&$model$$.collection.name&&1<$model$$.collection.name.length?$model$$.collection.name.substr(0,$model$$.collection.name.length-1).toLowerCase():"");if($admin$$)$next$$(null,$condition$$,
|
|
18
|
-
$admin$$);else{const $ds_dang_phu_trach$$=await exports.dsDangPhuTrach($id_app$$,$email$$);$ds_dang_phu_trach$$.push($email$$)
|
|
19
|
-
|
|
20
|
-
$
|
|
21
|
-
$
|
|
22
|
-
$allow_trang_thai_result$$.push($t$$);$allUsers$$?$allUsers$$.trang_thai={$in:$allow_trang_thai_result$$}:$condition$$.trang_thai={$in:$allow_trang_thai_result$$}}0<$visible$$.length&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:$visible$$}));console.log("permission condition of module",$module$$,JSON.stringify($condition$$));$next$$(null,$condition$$,!1)})}})};
|
|
18
|
+
$admin$$);else{const $ds_dang_phu_trach$$=await exports.dsDangPhuTrach($id_app$$,$email$$);$ds_dang_phu_trach$$.push($email$$);let $allUsers$$;$app$$={visible_to:null};let $visible$$=[];underscore.has($model$$.schema.paths,"visible_to")&&($condition$$.$and||($condition$$.$and=[]),$allUsers$$={visible_to:0},$e$jscomp$3_key_right$$={visible_to:2,visible_to_users:$email$$},$admin$$={visible_to:5,visible_to_users:($participant$$||{}).group_id},$visible$$.push($allUsers$$),$visible$$.push($e$jscomp$3_key_right$$),
|
|
19
|
+
$visible$$.push($admin$$),$visible$$.push($app$$));$e$jscomp$3_key_right$$=$email$$;$participant$$&&$participant$$.group_id&&($e$jscomp$3_key_right$$=$participant$$.group_id.toLowerCase());right.findOne({id_app:$id_app$$,email:$e$jscomp$3_key_right$$,module:$module$$},function($_right_trang_thai$jscomp$1_error$$,$allow_trang_thai_result$$){if($allow_trang_thai_result$$&&(!1===$allow_trang_thai_result$$.viewOfOther?($visible$$.push({user_created:{$in:$ds_dang_phu_trach$$}}),$allUsers$$&&($allUsers$$.user_created=
|
|
20
|
+
{$in:$ds_dang_phu_trach$$})):($ds_dang_phu_trach$$.push(null),$ds_dang_phu_trach$$.push(void 0),$ds_dang_phu_trach$$.push("")),!0===underscore.has($model$$.schema.paths,"trang_thai")&&($_right_trang_thai$jscomp$1_error$$=$allow_trang_thai_result$$.view_trang_thai))){$allow_trang_thai_result$$=[void 0,null,""];for(let $t$$ in $_right_trang_thai$jscomp$1_error$$)$_right_trang_thai$jscomp$1_error$$[$t$$]&&$allow_trang_thai_result$$.push($t$$);$allUsers$$?$allUsers$$.trang_thai={$in:$allow_trang_thai_result$$}:
|
|
21
|
+
$condition$$.trang_thai={$in:$allow_trang_thai_result$$}}underscore.has($model$$.schema.paths,"of_user")&&$visible$$.push({of_user:$email$$});underscore.has($model$$.schema.paths,"phu_trach")&&$visible$$.push({phu_trach:{$in:$ds_dang_phu_trach$$}});underscore.has($model$$.schema.paths,"attends")&&$visible$$.push({attends:{$in:$ds_dang_phu_trach$$}});0<$visible$$.length&&($condition$$.$and||($condition$$.$and=[]),$condition$$.$and.push({$or:$visible$$}));$next$$(null,$condition$$,!1)})}})};
|
|
23
22
|
exports.getRightDataView=function($id_app$$,$model$$,$email$$,$next$$){exports.isAdmin($id_app$$,$email$$,function($condition$jscomp$1_e$$,$admin$$){if($condition$jscomp$1_e$$)return $next$$($condition$jscomp$1_e$$);$condition$jscomp$1_e$$={};if(!$admin$$&&!0===underscore.has($model$$.schema.paths,"dataview_to_users")){$condition$jscomp$1_e$$.$and||($condition$jscomp$1_e$$.$and=[]);let $dataview$$=[{dataview_to:null}];$dataview$$.push({dataview_to:0});$dataview$$.push({dataview_to:1,user_created:$email$$});
|
|
24
23
|
$dataview$$.push({dataview_to:2,dataview_to_users:$email$$});$condition$jscomp$1_e$$.$and.push({$or:$dataview$$})}$next$$(null,$condition$jscomp$1_e$$,$admin$$)})};
|
|
25
24
|
exports.getFieldNotRight=async($_fields_id_app$$,$_p_email$$,$ma_ct$$)=>{if(!$_fields_id_app$$)return[];$_p_email$$=await Participant.ofApp($_fields_id_app$$,$_p_email$$);if(0<$_p_email$$.length){$_p_email$$=$_p_email$$[0].group_id;let $field_not_right$$;try{$field_not_right$$=await right.getInfo($_fields_id_app$$,{email:$_p_email$$,module:$ma_ct$$.toLowerCase()},"field_not_right")}catch($e$$){return[]}$_fields_id_app$$=[];for(let $_key$$ in $field_not_right$$)$field_not_right$$[$_key$$]&&$_fields_id_app$$.push($_key$$);
|
|
@@ -11,12 +11,12 @@ $joinFields$$,$fn$$)};const getFields=$fields$$=>{_.isArray($fields$$)||($fields
|
|
|
11
11
|
Array.prototype.joinModel2=function($id_app$$,$model$jscomp$0$$,$joinFields$$,$fn$$,$options$$={cache:!0}){let $self$$=this;setImmediate(()=>{if(_.isArray($id_app$$)){let $model_1$$=$id_app$$,$joinFields_1$$=$model$jscomp$0$$,$fn_1$$=$joinFields$$;$id_app$$=void 0;$model$jscomp$0$$=$model_1$$;$joinFields$$=$joinFields_1$$;$fn$$=$fn_1$$}let $model_origin$$;_.isArray($model$jscomp$0$$)||($model_origin$$=$model$jscomp$0$$);(new Promise($resolve$$=>{setImmediate(()=>{_.isArray($joinFields$$)||($joinFields$$=
|
|
12
12
|
[$joinFields$$]);$joinFields$$.forEach($join$$=>{$join$$.fields_need_get_data||_.isArray($model$jscomp$0$$)||$join$$.setFields||$join$$.asyncSetFields||!$join$$.fields||_.isFunction($join$$.fields)||($join$$.fields_need_get_data=getFields($join$$.fields))});_.isArray($model$jscomp$0$$)?$resolve$$($model$jscomp$0$$):$resolve$$([])})})).then($model$$=>{async.map($self$$,function($item$$,$callback$jscomp$0$$){setImmediate(()=>{async.map($joinFields$$,function($join$$,$callback$$){setImmediate(()=>{let $query$$=
|
|
13
13
|
{};if($join$$.where)if(_.isFunction($join$$.where))$query$$=$join$$.where($item$$)||{};else{if(_.isString($join$$.where)){var $bkey_k$$=$join$$.where;$join$$.where={};$join$$.where[$bkey_k$$]=$bkey_k$$}for(let $akey$$ in $join$$.where)if($bkey_k$$=$join$$.where[$akey$$],_.isObject($bkey_k$$)?$query$$[$akey$$]=$bkey_k$$:$query$$[$bkey_k$$]=$item$$[$akey$$],"_id"==$bkey_k$$&&!$item$$[$akey$$])return console.log("can't join with this condition",$join$$.where),$callback$$(null)}if($join$$.akey&&$join$$.bkey){if("_id"==
|
|
14
|
-
$join$$.bkey&&!$item$$[$join$$.akey])return console.log("can't join with this condition",$join$$.akey,$join$$.bkey),$callback$$(null);$query$$[$join$$.bkey]=$item$$[$join$$.akey]}let $b$$=_.findWhere($model$$,$query$$),$d_session$$="";if($query$$._id)$d_session$$=
|
|
15
|
-
":"+$d_session$$:($id_app$$||"")+":"+$d_session$$}(new Promise(($resolve$jscomp$0$$,$reject$$)=>{
|
|
16
|
-
$resolve$$()})})).then($rep$$=>{setImmediate(async()=>{if($rep$$)$b$$=JSON.parse($rep$$),$resolve$jscomp$0$$($b$$);else{let $q$$={};for($fields$jscomp$1_key$$ in $query$$)void 0!==$query$$[$fields$jscomp$1_key$$]&&($q$$[$fields$jscomp$1_key$$]=$query$$[$fields$jscomp$1_key$$]);if(0===Object.keys($q$$).length)return $resolve$jscomp$0$$(null);$id_app$$&&($q$$.id_app=$id_app$$);if(""
|
|
17
|
-
$join$$.fields_need_get_data;if(_.isString($_model$$)){if(!mongoose.models[$_model$$])return $reject$$("Collection is not exists");$_model$$=mongoose.models[$_model$$]}try{const $rs$$=await $_model$$.findOne($q$$,$fields$jscomp$1_key$$).lean().exec();$rs$$&&($rs$$._id=$rs$$._id.toString(),$b$$=$rs$$);$resolve$jscomp$0$$($b$$)}catch($e$$){console.error($e$$),$resolve$jscomp$0$$($b$$)}}})})
|
|
18
|
-
($join$$.fields&&(_.isFunction($join$$.fields)?$join$$.fields($item$$,$b$$):(_.isArray($join$$.fields)||($join$$.fields=[$join$$.fields]),$join$$.fields.forEach(function($map$$){if(_.isObject($map$$)){let $name$$=$map$$.name,$value$$=$map$$.value;if($name$$&&$value$$)$item$$[$name$$]=$b$$[$value$$];else for(let $key$$ in $map$$)$item$$[$key$$]=$b$$[$map$$[$key$$]]}else $item$$[$map$$]
|
|
19
|
-
$b$$,()=>{$callback$$(null)})}):$callback$$(null)):$callback$$(null)})})})},function($error$$){setImmediate(()=>{if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$()})})})},function($error$$){setImmediate(()=>{$error$$&&console.error($error$$);$fn$$($self$$)})})}).catch($error$$=>{console.error($error$$);$fn$$($self$$)})})};
|
|
14
|
+
$join$$.bkey&&!$item$$[$join$$.akey])return console.log("can't join with this condition",$join$$.akey,$join$$.bkey),$callback$$(null);$query$$[$join$$.bkey]=$item$$[$join$$.akey]}let $_model$$;($_model$$="function"!==typeof $model_origin$$||$model_origin$$.findOne?$model_origin$$:$model_origin$$($item$$))&&$_model$$.schema&&($_model$$.schema.paths.id_app?$query$$.id_app=$item$$.id_app||$query$$.id_app:delete $query$$.id_app);let $b$$=_.findWhere($model$$,$query$$),$d_session$$="";if($query$$._id)$d_session$$=
|
|
15
|
+
"stp:"+$query$$._id;else{for(let $key$$ in $query$$)"id_app"!==$key$$&&$query$$[$key$$]&&($d_session$$=$d_session$$?$d_session$$+":"+$key$$+":"+$query$$[$key$$]:$key$$+":"+$query$$[$key$$]);$d_session$$=$query$$.id_app?"id_app:"+$query$$.id_app+":"+$d_session$$:($id_app$$||"")+":"+$d_session$$}(new Promise(($resolve$jscomp$0$$,$reject$$)=>{$_model$$&&!$b$$?(new Promise($resolve$$=>{setImmediate(()=>{$options$$.cache&&$d_session$$&&$_model$$.collection&&$_model$$.collection.name&&cachedKeys[$_model$$.collection.name.substring(0,
|
|
16
|
+
$_model$$.collection.name.length-1)]?global.clientRedis.get($d_session$$,function($err$$,$reply$$){$resolve$$($reply$$)}):$resolve$$()})})).then($rep$$=>{setImmediate(async()=>{if($rep$$)$b$$=JSON.parse($rep$$),$resolve$jscomp$0$$($b$$);else{let $q$$={};for($fields$jscomp$1_key$$ in $query$$)void 0!==$query$$[$fields$jscomp$1_key$$]&&($q$$[$fields$jscomp$1_key$$]=$query$$[$fields$jscomp$1_key$$]);if(0===Object.keys($q$$).length)return $resolve$jscomp$0$$(null);$id_app$$&&($q$$.id_app=$id_app$$);if(""==
|
|
17
|
+
$q$$._id||$q$$._id&&!global.mongoose.Types.ObjectId.isValid($q$$._id))return $resolve$jscomp$0$$(null);var $fields$jscomp$1_key$$=$join$$.fields_need_get_data;if(_.isString($_model$$)){if(!mongoose.models[$_model$$])return $reject$$("Collection is not exists");$_model$$=mongoose.models[$_model$$]}try{const $rs$$=await $_model$$.findOne($q$$,$fields$jscomp$1_key$$).lean().exec();$rs$$&&($rs$$._id=$rs$$._id.toString(),$b$$=$rs$$);$resolve$jscomp$0$$($b$$)}catch($e$$){console.error($e$$),$resolve$jscomp$0$$($b$$)}}})}):
|
|
18
|
+
$resolve$jscomp$0$$($b$$)})).then(()=>{setImmediate(()=>{$b$$&&($join$$.fields||$join$$.setFields||$join$$.asyncSetFields)?($join$$.fields&&(_.isFunction($join$$.fields)?$join$$.fields($item$$,$b$$):(_.isArray($join$$.fields)||($join$$.fields=[$join$$.fields]),$join$$.fields.forEach(function($map$$){if(_.isObject($map$$)){let $name$$=$map$$.name,$value$$=$map$$.value;if($name$$&&$value$$)$item$$[$name$$]=$b$$[$value$$];else for(let $key$$ in $map$$)$item$$[$key$$]=$b$$[$map$$[$key$$]]}else $item$$[$map$$]=
|
|
19
|
+
$b$$[$map$$]}))),$join$$.setFields&&$join$$.setFields($item$$,$b$$),$join$$.asyncSetFields?setImmediate(()=>{$join$$.asyncSetFields($item$$,$b$$,()=>{$callback$$(null)})}):$callback$$(null)):$callback$$(null)})})})},function($error$$){setImmediate(()=>{if($error$$)return $callback$jscomp$0$$($error$$);$callback$jscomp$0$$()})})})},function($error$$){setImmediate(()=>{$error$$&&console.error($error$$);$fn$$($self$$)})})}).catch($error$$=>{console.error($error$$);$fn$$($self$$)})})};
|
|
20
20
|
Array.prototype.asyncJoinModel2=function($id_app$$,$model$$,$joinFields$$,$options$$={cache:!0}){let $_this$$=this;return new Promise($resolve$$=>{$_this$$.joinModel2($id_app$$,$model$$,$joinFields$$,$rs$$=>{$resolve$$($rs$$)},$options$$)})};
|
|
21
21
|
Array.prototype.crossJoin=function($otherArray$$,$where$$,$fn$$){setImmediate(()=>{let $newArray$$=[];for(let $e1$$ of this){var $_otherArray__where$$={};if($where$$)for(let $key$$ in $where$$)$_otherArray__where$$[$where$$[$key$$]]=$e1$$[$key$$];$_otherArray__where$$=_.where($otherArray$$,$_otherArray__where$$);if(0===$_otherArray__where$$.length)$newArray$$.push($e1$$);else for(let $item$$ of $_otherArray__where$$)$_otherArray__where$$={},_.extend($_otherArray__where$$,$e1$$),_.extend($_otherArray__where$$,
|
|
22
22
|
$item$$),$newArray$$.push($_otherArray__where$$)}$fn$$($newArray$$)})};Array.prototype.asyncCrossJoin=function($otherArray$$,$where$$){let $_this$$=this;return new Promise($resolve$$=>{$_this$$.crossJoin($otherArray$$,$where$$,$rs$$=>{$resolve$$($rs$$)})})};
|
package/server/models/approve.js
CHANGED
|
@@ -61,8 +61,8 @@ app_info:$app_info$$},function($error$$){$error$$&&console.error("Khong the gui
|
|
|
61
61
|
model.approve=function($_c$$,$callback$$,$token$$){console.log("approve voucher....");let $key_data$$,$_id$$,$user_approved$$,$user_approved_name$$,$trang_thai$$;try{const $decipher$$=crypto.createDecipher("aes192","PVT@1");let $decrypted$$=$decipher$$.update($_c$$,"hex","utf8");$decrypted$$+=$decipher$$.final("utf8");$key_data$$=JSON.parse($decrypted$$);$_id$$=$key_data$$.id_request;$user_approved$$=$key_data$$.email;$user_approved_name$$=$key_data$$.name;$trang_thai$$=$key_data$$.trang_thai}catch($e$$){return $callback$$("Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb")}$_c$$=
|
|
62
62
|
{_id:$_id$$};void 0!==$trang_thai$$&&null!==$trang_thai$$&&($_c$$.trang_thai=$trang_thai$$);model.findOne($_c$$,($e$jscomp$3$$,$rq$$)=>{if($e$jscomp$3$$||!$rq$$)return $callback$$($e$jscomp$3$$||"Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if($rq$$.date_approved)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t b\u1edfi "+$rq$$.user_approved_name);if($rq$$.date_denied)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb t\u1eeb ch\u1ed1i duy\u1ec7t b\u1edfi "+
|
|
63
63
|
$rq$$.user_denied_name);$rq$$.date_approved=new Date;$rq$$.user_approved=$user_approved$$;$rq$$.user_approved_name=$user_approved_name$$;$rq$$.save(($e$jscomp$2$$,$approve$$)=>{if($e$jscomp$2$$)return $callback$$($e$jscomp$2$$);model.sendNotifyApproved($rq$$,$token$$);if($rq$$.update_after_approve&&$rq$$.update_after_approve.data)try{let $module_name$$=$rq$$.update_after_approve.module||$rq$$.update_after_approve.model,$ctrl$$;$module_name$$&&($ctrl$$=global.controllers[$module_name$$.toUpperCase()]);
|
|
64
|
-
let $_m$$;$rq$$.update_after_approve.model?$_m$$=global.getModel($rq$$.update_after_approve.model):$ctrl$$&&($_m$$=$ctrl$$.getProperty("model"));if(!$_m$$)return;$_m$$.findOneAndUpdate({_id:$rq$$.id_ct},$rq$$.update_after_approve.data,async $e$jscomp$1$$=>{if($e$jscomp$1$$)return console.error("Can't update data after approved, error:",$e$jscomp$1$$);if($ctrl$$)try{const $obj$$=await $_m$$.findOne({_id:$rq$$.id_ct})
|
|
65
|
-
const $app_info$$=await App.findOne({_id:$obj$$.id_app});$ctrl$$.handleAfterAproved&&await $ctrl$$.handleAfterAproved($obj$$);console.log("request to approve next step");$ctrl$$.onView($u$$,[$obj$$.toObject()],($e$jscomp$0$$,$rs$$)=>{$ctrl$$.requestApprove($app_info$$,$u$$,$rs$$[0],$e$$=>{$e$$&&console.error($e$$)})})}catch($e$$){console.error($e$$)}})}catch($e$$){console.error("Can't update data after approved, error:",$e$$.message)}$callback$$(null,$approve$$)})})};
|
|
64
|
+
let $_m$$;$rq$$.update_after_approve.model?$_m$$=global.getModel($rq$$.update_after_approve.model):$ctrl$$&&($_m$$=$ctrl$$.getProperty("model"));if(!$_m$$)return;$_m$$.findOneAndUpdate({_id:$rq$$.id_ct},$rq$$.update_after_approve.data,async $e$jscomp$1$$=>{if($e$jscomp$1$$)return console.error("Can't update data after approved, error:",$e$jscomp$1$$);if($ctrl$$)try{const $obj$$=await $_m$$.findOne({_id:$rq$$.id_ct});if($obj$$){const $u$$=await User.findOne({email:$user_approved$$});$u$$.current_id_app=
|
|
65
|
+
$obj$$.id_app;const $app_info$$=await App.findOne({_id:$obj$$.id_app});$ctrl$$.handleAfterAproved&&await $ctrl$$.handleAfterAproved($obj$$);console.log("request to approve next step");$ctrl$$.onView($u$$,[$obj$$.toObject()],($e$jscomp$0$$,$rs$$)=>{$ctrl$$.requestApprove($app_info$$,$u$$,$rs$$[0],$e$$=>{$e$$&&console.error($e$$)})})}}catch($e$$){console.error($e$$)}})}catch($e$$){console.error("Can't update data after approved, error:",$e$$.message)}$callback$$(null,$approve$$)})})};
|
|
66
66
|
model.deny=function($_c$jscomp$2_encrypted$$,$callback$$,$token$$,$options$$={reason:""}){let $key_data$$,$_id$$,$user_denied$$,$user_denied_name$$,$trang_thai$$;try{const $decipher$$=crypto.createDecipher("aes192","PVT@1");let $decrypted$$=$decipher$$.update($_c$jscomp$2_encrypted$$,"hex","utf8");$decrypted$$+=$decipher$$.final("utf8");$key_data$$=JSON.parse($decrypted$$);$_id$$=$key_data$$.id_request;$user_denied$$=$key_data$$.email;$user_denied_name$$=$key_data$$.name;$trang_thai$$=$key_data$$.trang_thai}catch($e$$){return $callback$$("Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng c\u00f3 gi\u00e1 tr\u1ecb")}$_c$jscomp$2_encrypted$$=
|
|
67
67
|
{_id:$_id$$};void 0!==$trang_thai$$&&null!==$trang_thai$$&&($_c$jscomp$2_encrypted$$.trang_thai=$trang_thai$$);model.findOne($_c$jscomp$2_encrypted$$,($e$jscomp$2$$,$rq$$)=>{if($e$jscomp$2$$||!$rq$$)return $callback$$($e$jscomp$2$$||"Y\u00eau c\u1ea7u n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i");if($rq$$.date_approved)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 \u0111\u01b0\u1ee3c duy\u1ec7t b\u1edfi "+$rq$$.user_approved_name);if($rq$$.date_denied)return $callback$$("Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb t\u1eeb ch\u1ed1i duy\u1ec7t b\u1edfi "+
|
|
68
68
|
$rq$$.user_denied_name);$rq$$.date_denied=new Date;$rq$$.user_denied=$user_denied$$;$rq$$.user_denied_name=$user_denied_name$$;$rq$$.denied_reason=$options$$.reason||"";$rq$$.save(($e$jscomp$1$$,$approve$$)=>{if($e$jscomp$1$$)return $callback$$($e$jscomp$1$$);App.emitEvent($rq$$.id_app,null,{_id:$rq$$.id_ct,id_app:$rq$$.id_app,body:"Y\u00eau c\u1ea7u n\u00e0y \u0111\u00e3 b\u1ecb t\u1eeb ch\u1ed1i duy\u1ec7t",code:$rq$$.ma_ct},$token$$,[$rq$$.user_request]);validator.isEmail($rq$$.user_request)&&
|
package/server/models/cart.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
'use strict';const cartSchema=new Schema({id_app:{type:String,required:!0},id_app_vt:{type:String,maxlength:1024},user:{type:String},ma_vt:{type:String,required:!0,maxlength:1024},ten_vt:String,ma_dvt:{type:String,required:!0,maxlength:32},thuoc_tinh:Schema.Types.Mixed,km_yn_for:String,sl_xuat:{type:Number,default:1},gia_ban:{type:Number,default:0},id_cs:String,collection_cs:String,ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,
|
|
2
|
-
maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_tinh_thanh:String,ma_quan_huyen:String,ma_xa_phuong:String,trang_thai:{type:String,default:"0"},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},
|
|
3
|
-
visible_to:{type:Number,default:0},visible_to_users:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]}});cartSchema.index({id_app:1,user:1});cartSchema.index({user:"text",ma_vt:"text",ten_vt:"text"},{name:"cart_index"});cartSchema.index({trang_thai:1});cartSchema.index({status:1});cartSchema.index({ma_tt1:1});cartSchema.index({ma_tt2:1});cartSchema.index({ma_tt3:1});
|
|
4
|
-
cartSchema.index({han_sd:1});cartSchema.index({km_yn_for:1});cartSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.cart||mongoose.model("cart",cartSchema);module.exports=model;
|
|
2
|
+
maxlength:32},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},ma_tinh_thanh:String,ma_quan_huyen:String,ma_xa_phuong:String,shared:{type:Boolean,default:!0},trang_thai:{type:String,default:"0"},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},
|
|
3
|
+
user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]}});cartSchema.index({id_app:1,user:1});cartSchema.index({user:"text",ma_vt:"text",ten_vt:"text"},{name:"cart_index"});cartSchema.index({trang_thai:1});cartSchema.index({status:1});cartSchema.index({ma_tt1:1});cartSchema.index({ma_tt2:1});cartSchema.index({ma_tt3:1});
|
|
4
|
+
cartSchema.index({ma_lo:1});cartSchema.index({han_sd:1});cartSchema.index({km_yn_for:1});cartSchema.index({user_created:1,visible_to:1,visible_to_users:1});const model=mongoose.models.cart||mongoose.model("cart",cartSchema);module.exports=model;
|