flexbiz-server 12.7.1 → 12.7.2
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 +5 -5
- package/server/app.js +23 -348
- package/server/cluster.js +1 -5
- package/server/models/account.js +7 -0
- package/server/models/actionLog.js +2 -0
- package/server/models/afflink.js +2 -0
- package/server/models/aimemory.js +1 -0
- package/server/models/app.js +16 -0
- package/server/models/approve.js +95 -0
- package/server/models/assabcihandler.js +35 -0
- package/server/models/assbank.js +19 -0
- package/server/models/assbooking.js +4 -0
- package/server/models/assbuy.js +3 -0
- package/server/models/asscashwithdraw.js +4 -0
- package/server/models/assfindhash.js +2 -0
- package/server/models/assinvestment.js +13 -0
- package/server/models/assissue.js +2 -0
- package/server/models/asskey.js +15 -0
- package/server/models/assneedtobuy.js +6 -0
- package/server/models/assperiod.js +7 -0
- package/server/models/assproduct.js +13 -0
- package/server/models/assprofitsharing.js +4 -0
- package/server/models/assreceiver.js +2 -0
- package/server/models/assrequest.js +10 -0
- package/server/models/asssell.js +7 -0
- package/server/models/asstransaction.js +3 -0
- package/server/models/asstransfer.js +4 -0
- package/server/models/assuser_identity.js +4 -0
- package/server/models/asswithdraw.js +4 -0
- package/server/models/attend.js +2 -0
- package/server/models/banggiaban.js +8 -0
- package/server/models/bangtinhluong.js +6 -0
- package/server/models/base.js +1 -0
- package/server/models/bg1.js +9 -0
- package/server/models/bg2.js +10 -0
- package/server/models/cache.js +3 -0
- package/server/models/cacheDataReport.js +2 -0
- package/server/models/cacheSessionReport.js +5 -0
- package/server/models/calllog.js +4 -0
- package/server/models/cart.js +5 -0
- package/server/models/cddiem.js +2 -0
- package/server/models/cddt.js +3 -0
- package/server/models/cdkh.js +5 -0
- package/server/models/cdkhtheongay.js +5 -0
- package/server/models/cdnphep.js +2 -0
- package/server/models/cdtk.js +3 -0
- package/server/models/cdtktheongay.js +3 -0
- package/server/models/cdvt.js +5 -0
- package/server/models/cdvtnpp.js +6 -0
- package/server/models/cdvttheongay.js +5 -0
- package/server/models/chamcong.js +7 -0
- package/server/models/chat_message.js +2 -0
- package/server/models/chat_session.js +2 -0
- package/server/models/checkin.js +4 -0
- package/server/models/checkinactivity.js +3 -0
- package/server/models/checkinkpi.js +4 -0
- package/server/models/checkinlocation.js +2 -0
- package/server/models/chitietluongds.js +12 -0
- package/server/models/chitieukpi.js +3 -0
- package/server/models/chudethaoluan.js +3 -0
- package/server/models/ckgtluong.js +2 -0
- package/server/models/colleague.js +2 -0
- package/server/models/comment.js +4 -0
- package/server/models/congdoansx.js +4 -0
- package/server/models/congtacvien.js +4 -0
- package/server/models/congthuctinhgiaban.js +8 -0
- package/server/models/consultant.js +4 -0
- package/server/models/contract.js +6 -0
- package/server/models/counter.js +2 -0
- package/server/models/csluongtheods.js +3 -0
- package/server/models/csphucap.js +2 -0
- package/server/models/ctds.js +5 -0
- package/server/models/ctds2.js +7 -0
- package/server/models/currency.js +3 -0
- package/server/models/custom_report.js +1 -0
- package/server/models/customer.js +31 -0
- package/server/models/customer_care.js +2 -0
- package/server/models/data_list_config.js +7 -0
- package/server/models/databanle.js +8 -0
- package/server/models/datlich.js +4 -0
- package/server/models/deal.js +2 -0
- package/server/models/dh2.js +20 -0
- package/server/models/diagram.js +2 -0
- package/server/models/dinhmucsx.js +8 -0
- package/server/models/dkhoc.js +6 -0
- package/server/models/dknphep.js +2 -0
- package/server/models/dmban.js +4 -0
- package/server/models/dmbp.js +12 -0
- package/server/models/dmca.js +2 -0
- package/server/models/dmchietkhau.js +8 -0
- package/server/models/dmchietkhauhd.js +19 -0
- package/server/models/dmchinhanh.js +2 -0
- package/server/models/dmcpmh.js +2 -0
- package/server/models/dmdiemthuong.js +3 -0
- package/server/models/dmdoi.js +4 -0
- package/server/models/dmdoituongdanhgia.js +2 -0
- package/server/models/dmdt.js +8 -0
- package/server/models/dmdvt.js +3 -0
- package/server/models/dmgiaban.js +9 -0
- package/server/models/dmgiamua.js +5 -0
- package/server/models/dmgiathitruong.js +5 -0
- package/server/models/dmgiathitruong_ngay.js +2 -0
- package/server/models/dmgiathitruong_theodoi.js +2 -0
- package/server/models/dmhoahonghd.js +8 -0
- package/server/models/dmhoahongnpp.js +8 -0
- package/server/models/dmkc.js +3 -0
- package/server/models/dmkho.js +7 -0
- package/server/models/dmkhuyenmai.js +9 -0
- package/server/models/dmkhuyenmaihd.js +11 -0
- package/server/models/dmletet.js +2 -0
- package/server/models/dmlo.js +4 -0
- package/server/models/dmloaicong.js +4 -0
- package/server/models/dmloaitask.js +2 -0
- package/server/models/dmloaits.js +2 -0
- package/server/models/dmnckkm.js +4 -0
- package/server/models/dmnghiepvu.js +4 -0
- package/server/models/dmnguonvon.js +2 -0
- package/server/models/dmnhnv.js +4 -0
- package/server/models/dmnv.js +17 -0
- package/server/models/dmnvt.js +10 -0
- package/server/models/dmphi.js +3 -0
- package/server/models/dmqct.js +3 -0
- package/server/models/dmqddvt.js +3 -0
- package/server/models/dmtanggiamts.js +3 -0
- package/server/models/dmto.js +4 -0
- package/server/models/dmtt.js +6 -0
- package/server/models/dmvt.js +17 -0
- package/server/models/dmyt.js +4 -0
- package/server/models/dn0.js +13 -0
- package/server/models/dnm.js +11 -0
- package/server/models/dokho.js +2 -0
- package/server/models/domain.js +2 -0
- package/server/models/dvcs.js +3 -0
- package/server/models/ecomcategories.js +3 -0
- package/server/models/ecomcategories_cty.js +3 -0
- package/server/models/ecomproductlines.js +2 -0
- package/server/models/ecompromotion_flashsales.js +2 -0
- package/server/models/ecompromotion_freeships.js +2 -0
- package/server/models/email.js +2 -0
- package/server/models/endpoint.js +1 -0
- package/server/models/events.js +3 -0
- package/server/models/evoucher.js +5 -0
- package/server/models/experiencejourney.js +2 -0
- package/server/models/experiencejourneydata.js +4 -0
- package/server/models/experiencejourneypersona.js +3 -0
- package/server/models/experiencejourneystage.js +2 -0
- package/server/models/exportexceltemplate.js +2 -0
- package/server/models/fbconversation.js +15 -0
- package/server/models/fbmessage.js +2 -0
- package/server/models/fbpage.js +2 -0
- package/server/models/fbpost.js +2 -0
- package/server/models/fieldright.js +2 -0
- package/server/models/fifo_dk.js +2 -0
- package/server/models/fifo_lot.js +3 -0
- package/server/models/fifo_trace.js +4 -0
- package/server/models/file.js +4 -0
- package/server/models/filechunk.js +2 -0
- package/server/models/financialroadmap.js +3 -0
- package/server/models/flow.js +2 -0
- package/server/models/flowdata.js +3 -0
- package/server/models/flowpending.js +2 -0
- package/server/models/folder.js +4 -0
- package/server/models/follow.js +2 -0
- package/server/models/forminfo.js +5 -0
- package/server/models/giaoca.js +4 -0
- package/server/models/giatb.js +3 -0
- package/server/models/group.js +9 -0
- package/server/models/gt_ctgt.js +4 -0
- package/server/models/gt_hspb.js +3 -0
- package/server/models/gt_sltk.js +3 -0
- package/server/models/gt_thcppstk.js +3 -0
- package/server/models/hanmucton.js +4 -0
- package/server/models/hd1.js +11 -0
- package/server/models/hd2.js +26 -0
- package/server/models/hd3.js +17 -0
- package/server/models/hd4.js +13 -0
- package/server/models/hd7.js +17 -0
- package/server/models/hd8.js +12 -0
- package/server/models/hde.js +11 -0
- package/server/models/hmcn.js +3 -0
- package/server/models/hmcnct.js +2 -0
- package/server/models/hspbts.js +4 -0
- package/server/models/htl.js +13 -0
- package/server/models/importexceltemplate.js +2 -0
- package/server/models/introducebonus.js +4 -0
- package/server/models/introducecode.js +3 -0
- package/server/models/introducer.js +4 -0
- package/server/models/kbbtpb.js +7 -0
- package/server/models/kbmPttct.js +4 -0
- package/server/models/kbmTkgtgt.js +5 -0
- package/server/models/kbm_bcdkt_old.js +4 -0
- package/server/models/kbm_kqhdkd_old.js +3 -0
- package/server/models/kbm_lcttgt_old.js +5 -0
- package/server/models/kbm_lctttt_old.js +4 -0
- package/server/models/kbm_pttct_old.js +4 -0
- package/server/models/kbm_tkgtgt_old.js +5 -0
- package/server/models/kbmbcdkt.js +4 -0
- package/server/models/kbmbcqt.js +4 -0
- package/server/models/kbmkqhdkd.js +3 -0
- package/server/models/kbmlcttgt.js +6 -0
- package/server/models/kbmlctttt.js +4 -0
- package/server/models/kbmtmbctc.js +4 -0
- package/server/models/kehoachdtcp.js +3 -0
- package/server/models/kehoachmh.js +8 -0
- package/server/models/keyresult.js +7 -0
- package/server/models/khunghangthanhvien.js +3 -0
- package/server/models/label.js +2 -0
- package/server/models/labelinfo.js +2 -0
- package/server/models/lenhcapphat.js +8 -0
- package/server/models/lenhsx.js +8 -0
- package/server/models/lienhe.js +4 -0
- package/server/models/like_module.js +2 -0
- package/server/models/link.js +2 -0
- package/server/models/listinfo.js +1365 -0
- package/server/models/loaidiem.js +2 -0
- package/server/models/lock.js +2 -0
- package/server/models/log.js +8 -0
- package/server/models/mailaccount.js +3 -0
- package/server/models/mailgroup.js +3 -0
- package/server/models/mailreceived.js +2 -0
- package/server/models/mailsent.js +2 -0
- package/server/models/mailtemplate.js +2 -0
- package/server/models/maudanhgia.js +2 -0
- package/server/models/menuinfo.js +2 -0
- package/server/models/message.js +8 -0
- package/server/models/message2.js +4 -0
- package/server/models/message2setting.js +3 -0
- package/server/models/moduleinfo.js +4 -0
- package/server/models/momo.js +18 -0
- package/server/models/news.js +3 -0
- package/server/models/newsfeed.js +4 -0
- package/server/models/note.js +2 -0
- package/server/models/notification.js +8 -0
- package/server/models/okr.js +4 -0
- package/server/models/okrdiagram.js +3 -0
- package/server/models/onepay.js +24 -0
- package/server/models/opportunity.js +4 -0
- package/server/models/options.js +2 -0
- package/server/models/originimportid.js +1 -0
- package/server/models/otp.js +1 -0
- package/server/models/parameter.js +2 -0
- package/server/models/participant.js +21 -0
- package/server/models/partner.js +1 -0
- package/server/models/payload.js +1 -0
- package/server/models/pbl.js +16 -0
- package/server/models/pc0.js +13 -0
- package/server/models/pc1.js +14 -0
- package/server/models/pc2.js +13 -0
- package/server/models/pc3.js +13 -0
- package/server/models/pc5.js +8 -0
- package/server/models/pc6.js +14 -0
- package/server/models/pcl.js +6 -0
- package/server/models/pdn.js +9 -0
- package/server/models/pdx.js +9 -0
- package/server/models/pgh.js +5 -0
- package/server/models/phieudanhgia.js +3 -0
- package/server/models/pht.js +8 -0
- package/server/models/phucap.js +4 -0
- package/server/models/pkc.js +6 -0
- package/server/models/pkh.js +6 -0
- package/server/models/pkk.js +10 -0
- package/server/models/pkt.js +12 -0
- package/server/models/pn1.js +18 -0
- package/server/models/pn2.js +12 -0
- package/server/models/pn3.js +13 -0
- package/server/models/pn5.js +14 -0
- package/server/models/pn6.js +14 -0
- package/server/models/pn9.js +17 -0
- package/server/models/pnc.js +9 -0
- package/server/models/pnh.js +11 -0
- package/server/models/pnk.js +10 -0
- package/server/models/po1.js +19 -0
- package/server/models/ppb.js +6 -0
- package/server/models/productcode.js +2 -0
- package/server/models/profile.js +4 -0
- package/server/models/pt1.js +12 -0
- package/server/models/pt5.js +8 -0
- package/server/models/ptl.js +5 -0
- package/server/models/ptthanhtoan.js +6 -0
- package/server/models/purchase_contract.js +17 -0
- package/server/models/pxc.js +9 -0
- package/server/models/pxh.js +11 -0
- package/server/models/pxk.js +9 -0
- package/server/models/qts.js +14 -0
- package/server/models/qts_dieuchinh.js +3 -0
- package/server/models/qts_dieuchuyen.js +4 -0
- package/server/models/quanhuyen.js +2 -0
- package/server/models/reason.js +2 -0
- package/server/models/receivedinvoice.js +2 -0
- package/server/models/reportinfo.js +5 -0
- package/server/models/right.js +4 -0
- package/server/models/rpt.js +2 -0
- package/server/models/rptform.js +3 -0
- package/server/models/rptobject.js +2 -0
- package/server/models/sale_contract.js +9 -0
- package/server/models/schedule.js +18 -0
- package/server/models/schedule_log.js +2 -0
- package/server/models/shipbook.js +12 -0
- package/server/models/shortcut.js +2 -0
- package/server/models/smsaccount.js +10 -0
- package/server/models/smssend.js +2 -0
- package/server/models/so1.js +22 -0
- package/server/models/so5.js +15 -0
- package/server/models/so9.js +19 -0
- package/server/models/socai.js +28 -0
- package/server/models/socainpp.js +18 -0
- package/server/models/socaitc.js +6 -0
- package/server/models/socaitmp.js +16 -0
- package/server/models/socaitt.js +4 -0
- package/server/models/sodiemthuong.js +4 -0
- package/server/models/sokho.js +27 -0
- package/server/models/sokhocapphat.js +18 -0
- package/server/models/sokhokhongton.js +19 -0
- package/server/models/sokhonpp.js +19 -0
- package/server/models/sokhotc.js +8 -0
- package/server/models/sokhott.js +18 -0
- package/server/models/sophanbokh.js +3 -0
- package/server/models/sosanxuat.js +5 -0
- package/server/models/sotinhkh.js +2 -0
- package/server/models/spdd_ck.js +3 -0
- package/server/models/spdd_dk.js +3 -0
- package/server/models/step.js +2 -0
- package/server/models/strategicdiagram.js +3 -0
- package/server/models/strategicgoal.js +4 -0
- package/server/models/strategickpi.js +6 -0
- package/server/models/strategicobjective.js +5 -0
- package/server/models/strategicplan.js +5 -0
- package/server/models/subscribe.js +2 -0
- package/server/models/support.js +2 -0
- package/server/models/synctime.js +2 -0
- package/server/models/sys_job_queue_book_keeping.js +2 -0
- package/server/models/sysconfig.js +2 -0
- package/server/models/sysgroup.js +2 -0
- package/server/models/tableinfo.js +3 -0
- package/server/models/task.js +9 -0
- package/server/models/tc.js +2 -0
- package/server/models/tdttco.js +9 -0
- package/server/models/tdttco_tt.js +5 -0
- package/server/models/tdttno.js +9 -0
- package/server/models/tdttno_tt.js +5 -0
- package/server/models/templaterpt.js +2 -0
- package/server/models/templatestore.js +3 -0
- package/server/models/templatevoucher.js +3 -0
- package/server/models/tinhthanh.js +2 -0
- package/server/models/tokens.js +3 -0
- package/server/models/tontucthoi.js +9 -0
- package/server/models/trangthai.js +4 -0
- package/server/models/trangthaiapp.js +4 -0
- package/server/models/transaction.js +16 -0
- package/server/models/trialinfo.js +2 -0
- package/server/models/user.js +40 -0
- package/server/models/usergroup.js +7 -0
- package/server/models/vanchuyen.js +12 -0
- package/server/models/vat.js +3 -0
- package/server/models/vatra.js +6 -0
- package/server/models/vatvao.js +6 -0
- package/server/models/versioninfo.js +2 -0
- package/server/models/vietqrbanks.js +2 -0
- package/server/models/vsocai.js +6 -0
- package/server/models/wallet.js +8 -0
- package/server/models/warranty.js +3 -0
- package/server/models/warrantyclaim.js +2 -0
- package/server/models/warrantypolicy.js +1 -0
- package/server/models/workflow.js +4 -0
- package/server/models/xaphuong.js +2 -0
- package/server/models/xhd.js +10 -0
- package/server/models/ytdd_ck.js +4 -0
- package/server/models/ytdd_dk.js +4 -0
- package/server/models/zalo.js +17 -0
- package/server/modules/lists/bg-cddiem.js +6 -0
- package/server/modules/lists/bg-cddt.js +7 -0
- package/server/modules/lists/bg-cdkh.js +11 -0
- package/server/modules/lists/bg-cdnphep.js +6 -0
- package/server/modules/lists/bg-cdtk.js +9 -0
- package/server/modules/lists/bg-cdvt.js +8 -0
- package/server/modules/lists/bg-cdvtnpp.js +8 -0
- package/server/modules/lists/bg-fifo_dk.js +8 -0
- package/server/modules/lists/ls-account.js +4 -0
- package/server/modules/lists/ls-afflink.js +3 -0
- package/server/modules/lists/ls-approve.js +5 -0
- package/server/modules/lists/ls-assabcihandler.js +3 -0
- package/server/modules/lists/ls-assbank.js +3 -0
- package/server/modules/lists/ls-assbooking.js +20 -0
- package/server/modules/lists/ls-assbuy.js +8 -0
- package/server/modules/lists/ls-asscashwithdraw.js +8 -0
- package/server/modules/lists/ls-assinvestment.js +31 -0
- package/server/modules/lists/ls-assissue.js +3 -0
- package/server/modules/lists/ls-asskey.js +41 -0
- package/server/modules/lists/ls-assneedtobuy.js +10 -0
- package/server/modules/lists/ls-assperiod.js +19 -0
- package/server/modules/lists/ls-assproduct.js +9 -0
- package/server/modules/lists/ls-assprofitsharing.js +8 -0
- package/server/modules/lists/ls-assreceiver.js +3 -0
- package/server/modules/lists/ls-assrequest.js +4 -0
- package/server/modules/lists/ls-asssell.js +13 -0
- package/server/modules/lists/ls-asstransaction.js +3 -0
- package/server/modules/lists/ls-asstransfer.js +3 -0
- package/server/modules/lists/ls-assuser_identity.js +1 -0
- package/server/modules/lists/ls-asswithdraw.js +12 -0
- package/server/modules/lists/ls-bangtinhluong.js +2 -0
- package/server/modules/lists/ls-calllog.js +4 -0
- package/server/modules/lists/ls-cart.js +14 -0
- package/server/modules/lists/ls-chamcong.js +3 -0
- package/server/modules/lists/ls-chat_session.js +5 -0
- package/server/modules/lists/ls-checkin.js +24 -0
- package/server/modules/lists/ls-checkinactivity.js +8 -0
- package/server/modules/lists/ls-checkinkpi.js +3 -0
- package/server/modules/lists/ls-checkinlocation.js +1 -0
- package/server/modules/lists/ls-chitietluongds.js +4 -0
- package/server/modules/lists/ls-chitieukpi.js +1 -0
- package/server/modules/lists/ls-chudethaoluan.js +1 -0
- package/server/modules/lists/ls-ckgtluong.js +1 -0
- package/server/modules/lists/ls-comment.js +9 -0
- package/server/modules/lists/ls-congdoansx.js +3 -0
- package/server/modules/lists/ls-congtacvien.js +5 -0
- package/server/modules/lists/ls-consultant.js +2 -0
- package/server/modules/lists/ls-contract.js +7 -0
- package/server/modules/lists/ls-csluongtheods.js +1 -0
- package/server/modules/lists/ls-csphucap.js +1 -0
- package/server/modules/lists/ls-ctds.js +4 -0
- package/server/modules/lists/ls-ctds2.js +4 -0
- package/server/modules/lists/ls-currency.js +1 -0
- package/server/modules/lists/ls-customer.js +22 -0
- package/server/modules/lists/ls-customer_care.js +1 -0
- package/server/modules/lists/ls-datlich.js +9 -0
- package/server/modules/lists/ls-dckhauhaots.js +3 -0
- package/server/modules/lists/ls-deal.js +3 -0
- package/server/modules/lists/ls-diagram.js +1 -0
- package/server/modules/lists/ls-dkhoc.js +6 -0
- package/server/modules/lists/ls-dknphep.js +1 -0
- package/server/modules/lists/ls-dmban.js +4 -0
- package/server/modules/lists/ls-dmbp.js +7 -0
- package/server/modules/lists/ls-dmca.js +1 -0
- package/server/modules/lists/ls-dmchietkhau.js +19 -0
- package/server/modules/lists/ls-dmchietkhauhd.js +4 -0
- package/server/modules/lists/ls-dmchinhanh.js +1 -0
- package/server/modules/lists/ls-dmchucvu.js +2 -0
- package/server/modules/lists/ls-dmcpmh.js +1 -0
- package/server/modules/lists/ls-dmdiemthuong.js +4 -0
- package/server/modules/lists/ls-dmdoi.js +4 -0
- package/server/modules/lists/ls-dmdoituongdanhgia.js +1 -0
- package/server/modules/lists/ls-dmdt.js +11 -0
- package/server/modules/lists/ls-dmdvt.js +2 -0
- package/server/modules/lists/ls-dmgiaban.js +4 -0
- package/server/modules/lists/ls-dmgiamua.js +4 -0
- package/server/modules/lists/ls-dmgiathitruong.js +15 -0
- package/server/modules/lists/ls-dmgiathitruong_ngay.js +2 -0
- package/server/modules/lists/ls-dmgiathitruong_theodoi.js +1 -0
- package/server/modules/lists/ls-dmhoahonghd.js +1 -0
- package/server/modules/lists/ls-dmhoahongnpp.js +1 -0
- package/server/modules/lists/ls-dmkc.js +3 -0
- package/server/modules/lists/ls-dmkho.js +7 -0
- package/server/modules/lists/ls-dmkhuyenmai.js +5 -0
- package/server/modules/lists/ls-dmkhuyenmaihd.js +3 -0
- package/server/modules/lists/ls-dmletet.js +1 -0
- package/server/modules/lists/ls-dmlo.js +1 -0
- package/server/modules/lists/ls-dmloaicong.js +1 -0
- package/server/modules/lists/ls-dmloaits.js +1 -0
- package/server/modules/lists/ls-dmnckkm.js +7 -0
- package/server/modules/lists/ls-dmnghiepvu.js +1 -0
- package/server/modules/lists/ls-dmnguonvon.js +1 -0
- package/server/modules/lists/ls-dmnhnv.js +6 -0
- package/server/modules/lists/ls-dmnhtask.js +5 -0
- package/server/modules/lists/ls-dmnkh.js +6 -0
- package/server/modules/lists/ls-dmntt.js +6 -0
- package/server/modules/lists/ls-dmnv.js +14 -0
- package/server/modules/lists/ls-dmnvt.js +7 -0
- package/server/modules/lists/ls-dmphi.js +6 -0
- package/server/modules/lists/ls-dmqct.js +2 -0
- package/server/modules/lists/ls-dmqddvt.js +3 -0
- package/server/modules/lists/ls-dmtanggiamts.js +1 -0
- package/server/modules/lists/ls-dmto.js +5 -0
- package/server/modules/lists/ls-dmtt.js +7 -0
- package/server/modules/lists/ls-dmvt.js +52 -0
- package/server/modules/lists/ls-dmyt.js +1 -0
- package/server/modules/lists/ls-dokho.js +1 -0
- package/server/modules/lists/ls-dvcs.js +1 -0
- package/server/modules/lists/ls-ecomcategories.js +5 -0
- package/server/modules/lists/ls-ecomcategories_cty.js +5 -0
- package/server/modules/lists/ls-email.js +4 -0
- package/server/modules/lists/ls-events.js +3 -0
- package/server/modules/lists/ls-evoucher.js +3 -0
- package/server/modules/lists/ls-experiencejourney.js +1 -0
- package/server/modules/lists/ls-experiencejourneydata.js +3 -0
- package/server/modules/lists/ls-experiencejourneypersona.js +4 -0
- package/server/modules/lists/ls-experiencejourneystage.js +1 -0
- package/server/modules/lists/ls-fbconversation.js +2 -0
- package/server/modules/lists/ls-fbmessage.js +2 -0
- package/server/modules/lists/ls-fbpage.js +11 -0
- package/server/modules/lists/ls-fbpost.js +2 -0
- package/server/modules/lists/ls-file.js +38 -0
- package/server/modules/lists/ls-financialroadmap.js +3 -0
- package/server/modules/lists/ls-flow.js +6 -0
- package/server/modules/lists/ls-flowdata.js +1 -0
- package/server/modules/lists/ls-flowpending.js +3 -0
- package/server/modules/lists/ls-folder.js +1 -0
- package/server/modules/lists/ls-forminfo.js +1 -0
- package/server/modules/lists/ls-giaoca.js +5 -0
- package/server/modules/lists/ls-group.js +5 -0
- package/server/modules/lists/ls-hmcn.js +2 -0
- package/server/modules/lists/ls-hspbts.js +3 -0
- package/server/modules/lists/ls-introducebonus.js +4 -0
- package/server/modules/lists/ls-introducecode.js +10 -0
- package/server/modules/lists/ls-introducer.js +21 -0
- package/server/modules/lists/ls-kbm-bcdkt.js +1 -0
- package/server/modules/lists/ls-kbm-bcqt.js +5 -0
- package/server/modules/lists/ls-kbm-kqhdkd.js +1 -0
- package/server/modules/lists/ls-kbm-lcttgt.js +1 -0
- package/server/modules/lists/ls-kbm-lctttt.js +1 -0
- package/server/modules/lists/ls-kbm-pttct.js +3 -0
- package/server/modules/lists/ls-kbm-tkgtgt.js +3 -0
- package/server/modules/lists/ls-kbm-tmbctc.js +3 -0
- package/server/modules/lists/ls-kehoachdtcp.js +4 -0
- package/server/modules/lists/ls-keyresult.js +7 -0
- package/server/modules/lists/ls-khunghangthanhvien.js +1 -0
- package/server/modules/lists/ls-label.js +1 -0
- package/server/modules/lists/ls-lienhe.js +4 -0
- package/server/modules/lists/ls-like-module.js +1 -0
- package/server/modules/lists/ls-link.js +1 -0
- package/server/modules/lists/ls-loaidiem.js +1 -0
- package/server/modules/lists/ls-lock.js +1 -0
- package/server/modules/lists/ls-log.js +3 -0
- package/server/modules/lists/ls-mailaccount.js +5 -0
- package/server/modules/lists/ls-mailreceived.js +5 -0
- package/server/modules/lists/ls-mailsent.js +4 -0
- package/server/modules/lists/ls-mailtemplate.js +4 -0
- package/server/modules/lists/ls-maudanhgia.js +3 -0
- package/server/modules/lists/ls-message2.js +8 -0
- package/server/modules/lists/ls-message2setting.js +5 -0
- package/server/modules/lists/ls-news.js +7 -0
- package/server/modules/lists/ls-newsfeed.js +4 -0
- package/server/modules/lists/ls-note.js +6 -0
- package/server/modules/lists/ls-okr.js +5 -0
- package/server/modules/lists/ls-okrdiagram.js +1 -0
- package/server/modules/lists/ls-opportunity.js +5 -0
- package/server/modules/lists/ls-options.js +4 -0
- package/server/modules/lists/ls-parameter.js +3 -0
- package/server/modules/lists/ls-participant.js +12 -0
- package/server/modules/lists/ls-phieudanhgia.js +7 -0
- package/server/modules/lists/ls-phucap.js +2 -0
- package/server/modules/lists/ls-productcode.js +9 -0
- package/server/modules/lists/ls-profile.js +1 -0
- package/server/modules/lists/ls-ptthanhtoan.js +3 -0
- package/server/modules/lists/ls-qts-dieuchinh.js +2 -0
- package/server/modules/lists/ls-qts-dieuchuyen.js +8 -0
- package/server/modules/lists/ls-reason.js +1 -0
- package/server/modules/lists/ls-rpt.js +5 -0
- package/server/modules/lists/ls-rptform.js +3 -0
- package/server/modules/lists/ls-shortcut.js +1 -0
- package/server/modules/lists/ls-smsaccount.js +1 -0
- package/server/modules/lists/ls-smssend.js +3 -0
- package/server/modules/lists/ls-sosanxuat.js +4 -0
- package/server/modules/lists/ls-step.js +1 -0
- package/server/modules/lists/ls-strategicdiagram.js +1 -0
- package/server/modules/lists/ls-strategicgoal.js +3 -0
- package/server/modules/lists/ls-strategickpi.js +7 -0
- package/server/modules/lists/ls-strategicobjective.js +3 -0
- package/server/modules/lists/ls-strategicplan.js +6 -0
- package/server/modules/lists/ls-support.js +3 -0
- package/server/modules/lists/ls-task.js +28 -0
- package/server/modules/lists/ls-tc.js +1 -0
- package/server/modules/lists/ls-templaterpt.js +5 -0
- package/server/modules/lists/ls-templatevoucher.js +1 -0
- package/server/modules/lists/ls-tontucthoi.js +3 -0
- package/server/modules/lists/ls-trangthaiapp.js +3 -0
- package/server/modules/lists/ls-transaction.js +4 -0
- package/server/modules/lists/ls-usergroup.js +7 -0
- package/server/modules/lists/ls-vat.js +1 -0
- package/server/modules/lists/ls-vatra.js +5 -0
- package/server/modules/lists/ls-vatvao.js +6 -0
- package/server/modules/lists/ls-warranty.js +3 -0
- package/server/modules/lists/ls-workflow.js +1 -0
- package/server/modules/lists/ls_hanmucton.js +3 -0
- package/server/modules/lists/ls_hspb.js +4 -0
- package/server/modules/lists/ls_spdd_ck.js +3 -0
- package/server/modules/lists/ls_spdd_dk.js +3 -0
- package/server/modules/lists/ls_ytdd_ck.js +4 -0
- package/server/modules/lists/ls_ytdd_dk.js +4 -0
- package/server/modules/lists/sys-attend.js +4 -0
- package/server/modules/lists/sys-follow.js +4 -0
- package/server/modules/lists/sys-right.js +2 -0
- package/server/modules/public/app.js +4 -0
- package/server/modules/public/approve.js +37 -0
- package/server/modules/public/callin.js +7 -0
- package/server/modules/public/comment.js +5 -0
- package/server/modules/public/dmnvt.js +4 -0
- package/server/modules/public/dmvt.js +9 -0
- package/server/modules/public/file.js +11 -0
- package/server/modules/public/forminfo.js +1 -0
- package/server/modules/public/group.js +4 -0
- package/server/modules/public/introducecode.js +1 -0
- package/server/modules/public/listinfo.js +1 -0
- package/server/modules/public/media-webhook.js +1 -0
- package/server/modules/public/partner.js +1 -0
- package/server/modules/public/paymentCallback.js +32 -0
- package/server/modules/public/province.js +1 -0
- package/server/modules/public/ptthanhtoan.js +4 -0
- package/server/modules/public/subscribe.js +30 -0
- package/server/modules/public/support.js +3 -0
- package/server/modules/public/tableinfo.js +1 -0
- package/server/modules/public/trialinfo.js +4 -0
- package/server/modules/public/versioninfo.js +1 -0
- package/server/modules/reports/calc-tinhgiafifo.js +8 -0
- package/server/modules/reports/calc-tinhgiatb.js +7 -0
- package/server/modules/reports/calc-tinhgiathanh.js +7 -0
- package/server/modules/reports/calc-tinhkhauhaots.js +3 -0
- package/server/modules/reports/calc-tinhluong.js +68 -0
- package/server/modules/reports/rp-analyzedata.js +6 -0
- package/server/modules/reports/rp-assbonus.js +4 -0
- package/server/modules/reports/rp-assinterest.js +8 -0
- package/server/modules/reports/rp-assproductowners.js +3 -0
- package/server/modules/reports/rp-asssupply.js +1 -0
- package/server/modules/reports/rp-asstransferlog.js +10 -0
- package/server/modules/reports/rp-backup.js +4 -0
- package/server/modules/reports/rp-banggiatb.js +3 -0
- package/server/modules/reports/rp-bangtinhkhauhao.js +6 -0
- package/server/modules/reports/rp-baoCaoFifoKy.js +1 -0
- package/server/modules/reports/rp-baocaokhachhang.js +6 -0
- package/server/modules/reports/rp-bcdkt.js +11 -0
- package/server/modules/reports/rp-bcintroducebonus.js +4 -0
- package/server/modules/reports/rp-bckhtiemnang.js +3 -0
- package/server/modules/reports/rp-bcqt.js +85 -0
- package/server/modules/reports/rp-bkchamcong.js +5 -0
- package/server/modules/reports/rp-bkct.js +13 -0
- package/server/modules/reports/rp-bkshipbook.js +8 -0
- package/server/modules/reports/rp-bkvanchuyen.js +8 -0
- package/server/modules/reports/rp-bkvatra.js +7 -0
- package/server/modules/reports/rp-bkvatvao.js +7 -0
- package/server/modules/reports/rp-capnhatsocaitc.js +4 -0
- package/server/modules/reports/rp-cdpsdiem.js +4 -0
- package/server/modules/reports/rp-cdpsdt.js +5 -0
- package/server/modules/reports/rp-cdpskh.js +8 -0
- package/server/modules/reports/rp-cdpsnphep.js +3 -0
- package/server/modules/reports/rp-cdpstk.js +4 -0
- package/server/modules/reports/rp-chitietchitientheohoadon.js +12 -0
- package/server/modules/reports/rp-chitiettaisan.js +13 -0
- package/server/modules/reports/rp-chitietthutientheohoadon.js +13 -0
- package/server/modules/reports/rp-ckcn.js +3 -0
- package/server/modules/reports/rp-ckdiem.js +2 -0
- package/server/modules/reports/rp-cktk.js +3 -0
- package/server/modules/reports/rp-ckvt.js +10 -0
- package/server/modules/reports/rp-ckvttheokho.js +4 -0
- package/server/modules/reports/rp-ckvttheotg.js +4 -0
- package/server/modules/reports/rp-ckvttt.js +3 -0
- package/server/modules/reports/rp-congnophaithutheotuoino.js +3 -0
- package/server/modules/reports/rp-congnophaitratheotuoino.js +3 -0
- package/server/modules/reports/rp-congnosapthu.js +4 -0
- package/server/modules/reports/rp-congnosaptra.js +4 -0
- package/server/modules/reports/rp-congviectheobp.js +9 -0
- package/server/modules/reports/rp-congviectheodt.js +8 -0
- package/server/modules/reports/rp-congviectheokh.js +8 -0
- package/server/modules/reports/rp-congviectheonv.js +9 -0
- package/server/modules/reports/rp-congviectheotimeline.js +6 -0
- package/server/modules/reports/rp-ctbanle.js +15 -0
- package/server/modules/reports/rp-ctbanle2.js +20 -0
- package/server/modules/reports/rp-ctbanlectv.js +20 -0
- package/server/modules/reports/rp-ctbanlenpp.js +24 -0
- package/server/modules/reports/rp-ctdanhgianhanvien.js +8 -0
- package/server/modules/reports/rp-cthangbanbitralai.js +4 -0
- package/server/modules/reports/rp-ctmuahang.js +7 -0
- package/server/modules/reports/rp-cttralaihang.js +4 -0
- package/server/modules/reports/rp-databanle.js +10 -0
- package/server/modules/reports/rp-diemthuong.js +2 -0
- package/server/modules/reports/rp-dkcn.js +3 -0
- package/server/modules/reports/rp-dktk.js +2 -0
- package/server/modules/reports/rp-dsnhanviencm.js +9 -0
- package/server/modules/reports/rp-dsnhanvientb.js +9 -0
- package/server/modules/reports/rp-dtbanlekempk.js +12 -0
- package/server/modules/reports/rp-dtbanletheoct.js +22 -0
- package/server/modules/reports/rp-dtbanletheoctkempk.js +25 -0
- package/server/modules/reports/rp-dtbanletheokh.js +17 -0
- package/server/modules/reports/rp-dtbanletheokhnpp.js +19 -0
- package/server/modules/reports/rp-dtbanletheokho.js +15 -0
- package/server/modules/reports/rp-dtbanletheonam.js +3 -0
- package/server/modules/reports/rp-dtbanletheongay.js +1 -0
- package/server/modules/reports/rp-dtbanletheonpp.js +23 -0
- package/server/modules/reports/rp-dtbanletheonv.js +19 -0
- package/server/modules/reports/rp-dtbanletheoquy.js +3 -0
- package/server/modules/reports/rp-dtbanletheosp.js +9 -0
- package/server/modules/reports/rp-dtbanletheospnpp.js +6 -0
- package/server/modules/reports/rp-dtbanletheothang.js +3 -0
- package/server/modules/reports/rp-dtbanletheothungan.js +12 -0
- package/server/modules/reports/rp-dtbanletheovt.js +2 -0
- package/server/modules/reports/rp-dtbanletheovtnpp.js +2 -0
- package/server/modules/reports/rp-dutoanthuchitheodt.js +4 -0
- package/server/modules/reports/rp-getPXC2PNC.js +8 -0
- package/server/modules/reports/rp-getariseofaccountsbymonth.js +4 -0
- package/server/modules/reports/rp-getbtpb.js +6 -0
- package/server/modules/reports/rp-getcashbycashier.js +7 -0
- package/server/modules/reports/rp-getcschietkhau.js +5 -0
- package/server/modules/reports/rp-getdinhmuc4lenhcp.js +7 -0
- package/server/modules/reports/rp-getdinhmuc4pxk.js +9 -0
- package/server/modules/reports/rp-getdk4pht.js +8 -0
- package/server/modules/reports/rp-getdk4pkc.js +10 -0
- package/server/modules/reports/rp-getdttheoca.js +5 -0
- package/server/modules/reports/rp-getinvoice2pay.js +4 -0
- package/server/modules/reports/rp-getinvoice2receive.js +4 -0
- package/server/modules/reports/rp-getinvoice2return.js +5 -0
- package/server/modules/reports/rp-getinvoice2return_bl.js +6 -0
- package/server/modules/reports/rp-getkehoachmh4lenhcp.js +4 -0
- package/server/modules/reports/rp-getkhauhao.js +7 -0
- package/server/modules/reports/rp-getluong.js +8 -0
- package/server/modules/reports/rp-getluongchuyen.js +5 -0
- package/server/modules/reports/rp-getpn2fee.js +5 -0
- package/server/modules/reports/rp-getpn2return.js +5 -0
- package/server/modules/reports/rp-getthanhpham4pnk.js +7 -0
- package/server/modules/reports/rp-getvc2xhd.js +11 -0
- package/server/modules/reports/rp-gt_cpnvltt.js +6 -0
- package/server/modules/reports/rp-hangbanbitralai.js +5 -0
- package/server/modules/reports/rp-hangthanhvien.js +3 -0
- package/server/modules/reports/rp-hoadonbanhangtheohantt.js +5 -0
- package/server/modules/reports/rp-hoadonmuahangtheohantt.js +5 -0
- package/server/modules/reports/rp-hoahong.js +15 -0
- package/server/modules/reports/rp-kcsns.js +19 -0
- package/server/modules/reports/rp-kgchamcong.js +1 -0
- package/server/modules/reports/rp-khoaso.js +11 -0
- package/server/modules/reports/rp-kiemtrasocaitcvssocai.js +6 -0
- package/server/modules/reports/rp-kqdanhgianhanvien.js +5 -0
- package/server/modules/reports/rp-kqhdkd.js +1 -0
- package/server/modules/reports/rp-lcttgt.js +16 -0
- package/server/modules/reports/rp-lctttt.js +11 -0
- package/server/modules/reports/rp-linkslist.js +4 -0
- package/server/modules/reports/rp-phanbochitienchohoadon.js +11 -0
- package/server/modules/reports/rp-phanbothutienchohoadon.js +11 -0
- package/server/modules/reports/rp-ptbitralai.js +7 -0
- package/server/modules/reports/rp-ptcttct.js +24 -0
- package/server/modules/reports/rp-ptdonhang.js +8 -0
- package/server/modules/reports/rp-pttct.js +52 -0
- package/server/modules/reports/rp-pttctkho.js +32 -0
- package/server/modules/reports/rp-pttctkho2.js +29 -0
- package/server/modules/reports/rp-referredusers.js +5 -0
- package/server/modules/reports/rp-sctbhxh.js +4 -0
- package/server/modules/reports/rp-sctcnkh.js +11 -0
- package/server/modules/reports/rp-sctdiem.js +3 -0
- package/server/modules/reports/rp-sctdt.js +7 -0
- package/server/modules/reports/rp-sctdtcp.js +11 -0
- package/server/modules/reports/rp-sctluong.js +6 -0
- package/server/modules/reports/rp-sctthuetncn.js +4 -0
- package/server/modules/reports/rp-scttk.js +9 -0
- package/server/modules/reports/rp-sctvt.js +5 -0
- package/server/modules/reports/rp-sctvt_sl.js +5 -0
- package/server/modules/reports/rp-sctvtnpp.js +6 -0
- package/server/modules/reports/rp-sctvttt.js +5 -0
- package/server/modules/reports/rp-search.js +4 -0
- package/server/modules/reports/rp-socai.js +6 -0
- package/server/modules/reports/rp-socaitk.js +1 -0
- package/server/modules/reports/rp-sochut.js +7 -0
- package/server/modules/reports/rp-sokho.js +7 -0
- package/server/modules/reports/rp-sokhott.js +5 -0
- package/server/modules/reports/rp-sonkbh.js +5 -0
- package/server/modules/reports/rp-sonkc.js +6 -0
- package/server/modules/reports/rp-sonkct.js +5 -0
- package/server/modules/reports/rp-sonkmh.js +5 -0
- package/server/modules/reports/rp-sonktt.js +5 -0
- package/server/modules/reports/rp-soquy.js +11 -0
- package/server/modules/reports/rp-sosanhkhvatt.js +13 -0
- package/server/modules/reports/rp-sosanhkhvatt2.js +5 -0
- package/server/modules/reports/rp-sotaisan.js +13 -0
- package/server/modules/reports/rp-sotiengui.js +7 -0
- package/server/modules/reports/rp-taodinhmuctudkhoc.js +5 -0
- package/server/modules/reports/rp-thbanhangkempk.js +28 -0
- package/server/modules/reports/rp-thdanhgianhanvien.js +9 -0
- package/server/modules/reports/rp-thgt.js +6 -0
- package/server/modules/reports/rp-thnxt.js +11 -0
- package/server/modules/reports/rp-thnxt_sl.js +9 -0
- package/server/modules/reports/rp-thnxtnpp.js +10 -0
- package/server/modules/reports/rp-thnxttt.js +9 -0
- package/server/modules/reports/rp-tkbanhangtheogioithieu.js +9 -0
- package/server/modules/reports/rp-tkgioithieukh.js +4 -0
- package/server/modules/reports/rp-tkgtgt.js +76 -0
- package/server/modules/reports/rp-tkgtgt_old.js +7 -0
- package/server/modules/reports/rp-tmbctc.js +20 -0
- package/server/modules/reports/rp-tonghopbanhang.js +6 -0
- package/server/modules/reports/rp-tonghopmuahang.js +5 -0
- package/server/modules/reports/rp-tonghoptralaihang.js +5 -0
- package/server/modules/reports/rp-tongquanbanle.js +20 -0
- package/server/modules/reports/rp-tongquanbds.js +3 -0
- package/server/modules/reports/rp-tongquancongty.js +6 -0
- package/server/modules/reports/rp-tongquanctvnpp.js +12 -0
- package/server/modules/reports/rp-tongquannvbh.js +14 -0
- package/server/modules/reports/rp-tongquannvnpp.js +5 -0
- package/server/modules/reports/rp-uoctinhnvl.js +11 -0
- package/server/modules/reports/rp-wallet.js +3 -0
- package/server/modules/reports/rpt-tkdiemtichluy.js +9 -0
- package/server/modules/systems/sys-app.js +34 -0
- package/server/modules/systems/sys-colleague.js +11 -0
- package/server/modules/systems/sys-data_list_config.js +1 -0
- package/server/modules/systems/sys-domain.js +1 -0
- package/server/modules/systems/sys-ecomproductlines.js +1 -0
- package/server/modules/systems/sys-exportexceltemplate.js +1 -0
- package/server/modules/systems/sys-fieldright.js +1 -0
- package/server/modules/systems/sys-importexceltemplate.js +1 -0
- package/server/modules/systems/sys-labelinfo.js +4 -0
- package/server/modules/systems/sys-listinfo.js +10 -0
- package/server/modules/systems/sys-menuinfo.js +4 -0
- package/server/modules/systems/sys-message.js +14 -0
- package/server/modules/systems/sys-moduleinfo.js +4 -0
- package/server/modules/systems/sys-notification.js +8 -0
- package/server/modules/systems/sys-quanhuyen.js +1 -0
- package/server/modules/systems/sys-reportinfo.js +5 -0
- package/server/modules/systems/sys-rptobject.js +1 -0
- package/server/modules/systems/sys-schedule.js +10 -0
- package/server/modules/systems/sys-sysconfig.js +1 -0
- package/server/modules/systems/sys-sysgroup.js +1 -0
- package/server/modules/systems/sys-tableinfo.js +1 -0
- package/server/modules/systems/sys-templatestore.js +5 -0
- package/server/modules/systems/sys-tinhthanh.js +1 -0
- package/server/modules/systems/sys-token.js +3 -0
- package/server/modules/systems/sys-trangthai.js +3 -0
- package/server/modules/systems/sys-trialinfo.js +1 -0
- package/server/modules/systems/sys-user.js +45 -0
- package/server/modules/systems/sys-users.js +10 -0
- package/server/modules/systems/sys-versioninfo.js +1 -0
- package/server/modules/systems/sys-vietqrbanks.js +1 -0
- package/server/modules/systems/sys-xaphuong.js +1 -0
- package/server/modules/vouchers/vo-banggiaban.js +8 -0
- package/server/modules/vouchers/vo-bc1.js +34 -0
- package/server/modules/vouchers/vo-bc5.js +15 -0
- package/server/modules/vouchers/vo-bg1.js +10 -0
- package/server/modules/vouchers/vo-bg2.js +12 -0
- package/server/modules/vouchers/vo-bn1.js +36 -0
- package/server/modules/vouchers/vo-bn5.js +15 -0
- package/server/modules/vouchers/vo-dh2.js +35 -0
- package/server/modules/vouchers/vo-dinhmucsx.js +6 -0
- package/server/modules/vouchers/vo-dkb.js +21 -0
- package/server/modules/vouchers/vo-dn0.js +9 -0
- package/server/modules/vouchers/vo-dnm.js +20 -0
- package/server/modules/vouchers/vo-hd1.js +37 -0
- package/server/modules/vouchers/vo-hd2.js +108 -0
- package/server/modules/vouchers/vo-hd3.js +38 -0
- package/server/modules/vouchers/vo-hd4.js +13 -0
- package/server/modules/vouchers/vo-hd7.js +29 -0
- package/server/modules/vouchers/vo-hd8.js +29 -0
- package/server/modules/vouchers/vo-hde.js +39 -0
- package/server/modules/vouchers/vo-htl.js +11 -0
- package/server/modules/vouchers/vo-kbbtpb.js +6 -0
- package/server/modules/vouchers/vo-kehoachmh.js +11 -0
- package/server/modules/vouchers/vo-lenhcapphat.js +9 -0
- package/server/modules/vouchers/vo-lenhsx.js +12 -0
- package/server/modules/vouchers/vo-pbl.js +94 -0
- package/server/modules/vouchers/vo-pc0.js +14 -0
- package/server/modules/vouchers/vo-pc1.js +31 -0
- package/server/modules/vouchers/vo-pc2.js +25 -0
- package/server/modules/vouchers/vo-pc3.js +14 -0
- package/server/modules/vouchers/vo-pc5.js +15 -0
- package/server/modules/vouchers/vo-pc6.js +19 -0
- package/server/modules/vouchers/vo-pcl.js +7 -0
- package/server/modules/vouchers/vo-pdn.js +11 -0
- package/server/modules/vouchers/vo-pdx.js +9 -0
- package/server/modules/vouchers/vo-pgh.js +16 -0
- package/server/modules/vouchers/vo-pht.js +6 -0
- package/server/modules/vouchers/vo-pkc.js +5 -0
- package/server/modules/vouchers/vo-pkh.js +9 -0
- package/server/modules/vouchers/vo-pkk.js +12 -0
- package/server/modules/vouchers/vo-pkt.js +12 -0
- package/server/modules/vouchers/vo-pn1.js +30 -0
- package/server/modules/vouchers/vo-pn2.js +17 -0
- package/server/modules/vouchers/vo-pn3.js +18 -0
- package/server/modules/vouchers/vo-pn5.js +18 -0
- package/server/modules/vouchers/vo-pn6.js +18 -0
- package/server/modules/vouchers/vo-pn9.js +23 -0
- package/server/modules/vouchers/vo-pnc.js +19 -0
- package/server/modules/vouchers/vo-pnh.js +17 -0
- package/server/modules/vouchers/vo-pnk.js +14 -0
- package/server/modules/vouchers/vo-pnknpp.js +12 -0
- package/server/modules/vouchers/vo-po1.js +14 -0
- package/server/modules/vouchers/vo-ppb.js +8 -0
- package/server/modules/vouchers/vo-pt1.js +20 -0
- package/server/modules/vouchers/vo-pt5.js +15 -0
- package/server/modules/vouchers/vo-ptl.js +8 -0
- package/server/modules/vouchers/vo-purchase_contract.js +9 -0
- package/server/modules/vouchers/vo-pxc.js +24 -0
- package/server/modules/vouchers/vo-pxh.js +18 -0
- package/server/modules/vouchers/vo-pxk.js +15 -0
- package/server/modules/vouchers/vo-pxknpp.js +14 -0
- package/server/modules/vouchers/vo-qts.js +12 -0
- package/server/modules/vouchers/vo-sale_contract.js +11 -0
- package/server/modules/vouchers/vo-shipbook.js +17 -0
- package/server/modules/vouchers/vo-so1.js +125 -0
- package/server/modules/vouchers/vo-so5.js +57 -0
- package/server/modules/vouchers/vo-so7.js +97 -0
- package/server/modules/vouchers/vo-so9.js +119 -0
- package/server/modules/vouchers/vo-vanchuyen.js +14 -0
- package/server/modules/vouchers/vo-xhd.js +33 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const checkinSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},device_user_id:{type:String,required:!0,maxlength:1024,trim:!0},device_user_id2:{type:String,maxlength:1024,trim:!0},device_user_id3:{type:String,maxlength:1024,trim:!0},record_time:{type:Date,default:Date.now},ma_ct:{type:String,default:"CHECKIN",trim:!0},trang_thai:{type:String,default:"1"},location:Schema.Types.Mixed,hinh:String,ma_kh:String,note:String,device_id:String,ai_verified:Boolean,exfields:Schema.Types.Mixed,
|
|
2
|
+
status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
+
(global.configs||{}).createIndexes&&(checkinSchema.index({id_app:1,device_user_id:1}),checkinSchema.index({id_app:1,device_user_id:1,record_time:-1}),checkinSchema.index({id_app:1,device_user_id:1,location:1}),checkinSchema.index({id_app:1,device_user_id:1,ma_kh:1}),checkinSchema.index({id_app:1,device_user_id2:1}),checkinSchema.index({id_app:1,device_user_id3:1}),checkinSchema.index({id_app:1,status:1}),checkinSchema.index({id_app:1,trang_thai:1}),checkinSchema.index({id_app:1,trang_thai:1,user_created:1,
|
|
4
|
+
visible_to:1,visible_to_users:1}));const model=mongoose.models.checkin||mongoose.model("checkin",checkinSchema);module.exports=model;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const checkinactivitySchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_link:{type:String,required:!0,maxlength:1024},from_date:Date,date:Date,score:{type:Number,default:0},note:String,trang_thai:{type:String,default:"0"},phu_trach:String,ten_phu_trach:String,attends:[],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:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(checkinactivitySchema.index({id_app:1}),checkinactivitySchema.index({id_link:1}),checkinactivitySchema.index({attends:1}),checkinactivitySchema.index({phu_trach:1}),checkinactivitySchema.index({phu_trach:"text",ten_phu_trach:"text"}),checkinactivitySchema.index({trang_thai:1}),checkinactivitySchema.index({date:-1}),checkinactivitySchema.index({from_date:-1}),checkinactivitySchema.index({status:1}),checkinactivitySchema.index({user_created:1,visible_to:1,visible_to_users:1}));
|
|
3
|
+
const model=mongoose.models.checkinactivity||mongoose.model("checkinactivity",checkinactivitySchema);module.exports=model;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const checkinkpiSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_link:{type:String,required:!0,maxlength:1024},month:Number,year:Number,yearly_target:{type:Number,default:0},current_value:{type:Number,default:0},target_value:{type:Number,default:0},score:{type:Number,default:0},note:String,trang_thai:{type:String,default:"0"},phu_trach:String,ten_phu_trach:String,attends:[],exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},
|
|
2
|
+
date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
+
(global.configs||{}).createIndexes&&(checkinkpiSchema.index({id_app:1}),checkinkpiSchema.index({id_link:1}),checkinkpiSchema.index({month:1}),checkinkpiSchema.index({year:1}),checkinkpiSchema.index({phu_trach:1}),checkinkpiSchema.index({phu_trach:"text",ten_phu_trach:"text"}),checkinkpiSchema.index({trang_thai:1}),checkinkpiSchema.index({attends:1}),checkinkpiSchema.index({status:1}),checkinkpiSchema.index({user_created:1,visible_to:1,visible_to_users:1}));
|
|
4
|
+
const model=mongoose.models.checkinkpi||mongoose.model("checkinkpi",checkinkpiSchema);module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const checkinlocationSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_link:String,location:Schema.Types.Mixed,hinh_anh:String,ghi_chu:String,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:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(checkinlocationSchema.index({id_app:1}),checkinlocationSchema.index({id_link:1}),checkinlocationSchema.index({date_created:-1}),checkinlocationSchema.index({status:1}),checkinlocationSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.checkinlocation||mongoose.model("checkinlocation",checkinlocationSchema);module.exports=model;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const chitietluongdsSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,maxlength:1024},id_ct:{type:String,maxlength:1024},ma_ct:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},ngay_ct:{type:Date},ngay_ct_full:Date,so_ct:{type:String,uppercase:!0,maxlength:32,trim:!0},nxt:{type:Number},ma_nt:{type:String,default:"VND",uppercase:!0,maxlength:32,trim:!0},ty_gia:{type:Number,default:1},ma_vt:{type:String,uppercase:!0,
|
|
2
|
+
maxlength:1024,trim:!0},ma_dvt:{type:String,maxlength:32,trim:!0},ma_kho:{type:String,uppercase:!0,maxlength:32,trim:!0},ma_kho_n:{type:String},ma_kho_x:{type:String},sl_nhap:{type:Number,default:0},sl_xuat:{type:Number,default:0},he_so_qd:{type:Number,default:1},sl_nhap_qd:{type:Number,default:0},sl_xuat_qd:{type:Number,default:0},pn_gia_tb:{type:Boolean,default:!1},px_gia_dd:{type:Boolean,default:!1},gia_von_nt:{type:Number,default:0},gia_von:{type:Number,default:0},tien_hang_nt:{type:Number,default:0},
|
|
3
|
+
tien_hang:{type:Number,default:0},ty_le_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_phi_nt:{type:Number,default:0},tien_phi:{type:Number,default:0},tien_cp_nt:{type:Number,default:0},tien_cp:{type:Number,default:0},tien_hang_nk:{type:Number,default:0},tien_hang_nk_nt:{type:Number,default:0},thue_suat_nk:{type:Number,default:0},tien_thue_nk:{type:Number,default:0},tien_thue_nk_nt:{type:Number,default:0},tien_nhap_nt:{type:Number,default:0},tien_nhap:{type:Number,
|
|
4
|
+
default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},gia_ban_ct:{type:Number,default:0},gia_ban_ct_nt:{type:Number,default:0},tien_hang_ct_nt:{type:Number,default:0},tien_hang_ct:{type:Number,default:0},tien_ct:{type:Number,default:0},tien_ct_nt:{type:Number,default:0},thue_suat:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},tien_thue:{type:Number,
|
|
5
|
+
default:0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},dien_giai:{type:String,default:"",maxlength:1024},ma_bp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_phi:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_hd:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_dt:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_nv_giao_hang:{type:String,default:"",uppercase:!0,
|
|
6
|
+
maxlength:32,trim:!0},phu_xe:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},loai_phuong_tien:String,ma_lo:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},han_sd:{type:Date},ma_vt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},gio:Number,ngay:Number,thang:Number,quy:Number,
|
|
7
|
+
nam:Number,ma_kenh:String,ma_td1:Schema.Types.Mixed,ma_td2:Schema.Types.Mixed,ma_td3:Schema.Types.Mixed,ma_td4:Schema.Types.Mixed,ma_td5:Schema.Types.Mixed,ma_td6:Schema.Types.Mixed,ma_td7:Schema.Types.Mixed,ma_td8:Schema.Types.Mixed,ma_td9:Schema.Types.Mixed,pt_thanh_toan:String,pt_thanh_toan2:String,tien_paymentByPoints:Number,tien_evoucher:Number,cashier:String,ma_sp:{type:String,default:"",uppercase:!0,maxlength:1024,trim:!0},sl_sp:Number,ma_dvt_sp:{type:String,maxlength:32,trim:!0},ma_tt1_sp:{type:String,
|
|
8
|
+
default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt2_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_tt3_sp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_cum_chi_tiet:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},ten_cum_chi_tiet:{type:String,default:"",maxlength:1024},ma_cong_doan:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},id_lenhsx:{type:String,maxlength:1024},id_dinhmucsx:{type:String,maxlength:1024},id_lenhcapphat:{type:String,maxlength:1024},
|
|
9
|
+
id_cs:{type:String,maxlength:1024},id_cs_ck:{type:String,maxlength:1024},ma_ca:{type:String,uppercase:!0,maxlength:32,trim:!0},trang_thai:{type:String,maxlength:32},id_reason:{type:String,maxlength:1024},doanh_so:Number,luong_goc:Number,luong_theo_ds:Number,ds_yeu_cau:Number,don_gia_luong:Number,ty_le_nv_phu_giup:Number,cong_thuc:String,dien_giai_luong:String,id_cs_luong:{type:String,maxlength:1024},ten_cs_luong:{type:String},line:Number,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},
|
|
10
|
+
date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}},{toJSON:{virtuals:!0}});
|
|
11
|
+
(global.configs||{}).createIndexes&&(chitietluongdsSchema.index({id_app:1}),chitietluongdsSchema.index({id_app:1,ma_ct:1,so_ct:1,ngay_ct:-1}),chitietluongdsSchema.index({id_app:1,nam:-1,thang:-1,ma_nv:1,ma_bp:1}),chitietluongdsSchema.index({id_app:1,ma_vt:1,ngay_ct:-1}),chitietluongdsSchema.index({id_app:1,ma_kho:1,ma_vt:1,ngay_ct:-1}),chitietluongdsSchema.index({id_app:1,ma_sp:1,ngay_ct:-1}));const model=mongoose.models.chitietluongds||mongoose.model("chitietluongds",chitietluongdsSchema);
|
|
12
|
+
if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?Logger.error("chitietluongds index error",$err$$):console.info("chitietluongds indexing complete")});module.exports=model;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const chitieukpiSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_rptform:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:1},ma_kpi:{type:String,uppercase:!0,required:!0,maxlength:32},ten_kpi:{type:String,required:!0,maxlength:1024},mieu_ta:{type:String,maxlength:1024},nh_kpi:{type:String,maxlength:32},diem_toi_da:Number,kieu_danh_gia:{type:Number},ma_doi_tuong_danh_gia:[],user_groups:[],exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,
|
|
2
|
+
default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});
|
|
3
|
+
(global.configs||{}).createIndexes&&(chitieukpiSchema.index({id_app:1}),chitieukpiSchema.index({ma_kpi:1}),chitieukpiSchema.index({ten_kpi:"text"}),chitieukpiSchema.index({nh_kpi:1}),chitieukpiSchema.index({status:1}),chitieukpiSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.chitieukpi||mongoose.model("chitieukpi",chitieukpiSchema);module.exports=model;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const chudethaoluanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},title:{type:String,required:!0,maxlength:1024},title_en:{type:String,maxlength:1024},description:{type:String},description_en:{type:String},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},shared:Boolean});
|
|
2
|
+
(global.configs||{}).createIndexes&&(chudethaoluanSchema.index({id_app:1}),chudethaoluanSchema.index({title:"text"}),chudethaoluanSchema.index({status:1}),chudethaoluanSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.chudethaoluan||mongoose.model("chudethaoluan",chudethaoluanSchema);
|
|
3
|
+
model.getInfo=async($condition$$,$fields$$)=>new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error("Can't find info"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$(Error($e$$.message))})});module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const ckgtluongSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_giam_tru:{type:String,required:!0},ten_giam_tru:{type:String,required:!0,maxlength:1024},ty_le_cty:{type:Number,default:0},ty_le_nv:{type:Number,default:0},ma_nv:[String],ma_bp:[String],nv:{type:Number,default:0},cty:{type:Number,default:0},tk:String,kieu_trich:{type:String,default:"#"},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,
|
|
2
|
+
default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(ckgtluongSchema.index({id_app:1,ten_giam_tru:1}),ckgtluongSchema.index({ma_giam_tru:1}),ckgtluongSchema.index({ten_giam_tru:"text"}),ckgtluongSchema.index({status:1}),ckgtluongSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.ckgtluong||mongoose.model("ckgtluong",ckgtluongSchema);module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const colleagueSchema=new Schema({email_owner:{type:String,required:!0,lowercase:!0},email:{type:String,required:!0,lowercase:!0},content:{type:String},active:{type:Boolean,default:!1},cancel:{type:Boolean,default:!1},status:{type:Boolean,default:!1},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},latest_message:{type:String,default:""},latest_message_id:{type:String},latest_message_date:{type:Date}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(colleagueSchema.index({email_owner:1,email:1}),colleagueSchema.index({content:"text",email:"text"}),colleagueSchema.index({status:1}),colleagueSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.colleague||mongoose.model("colleague",colleagueSchema);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const commentSchema=new Schema({id_app:{type:String},id_product:{type:String},colection_name_product:{type:String},user_created_obj:{type:String},title:{type:String,maxlength:1024},content:{type:String,required:"Vui l\u00f2ng nh\u1eadp n\u1ed9i dung"},url_topic:{type:String,maxlength:1024},is_reply:{type:Boolean,default:!1},id_reply:{type:String},reply_for:String,id_topic:String,shared:{type:Boolean,default:!0},attends:[String],rate:{type:Number,default:0},status:{type:Boolean,default:!0},name:{type:String},
|
|
2
|
+
date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(commentSchema.index({id_app:1,title:"text",content:"text"}),commentSchema.index({id_app:1,id_product:1,id_reply:1}),commentSchema.index({shared:1}),commentSchema.index({id_app:1,status:1}),commentSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),commentSchema.index({id_app:1,attends:1}));
|
|
3
|
+
const model=mongoose.models.comment||mongoose.model("comment",commentSchema);model.getInfo=async($condition$$,$fields$$)=>new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error("Can't find comment"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$(Error($e$$.message))})});
|
|
4
|
+
model.getRelativeComments=async function($id_reply$$){let $condition$$={$or:[{id_reply:$id_reply$$},{_id:$id_reply$$}]};return new Promise(($resolve$$,$reject$$)=>{model.find($condition$$).lean().then($rs$$=>{$resolve$$($rs$$)}).catch($e$$=>{$reject$$(Error($e$$.message))})})};module.exports=model;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const congdoansxSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_cong_doan:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ten_cong_doan:{type:String,required:!0,maxlength:1024},stt:{type:Number,default:0},phu_trach:{type:String,uppercase:!0,trim:!0},ten_phu_trach:String,phoi_hop:{type:String,uppercase:!0,trim:!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,
|
|
2
|
+
default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});
|
|
3
|
+
(global.configs||{}).createIndexes&&(congdoansxSchema.index({id_app:1,ma_cong_doan:1,ten_cong_doan:1}),congdoansxSchema.index({status:1}),congdoansxSchema.index({user_created:1,visible_to:1,visible_to_users:1}),congdoansxSchema.index({ma_cong_doan:"text",ten_cong_doan:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"congdoansx_index_text"}));const model=mongoose.models.congdoansx||mongoose.model("congdoansx",congdoansxSchema);
|
|
4
|
+
model.referenceKeys={ma_cong_doan:[{model:"socai",key:"ma_cong_doan",error:"C\u00f4ng \u0111o\u1ea1n {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"sokho",key:"ma_cong_doan",error:"C\u00f4ng \u0111o\u1ea1n {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const congtacvienSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},trang_thai:{type:String,default:"0",maxlength:32},username:{type:String,maxlength:1024},name:{type:String,maxlength:1024},phone:{type:String,maxlength:1024},email:{type:String,maxlength:1024},zalo:{type:String,maxlength:1024},whatsapp:{type:String,maxlength:1024},facebook:{type:String,maxlength:1024},address:{type:String,maxlength:1024},anh_cmnd:{type:String,maxlength:1024},so_cmnd:{type:String,maxlength:1024},ngay_cap:{type:Date},
|
|
2
|
+
noi_cap:{type:String,maxlength:1024},nguon_gioi_thieu:{type:String,maxlength:1024},code_gioi_thieu:{type:String,maxlength:1024},dang_nhap_otp:{type:String,maxlength:1024},tk_nh:{type:String,maxlength:1024},ten_tk_nh:{type:String,maxlength:1024},tai_nh:{type:String,maxlength:1024},thongtin_lh:{type:String,maxlength:1024},cam_ket:{type:String,maxlength:1024},anh_chandung:{type:String,maxlength:1024},anh_banglaixe:{type:String,maxlength:1024},anh_xac_nhan_tu_phap:{type:String,maxlength:1024},anh_chung_chi:{type:String,
|
|
3
|
+
maxlength:1024},anh_bang_tot_nghiep:{type:String,maxlength:1024},chap_nhan_dieu_khoan:{type:Boolean},duyet:Boolean,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:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});
|
|
4
|
+
(global.configs||{}).createIndexes&&(congtacvienSchema.index({id_app:1,username:1,name:1}),congtacvienSchema.index({trang_thai:1}),congtacvienSchema.index({status:1}),congtacvienSchema.index({user_created:1,visible_to:1,visible_to_users:1}),congtacvienSchema.index({username:"text",name:"text",phone:"text",email:"text",address:"text"},{name:"congtacvien_index_text"}));const model=mongoose.models.congtacvien||mongoose.model("congtacvien",congtacvienSchema);module.exports=model;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const congthuctinhgiabanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:Number,ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_nvt:{type:String,default:"",maxlength:1024,trim:!0},ten_nvt:String,mieu_ta:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,maxlength:1024,trim:!0},ten_nh_kh:String,nh_kh2:{type:String,maxlength:1024,trim:!0},ten_nh_kh2:String,nh_kh3:{type:String,
|
|
2
|
+
maxlength:1024,trim:!0},ten_nh_kh3:String,nh_kh4:{type:String,maxlength:1024,trim:!0},ten_nh_kh4:String,nh_kh5:{type:String,maxlength:1024,trim:!0},ten_nh_kh5:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,ma_ban:{type:String,default:"",maxlength:32,trim:!0},ten_ban:String,ma_tt1:{type:String,trim:!0},ma_tt2:{type:String,trim:!0},ma_tt3:{type:String,trim:!0},sl_tu:{type:Number,default:0},sl_den:{type:Number,default:0},t_sl_tu:{type:Number,default:0},t_sl_den:{type:Number,
|
|
3
|
+
default:0},ty_le_lai:Number,gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},hieu_luc_tu:{type:Date},hieu_luc_den:{type:Date},ap_dung_lan_mua_thu:{type:Number},ap_dung_lan_mua_tu_thu:{type:Number},ap_dung_lan_mua_den_thu:{type:Number},online:{type:Boolean},offline:{type:Boolean},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:""},user_updated:{type:String,
|
|
4
|
+
default:""},dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]},dmkh:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],foreignField:["ma_kh"]},dmkho:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]},dmnvt:{type:Schema.Types.ObjectId,ref:"dmnvt",localField:["ma_nvt"],foreignField:["_id"]}},{toJSON:{virtuals:!0}});
|
|
5
|
+
(global.configs||{}).createIndexes&&(congthuctinhgiabanSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1}),congthuctinhgiabanSchema.index({ma_nvt:1}),congthuctinhgiabanSchema.index({nh_kh:1}),congthuctinhgiabanSchema.index({nh_kh2:1}),congthuctinhgiabanSchema.index({nh_kh3:1}),congthuctinhgiabanSchema.index({nh_kh4:1}),congthuctinhgiabanSchema.index({nh_kh5:1}),congthuctinhgiabanSchema.index({ma_kho:1}),congthuctinhgiabanSchema.index({ma_ban:1}),congthuctinhgiabanSchema.index({ma_kh:1}),
|
|
6
|
+
congthuctinhgiabanSchema.index({ma_tt1:1}),congthuctinhgiabanSchema.index({ma_tt2:1}),congthuctinhgiabanSchema.index({ma_tt3:1}),congthuctinhgiabanSchema.index({ap_dung_lan_mua_thu:1}),congthuctinhgiabanSchema.index({ap_dung_lan_mua_tu_thu:1}),congthuctinhgiabanSchema.index({ap_dung_lan_mua_den_thu:1}),congthuctinhgiabanSchema.index({sl_tu:1}),congthuctinhgiabanSchema.index({sl_den:1}),congthuctinhgiabanSchema.index({t_sl_tu:1}),congthuctinhgiabanSchema.index({t_sl_den:1}),congthuctinhgiabanSchema.index({date_updated:-1}),
|
|
7
|
+
congthuctinhgiabanSchema.index({date_created:-1}),congthuctinhgiabanSchema.index({user_created:1}),congthuctinhgiabanSchema.index({status:1}),congthuctinhgiabanSchema.index({online:1}),congthuctinhgiabanSchema.index({offline:1}),congthuctinhgiabanSchema.index({mieu_ta:"text",ma_vt:"text",ten_vt:"text",ma_kh:"text",ten_kh:"text",ma_nvt:"text",ten_nvt:"text",ma_kho:"text",ten_kho:"text"},{name:"congthuctinhgiaban_index_text"}));
|
|
8
|
+
const model=mongoose.models.congthuctinhgiaban||mongoose.model("congthuctinhgiaban",congthuctinhgiabanSchema);module.exports=model;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const consultantSchema=new Schema({stt:{type:Number,default:0},id_app:{type:String,required:!0,maxlength:1024},consultant_code:{type:String,required:!0,uppercase:!0,maxlength:32},consultant_name:{type:String,required:!0,maxlength:1024},consultant_name_en:{type:String,maxlength:1024},consultant_group:{type:String,maxlength:1024},picture:{type:String,maxlength:1024},description:String,description_en:String,exfields:Schema.Types.Mixed,shared:Boolean,status:{type:Boolean,default:!0},date_created:{type:Date,
|
|
2
|
+
default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]});
|
|
3
|
+
(global.configs||{}).createIndexes&&(consultantSchema.index({id_app:1,consultant_name:1,consultant_code:1}),consultantSchema.index({status:1}),consultantSchema.index({user_created:1,visible_to:1,visible_to_users:1}),consultantSchema.index({consultant_name:"text",consultant_code:"text",description:"text"},{name:"consultant_index_text"}));const model=mongoose.models.consultant||mongoose.model("consultant",consultantSchema);
|
|
4
|
+
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error("Can't find info"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$(Error($e$$.message))})})};module.exports=model;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const validator=require("../libs/validator"),contractSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},so_ct:{type:String,uppercase:!0,maxlength:32},ma_ct:{type:String,default:"CONTRACT",uppercase:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now},loai_hd:{type:Number,default:1},so_hd:{type:String,uppercase:!0,maxlength:32},ten_hd:{type:String,required:!0,maxlength:1024},ngay_hd:{type:Date},ngay_th:{type:Date},ngay_nt:{type:Date},tien_nt:{type:Number,default:0},ma_nt:{type:String,
|
|
2
|
+
default:"VND",maxlength:32},id_kh:{type:String,required:"Kh\u00e1ch h\u00e0ng n\u00e0y kh\u00f4ng t\u1ed3n t\u1ea1i",maxlength:1024},mieu_ta:{type:String},nh_hd:{type:String,maxlength:32},phu_trach:{type:String,lowercase:!0,maxlength:1024},ten_phu_trach:String,progress:{type:String,default:"0"},ma_thue:{type:String,maxlength:32},thue_suat:{type:Number,default:0},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},dot_thanh_toan:[],exfields:Schema.Types.Mixed,labels:[String],status:{type:Boolean,
|
|
3
|
+
default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]},{toJSON:{virtuals:!0}});contractSchema.validate={ma_nt:validator.existsNt};
|
|
4
|
+
(global.configs||{}).createIndexes&&(contractSchema.index({id_app:1}),contractSchema.index({so_hd:1}),contractSchema.index({ten_hd:1}),contractSchema.index({nh_hd:1}),contractSchema.index({phu_trach:1}),contractSchema.index({id_kh:1}),contractSchema.index({ngay_hd:1}),contractSchema.index({ngay_th:1}),contractSchema.index({ngay_nt:1}),contractSchema.index({labels:1}),contractSchema.index({status:1}),contractSchema.index({user_created:1,visible_to:1,visible_to_users:1}),contractSchema.index({so_hd:"text",
|
|
5
|
+
ten_hd:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"contract_index_text"}));const model=mongoose.models.contract||mongoose.model("contract",contractSchema);model.referenceKeys={so_hd:[{model:"vsocai",key:"so_hd",error:"H\u1ee3p \u0111\u1ed3ng ${obj.so_hd} - ${obj.ten_hd} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};
|
|
6
|
+
model.exists=[function($id_app$$,$so_hd$$,$callback$$){$so_hd$$?model.findOne({id_app:$id_app$$,so_hd:$so_hd$$},function($error$$,$v$$){return $error$$||!$v$$?$callback$$(!1):$callback$$(!0)}):$callback$$(!0)},"M\u00e3 v\u1ee5 vi\u1ec7c ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const counterScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},name:{type:String,required:!0,uppercase:!0,maxlength:1024},field:{type:String,required:!0,maxlength:32},sequence:{type:Number}});(global.configs||{}).createIndexes&&counterScheam.index({id_app:1,name:1,field:1});const model=mongoose.models.counter||mongoose.model("counter",counterScheam);
|
|
2
|
+
model.getNextSequence=function($id_app$$,$name$$,$field$$,$fn$$){model.findOneAndUpdate({id_app:$id_app$$,name:$name$$.toUpperCase(),field:$field$$},{$inc:{sequence:1}},{new:!0,upsert:!0},function($error$$,$obj$$){return $error$$?$fn$$($error$$):$obj$$?$fn$$(null,$obj$$.sequence):$fn$$(null,-1)})};module.exports=model;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const csluongtheodsSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ds_nv:[String],ds_bp:[String],ds_ma_vt:[String],ma_nvt:String,ma_nvt2:String,ma_nvt3:String,ds_ma_kh:[String],loai_tru_kh:Boolean,nh_kh:String,nh_kh2:String,nh_kh3:String,ds_ma_ct:[String],doi_tuong_nhan_vien:{type:String,required:!0,default:"ma_nv_giao_hang"},ds_loai_phuong_tien:[String],field_sl:{type:String,required:!0,default:"sl_xuat"},ds_yeu_cau:Number,ma_dvt_ds:String,don_gia_luong:Number,ty_le_nv_phu_giup:Number,
|
|
2
|
+
tinh_theo_tong_ds:Boolean,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
+
(global.configs||{}).createIndexes&&(csluongtheodsSchema.index({id_app:1,ds_nv:1}),csluongtheodsSchema.index({id_app:1,ds_bp:1}),csluongtheodsSchema.index({id_app:1,ds_ma_vt:1}),csluongtheodsSchema.index({id_app:1,ds_ma_kh:1}),csluongtheodsSchema.index({id_app:1,ds_ma_ct:1}),csluongtheodsSchema.index({id_app:1,status:1}),csluongtheodsSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.csluongtheods||mongoose.model("csluongtheods",csluongtheodsSchema);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const csphucapSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ds_nv:[String],ds_bp:[String],phu_cap:[],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(csphucapSchema.index({id_app:1,ds_nv:1}),csphucapSchema.index({id_app:1,ds_bp:1}),csphucapSchema.index({id_app:1,status:1}),csphucapSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.csphucap||mongoose.model("csphucap",csphucapSchema);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const validator=require("../libs/validator"),ctdsScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},group_id:{type:String,trim:!0,maxlength:1024},nam:{type:Number},tu_thang:{type:Number},den_thang:{type:Number},tu_nam_thang:Number,den_nam_thang:Number,tk_no:[String],tk_no_gt:Boolean,tk_co:[String],tk_co_gt:Boolean,ma_kho:{type:String,uppercase:!0,trim:!0,maxlength:32},ten_kho:String,ma_kh:{type:String,uppercase:!0,trim:!0,maxlength:32},
|
|
2
|
+
ten_kh:String,ma_nv:{type:String,uppercase:!0,trim:!0,maxlength:32},ten_nv:String,ma_dt:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_bp:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,trim:!0,maxlength:32},chi_tieu:{type:Number,default:0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},
|
|
3
|
+
user_created:{type:String,default:""},user_updated:{type:String,default:""}});ctdsScheam.validate={ma_dvcs:validator.existsDvcs};
|
|
4
|
+
(global.configs||{}).createIndexes&&(ctdsScheam.index({id_app:1,group_id:1,nam:1,ma_dvcs:1,tu_thang:1,den_thang:1,ma_kho:1,ma_nv:1}),ctdsScheam.index({ma_kho:"text",ma_nv:"text",ten_nv:"text",ten_kho:"text"},{name:"ctds_index_text"}),ctdsScheam.index({tu_nam_thang:-1}),ctdsScheam.index({den_nam_thang:-1}),ctdsScheam.index({ma_dt:1}),ctdsScheam.index({ma_bp:1}),ctdsScheam.index({ma_phi:1}),ctdsScheam.index({tk_co:1}),ctdsScheam.index({tk_no:1}),ctdsScheam.index({ma_kh:1}),ctdsScheam.index({ma_hd:1}),
|
|
5
|
+
ctdsScheam.index({ma_sp:1}),ctdsScheam.index({status:1}),ctdsScheam.index({user_created:1,visible_to:1,visible_to_users:1}));ctdsScheam.pre("save",function($next$$){this.tu_nam_thang=this.nam*12+this.tu_thang;this.den_nam_thang=this.nam*12+this.den_thang;$next$$()});module.exports=mongoose.models.ctds||mongoose.model("ctds",ctdsScheam);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const ctds2Scheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,maxlength:1024},group_id:{type:String,trim:!0,maxlength:1024},ct_theo:{type:String,default:"thang"},hl_tu_ngay:Date,hl_den_ngay:Date,cach_tinh:{type:String,default:"1",enum:["0","1","2","3","9"]},kpi_script:{type:String,maxlength:8E3},tk_no:[String],tk_no_gt:Boolean,tk_co:[String],tk_co_gt:Boolean,ma_kho:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,trim:!0,maxlength:32},
|
|
2
|
+
nh_kh:[String],nh_kh_lt:Boolean,nh_kh2:[String],nh_kh3:[String],nh_kh4:[String],nh_kh5:[String],ma_nv:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_nvt:[String],ma_nvt_lt:Boolean,ma_nvt2:[String],ma_nvt3:[String],ma_nvt4:[String],ma_nvt5:[String],ma_dt:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_bp:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_hd:{type:String,uppercase:!0,trim:!0,maxlength:32},ma_sp:{type:String,uppercase:!0,
|
|
3
|
+
trim:!0,maxlength:32},ps_cu:Number,ty_le_tang_truong:Number,chi_tieu:{type:Number,default:0},chi_tieu_thang:{type:Number,default:0},chinh_sach_hoa_hong:[],quan_ly:{type:Boolean,default:!1},nhan_chi_tieu:{type:String,trim:!0,maxlength:255},ma_chi_tieu:String,mieu_ta:{type:String,maxlength:4E3},is_draft_ai:{type:Boolean,default:!1},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,
|
|
4
|
+
default:""}});
|
|
5
|
+
(global.configs||{}).createIndexes&&(ctds2Scheam.index({id_app:1,group_id:1,ma_dvcs:1,ma_kho:1,ma_nv:1}),ctds2Scheam.index({id_app:1,ma_ke_hoach:1}),ctds2Scheam.index({id_app:1,ma_ke_hoach:1,is_draft_ai:1}),ctds2Scheam.index({id_app:1,ct_theo:1}),ctds2Scheam.index({id_app:1,hl_tu_ngay:-1,hl_den_ngay:-1}),ctds2Scheam.index({id_app:1,ma_dt:1}),ctds2Scheam.index({id_app:1,ma_bp:1}),ctds2Scheam.index({id_app:1,ma_phi:1}),ctds2Scheam.index({id_app:1,tk_co:1}),ctds2Scheam.index({id_app:1,tk_no:1}),ctds2Scheam.index({id_app:1,
|
|
6
|
+
ma_kh:1}),ctds2Scheam.index({id_app:1,ma_hd:1}),ctds2Scheam.index({id_app:1,ma_sp:1}),ctds2Scheam.index({id_app:1,nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1}),ctds2Scheam.index({id_app:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1}),ctds2Scheam.index({id_app:1,status:1,ser_created:1,visible_to:1,visible_to_users:1}));ctds2Scheam.pre("save",function($next$$){this.chi_tieu_thang=this.ct_theo=="quy"?this.chi_tieu/3:this.ct_theo=="nam"?this.chi_tieu/12:this.chi_tieu;$next$$()});
|
|
7
|
+
module.exports=mongoose.models.ctds2||mongoose.model("ctds2",ctds2Scheam);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const currencySchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_nt:{type:String,uppercase:!0,required:!0,maxlength:32},ten_nt:{type:String,required:!0,maxlength:1024},ty_gia:{type:Number,default:1,required:!0},so_diem:{type:Number,default:0},so_tien:{type:Number,default:0},tk_cl_no:{type:String,default:"",maxlength:32},tk_cl_co:{type:String,default:"",maxlength:32},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,
|
|
2
|
+
default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});(global.configs||{}).createIndexes&&(currencySchema.index({id_app:1,ma_nt:1,ten_nt:1},{unique:!0}),currencySchema.index({id_app:1,ma_nt:"text",ten_nt:"text"},{name:"currency_index_text"}),currencySchema.index({id_app:1,status:1}),currencySchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}));const model=mongoose.models.currency||mongoose.model("currency",currencySchema);
|
|
3
|
+
model.getRate=async($id_app$$,$ma_nt$$)=>new Promise($resolve$$=>{model.findOne({ma_nt:$ma_nt$$,id_app:$id_app$$}).lean().then($rs$$=>{if(!$rs$$||!$rs$$.so_diem)return $resolve$$(1);$resolve$$($rs$$.so_tien/$rs$$.so_diem)}).catch($e$$=>{Logger.error($e$$);$resolve$$(1)})});module.exports=model;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const mongoose=require("mongoose"),customReportSchema=new mongoose.Schema({id_app:{type:String,required:!0},report_code:{type:String,required:!0,unique:!0},report_name:{type:String,required:!0},description:{type:String},expected_params:[{type:String}],script:{type:String,required:!0,maxlength:4E4},created_by:{type:String}});module.exports=mongoose.models.custom_report||mongoose.model("custom_report",customReportSchema);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const validator=require("validator"),redisCache=require("../libs/redis-cache"),customerSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:!0,default:"",trim:!0,maxlength:32},ten_kh:{type:String,required:"Y\u00eau c\u1ea7u nh\u1eadp t\u00ean kh\u00e1ch h\u00e0ng",trim:!0,maxlength:1024},device_user_id:String,gioi_tinh:{type:String,maxlength:1024},ngay_sinh:Date,dia_chi:{type:String,maxlength:1024},xa_phuong:{type:String,maxlength:1024},quan_huyen:{type:String,
|
|
2
|
+
maxlength:1024},tinh_thanh:{type:String,maxlength:1024},location:Schema.Types.Mixed,dien_thoai:{type:String,maxlength:1024,trim:!0},dia_chi2:{type:String,maxlength:1024},xa_phuong2:{type:String,maxlength:1024},quan_huyen2:{type:String,maxlength:1024},tinh_thanh2:{type:String,maxlength:1024},location2:Schema.Types.Mixed,dien_thoai2:{type:String,maxlength:1024,trim:!0},fax:{type:String,maxlength:1024},email:{type:String,maxlength:1024},fb_id:String,page_id:String,website:{type:String,maxlength:1024},
|
|
3
|
+
ma_so_thue:{type:String,maxlength:1024},phu_trach:{type:String,maxlength:1024},ten_phu_trach:String,loai_kh:{type:String,default:"",trim:!0,maxlength:1024},nh_kh:{type:String,default:"",trim:!0,maxlength:1024},ten_nh_kh:String,nh_kh2:[String],nh_kh3:[String],nh_kh4:[String],nh_kh5:[String],nh_kh6:[String],ma_nganh_hang:[String],khu_vuc_phu_trach:[],ma_kho_npp:String,ghi_chu:{type:String,default:"",trim:!0,maxlength:1024},isdistributor:{type:Boolean},ncc_yn:{type:Boolean,default:!0},kh_yn:{type:Boolean,
|
|
4
|
+
default:!0},isbuyer:{type:Boolean,default:!0},isseller:Boolean,iscarrier:Boolean,from_updated:{type:String,default:"M",maxlength:1024},of_user:{type:String,lowercase:!0,maxlength:1024,set:function($of_user$$){this._previous_of_user=this.of_user;return $of_user$$}},group_user:String,default_password:{type:String},exfields:Schema.Types.Mixed,trang_thai:{type:String,default:"1"},activities:{},status:{type:Boolean,default:!0},ngay_mua_dau_tien:Date,ngay_mua_gan_nhat:Date,ngay_tuong_tac_gan_nhat:{type:Date,
|
|
5
|
+
default:Date.now},latest_note:Schema.Types.Mixed,labels:[String],hinh_anh:String,ho_so_dinh_kem:[String],tk_ngan_hang:String,ten_ngan_hang:String,date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],visible_to_usergroups:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String]},
|
|
6
|
+
{toJSON:{virtuals:!0}});
|
|
7
|
+
customerSchema.pre("save",function($next$$){if(!this.of_user)return $next$$();const $self$$=this;if(this.isNew||this.of_user!=this._previous_of_user){let $condition$$={id_app:this.id_app,of_user:this.of_user,ma_kh:{$ne:this.ma_kh}};Logger.info("Check of_user, previous of_user:",this._previous_of_user,"new of_user:",this.of_user,"ma_kh:",this.ma_kh);mongoose.models.customer.find($condition$$,{ten_kh:1,ma_kh:1},($e$$,$khs$$)=>{$khs$$.length>0?$next$$(Error(`Ng\u01b0\u1eddi s\u1eed d\u1ee5ng '${$self$$.of_user}' \u0111\u00e3 \u0111\u01b0\u1ee3c g\u1eafn cho kh\u00e1ch h\u00e0ng '${$khs$$.map($kh$$=>$kh$$.ma_kh+
|
|
8
|
+
" - "+$kh$$.ten_kh).join(",")}'`)):$next$$()})}else $next$$()});
|
|
9
|
+
(global.configs||{}).createIndexes&&(Logger.info("[customer] t\u1ea1o indexes...."),customerSchema.index({id_app:1,ma_kh:1},{unique:!0}),customerSchema.index({id_app:1,ma_kh:1,ten_kh:1,status:1}),customerSchema.index({id_app:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,isbuyer:1,is_staff:1}),customerSchema.index({id_app:1,nh_kh:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,nh_kh2:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,nh_kh3:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,
|
|
10
|
+
nh_kh4:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,nh_kh5:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,trang_thai:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,trang_thai:1,nh_kh:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,trang_thai:1,nh_kh2:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,trang_thai:1,nh_kh3:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,trang_thai:1,nh_kh4:1,isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,trang_thai:1,nh_kh5:1,
|
|
11
|
+
isbuyer:1,ten_kh:1}),customerSchema.index({id_app:1,isseller:1,ten_kh:1}),customerSchema.index({id_app:1,loai_kh:1,status:1}),customerSchema.index({id_app:1,iscarrier:1,ten_kh:1}),customerSchema.index({id_app:1,fb_id:1}),customerSchema.index({id_app:1,page_id:1}),customerSchema.index({id_app:1,page_id:1,fb_id:1}),customerSchema.index({id_app:1,phu_trach:1,of_user:1}),customerSchema.index({id_app:1,isdistributor:1,status:1}),customerSchema.index({id_app:1,khu_vuc_phu_trach:1,status:1}),customerSchema.index({id_app:1,
|
|
12
|
+
activities:1,status:1}),customerSchema.index({id_app:1,ma_nganh_hang:1,status:1}),customerSchema.index({id_app:1,ngay_mua_gan_nhat:1,status:1}),customerSchema.index({id_app:1,ngay_mua_dau_tien:1,status:1}),customerSchema.index({id_app:1,ngay_tuong_tac_gan_nhat:1,status:1}),customerSchema.index({id_app:1,dien_thoai:1,status:1}),customerSchema.index({id_app:1,email:1,status:1}),customerSchema.index({id_app:1,tinh_thanh:1,status:1}),customerSchema.index({id_app:1,tinh_thanh:1,quan_huyen:1,status:1}),
|
|
13
|
+
customerSchema.index({id_app:1,tinh_thanh:1,quan_huyen:1,xa_phuong:1,status:1}),customerSchema.index({id_app:1,tinh_thanh:1,quan_huyen:1,xa_phuong:1,dia_chi:1,status:1}),customerSchema.index({id_app:1,status:1,ma_kh:1,ten_kh:1,dia_chi:1,xa_phuong:1,quan_huyen:1,tinh_thanh:1,dien_thoai:1,email:1,ma_so_thue:1,phu_trach:1,of_user:1}),customerSchema.index({id_app:1,trang_thai:1,status:1}),customerSchema.index({id_app:1,date_created:-1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,
|
|
14
|
+
user_created:1,visible_to:1,visible_to_users:1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,iscarrier:1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,isbuyer:1,is_staff:1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,nh_kh:1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,
|
|
15
|
+
user_created:1,visible_to:1,visible_to_users:1,ma_kh:1,ten_kh:1,dien_thoai:1,email:1,ma_so_thue:1,dia_chi:1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,ma_kh:1,ten_kh:1,tinh_thanh:1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,user_created:1,visible_to:1,visible_to_users:1,ma_kh:1,ten_kh:1,tinh_thanh:1,quan_huyen:1}),customerSchema.index({id_app:1,trang_thai:1,of_user:1,phu_trach:1,user_created:1,visible_to:1,
|
|
16
|
+
visible_to_users:1,ma_kh:1,ten_kh:1,tinh_thanh:1,quan_huyen:1,xa_phuong:1,dia_chi:1,dien_thoai:1,email:1,ma_so_thue:1,nh_kh:1}),customerSchema.index({id_app:1,ma_kh:"text",ten_kh:"text",dia_chi:"text",xa_phuong:"text",quan_huyen:"text",tinh_thanh:"text",dien_thoai:"text",email:"text",ma_so_thue:"text",phu_trach:"text"},{name:"customer_index",default_language:"none"}));const model=mongoose.models.customer||mongoose.model("customer",customerSchema);
|
|
17
|
+
if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?(Logger.error("Customer index error",$err$$),(await model.aggregate([{$group:{_id:{id_app:"$id_app",ma_kh:"$ma_kh"},count:{$sum:1},ids:{$push:"$_id"}}},{$match:{count:{$gt:1}}}])).forEach($d$$=>{console.info("customer duplication",$d$$._id,$d$$.ids);$d$$.ids.forEach(($id$$,$index$$)=>{$index$$>0&&console.info("you should delete customer",$id$$)})})):console.info("Customer indexing complete")});
|
|
18
|
+
model.referenceKeys={ma_kh:[{model:"cdkh",key:"ma_kh",error:"Kh\u00e1ch h\u00e0ng ${obj.ten_kh} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng c\u00e2n \u0111\u1ed1i kh\u00e1ch h\u00e0ng"},{model:"socai",key:"ma_kh_no",error:"Kh\u00e1ch h\u00e0ng ${obj.ten_kh} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 c\u00e1i"},{model:"socai",key:"ma_kh_co",error:"Kh\u00e1ch h\u00e0ng ${obj.ten_kh} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u s\u1ed5 c\u00e1i"}]};
|
|
19
|
+
model.createCustomerCode=function($id_app$$,$ma_kh$$,$lanthu$$,$callback$$){$ma_kh$$=$ma_kh$$.replace(/[^\w\s]/gi,"").split(" ").join("").toUpperCase();model.findOne({ma_kh:$ma_kh$$,id_app:$id_app$$},function($e$$,$rs$$){if($e$$)return $callback$$($e$$);if($rs$$)$lanthu$$+=1,$ma_kh$$=$ma_kh$$.substring(0,$ma_kh$$.length-$lanthu$$.toString().length)+$lanthu$$.toString(),model.createCustomerCode($id_app$$,$ma_kh$$,$lanthu$$,$callback$$);else return $callback$$(null,$ma_kh$$)})};
|
|
20
|
+
model.asyncCreateCustomerCode=async($id_app$$,$ma_kh$$,$lanthu$$)=>{$lanthu$$||=0;$ma_kh$$.length>32&&($ma_kh$$=$ma_kh$$.substring(0,32));return new Promise($resolve$$=>{model.createCustomerCode($id_app$$,$ma_kh$$,$lanthu$$,($e$$,$rs$$)=>{$resolve$$($rs$$||"")})})};
|
|
21
|
+
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$("Can't find customer information");$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$.message)})})};
|
|
22
|
+
model.getList=async($id_app$$,$condition$$,$field$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.find($condition$$).lean().then($rs$$=>{$resolve$$($field$$?$rs$$.map($r$$=>$r$$[$field$$]):$rs$$)}).catch($e$$=>{$reject$$(Error($e$$.message))})})};
|
|
23
|
+
model.asyncCreateCustomer=async $data$$=>{if($data$$.of_user){var $_cust__cust$$=await model.findOne({id_app:$data$$.id_app,of_user:$data$$.of_user});if($_cust__cust$$)return $_cust__cust$$}$data$$.ma_kh||($data$$.ma_kh=await model.asyncCreateCustomerCode($data$$.id_app,$data$$.ten_kh));return($_cust__cust$$=await model.findOne({id_app:$data$$.id_app,ma_kh:$data$$.ma_kh}))?$_cust__cust$$:new Promise(($resolve$$,$reject$$)=>{$data$$.email&&!validator.isEmail($data$$.email)&&($data$$.email="");model.create($data$$,
|
|
24
|
+
($e$$,$rs$$)=>$e$$?$reject$$(Error($e$$.message)):$resolve$$($rs$$))})};model.buyVouchers=["SO1","SO9","HD2","HD1","PBL"];
|
|
25
|
+
model.updateActives=async $data$$=>{var $has_changed_o_kh$$=!1;let $_id$$,$kh$$;if($data$$.ma_kh&&$data$$.id_app)($kh$$=await model.findOne({id_app:$data$$.id_app,ma_kh:$data$$.ma_kh},{_id:1,ma_kh:1,id_app:1,ngay_tuong_tac_gan_nhat:1,ngay_mua_gan_nhat:1,trang_thai:1}).lean())&&($_id$$=$kh$$._id.toString());else{var $link_ngay_tuong_tac_gan_nhat$$=$data$$.id_kh||$data$$.id_link;$link_ngay_tuong_tac_gan_nhat$$&&global.mongoose.Types.ObjectId.isValid($link_ngay_tuong_tac_gan_nhat$$)&&($kh$$=await model.findOne({_id:$link_ngay_tuong_tac_gan_nhat$$},
|
|
26
|
+
{_id:1,ma_kh:1,id_app:1,ngay_tuong_tac_gan_nhat:1,ngay_mua_gan_nhat:1,trang_thai:1}).lean())&&($_id$$=$kh$$._id.toString())}if(!$kh$$)return{};let $ngay_mua_gan_nhat$$,$ngay_mua_dau_tien$$,$trang_thai$$=$kh$$.trang_thai;$link_ngay_tuong_tac_gan_nhat$$=$kh$$.ngay_tuong_tac_gan_nhat;const $ngay_tuong_tac$$=new Date($data$$.date_created);(!$link_ngay_tuong_tac_gan_nhat$$||$ngay_tuong_tac$$>new Date($link_ngay_tuong_tac_gan_nhat$$))&&$_id$$!=($data$$._id||"").toString()&&($link_ngay_tuong_tac_gan_nhat$$=
|
|
27
|
+
$ngay_tuong_tac$$,$has_changed_o_kh$$=!0,$kh$$.trang_thai=="3"&&($trang_thai$$="5"));($data$$=await global.getModel("sokho").findOne({ma_kh:$kh$$.ma_kh,id_app:$kh$$.id_app,gia_ban_nt:{$gt:0},ma_ct:{$in:model.buyVouchers}},{ngay_ct:1,so_ct:1,ma_ct:1,ma_vt:1,gia_ban_nt:1}).sort({ngay_ct:1}).lean())||($data$$=await global.getModel("sokhonpp").findOne({ma_kh:$kh$$.ma_kh,id_app:$kh$$.id_app,gia_ban_nt:{$gt:0},ma_ct:{$in:model.buyVouchers}},{ngay_ct:1,so_ct:1,ma_ct:1,ma_vt:1,gia_ban_nt:1}).sort({ngay_ct:1}).lean());
|
|
28
|
+
if($data$$)$kh$$.ngay_mua_dau_tien&&(new Date($data$$.ngay_ct)).getTime()==(new Date($kh$$.ngay_mua_dau_tien)).getTime()||($has_changed_o_kh$$=!0,$ngay_mua_dau_tien$$=$data$$.ngay_ct),$kh$$.trang_thai==="9"||$kh$$.trang_thai=="1"&&!$kh$$.ngay_mua_gan_nhat||($has_changed_o_kh$$=!0,$trang_thai$$="1");else if($kh$$.ngay_mua_gan_nhat||$kh$$.ngay_mua_dau_tien)$has_changed_o_kh$$=!0,$kh$$.ngay_mua_gan_nhat=null,$ngay_mua_dau_tien$$=$ngay_mua_gan_nhat$$=$kh$$.ngay_mua_dau_tien=null,$kh$$.trang_thai=="1"&&
|
|
29
|
+
($trang_thai$$="5");$data$$&&(($data$$=await global.getModel("sokho").findOne({ma_kh:$kh$$.ma_kh,id_app:$kh$$.id_app,gia_ban_nt:{$gt:0},ma_ct:{$in:model.buyVouchers}},{ngay_ct:1}).sort({ngay_ct:-1}).lean())||await global.getModel("sokhonpp").findOne({ma_kh:$kh$$.ma_kh,id_app:$kh$$.id_app,gia_ban_nt:{$gt:0},ma_ct:{$in:model.buyVouchers}},{ngay_ct:1}).sort({ngay_ct:-1}).lean(),!$data$$||$kh$$.ngay_mua_gan_nhat&&(new Date($data$$.ngay_ct)).getTime()==(new Date($kh$$.ngay_mua_gan_nhat)).getTime()||($has_changed_o_kh$$=
|
|
30
|
+
!0,$ngay_mua_gan_nhat$$=$data$$.ngay_ct));$has_changed_o_kh$$&&($ngay_mua_gan_nhat$$=$ngay_mua_gan_nhat$$||$kh$$.ngay_mua_gan_nhat,$ngay_mua_dau_tien$$=$ngay_mua_dau_tien$$||$kh$$.ngay_mua_dau_tien,$link_ngay_tuong_tac_gan_nhat$$=$link_ngay_tuong_tac_gan_nhat$$||$kh$$.ngay_tuong_tac_gan_nhat,Logger.info("[customer][updateActives]",JSON.stringify({ngay_mua_gan_nhat:$ngay_mua_gan_nhat$$,ngay_mua_dau_tien:$ngay_mua_dau_tien$$,ngay_tuong_tac_gan_nhat:$link_ngay_tuong_tac_gan_nhat$$,trang_thai:$trang_thai$$},
|
|
31
|
+
null,2)),await model.updateOne({_id:$_id$$},{ngay_mua_gan_nhat:$ngay_mua_gan_nhat$$,ngay_mua_dau_tien:$ngay_mua_dau_tien$$,ngay_tuong_tac_gan_nhat:$link_ngay_tuong_tac_gan_nhat$$,trang_thai:$trang_thai$$}),$has_changed_o_kh$$=await model.findById($kh$$._id).lean(),redisCache.set("customer",$has_changed_o_kh$$));return{ngay_mua_gan_nhat:$ngay_mua_gan_nhat$$,ngay_mua_dau_tien:$ngay_mua_dau_tien$$,ngay_tuong_tac_gan_nhat:$link_ngay_tuong_tac_gan_nhat$$}};module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const khachHangTuongTacSchema=new Schema({id_app:{type:String,required:!0},ma_kh:{type:String,required:!0,index:!0},hinh_thuc:{type:String},ma_dt:{type:String},noi_dung:{type:String,required:!0},nhu_cau:{type:String},muc_do_quan_tam:{type:String},ngay_cham_soc:{type:Date,default:Date.now},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(khachHangTuongTacSchema.index({id_app:1,ma_kh:1}),khachHangTuongTacSchema.index({id_app:1,ngay_cham_soc:1}),khachHangTuongTacSchema.index({id_app:1,muc_do_quan_tam:1}),khachHangTuongTacSchema.index({id_app:1,hinh_thuc:1}),khachHangTuongTacSchema.index({id_app:1,ma_dt:1}),khachHangTuongTacSchema.index({id_app:1,date_created:-1}));module.exports=mongoose.models.customer_care||mongoose.model("customer_care",khachHangTuongTacSchema);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
const mongoose=require("mongoose"),Schema=mongoose.Schema,apiMappingSchema=new Schema({value:{type:String},label:{type:String},label_as:{type:String}},{_id:!1}),OptionSchema=new Schema({label:{type:String,required:!0},value:{type:Schema.Types.Mixed,required:!0}},{_id:!1}),quickFilterConfigSchema=new Schema({field:{type:String},api:{type:String},apiCondition:{type:Schema.Types.Mixed},apiSort:{type:Schema.Types.Mixed},apiMapping:apiMappingSchema,options:[OptionSchema]},{_id:!1}),optionsSchema=new Schema({label:{type:String,
|
|
2
|
+
required:!0},sort:{type:Schema.Types.Mixed,required:!0}}),FieldSchema=new Schema({field:{type:String,required:!0},label:{type:String,required:!0},type:{type:String,default:"String"},required:{type:Boolean,default:!1},errorMessage:{type:String},helpText:{type:String},maxLength:{type:Number},min:{type:Number},max:{type:Number},step:{type:Number},listOrder:{type:Number,default:999},isTitle:{type:Boolean,default:!1},isSubTitle:{type:Boolean,default:!1},multiline:{type:Boolean,default:!1},row:{type:Boolean,
|
|
3
|
+
default:!0},slider:{type:Boolean,default:!1},marks:{type:Schema.Types.Mixed},gridEdit:{type:Schema.Types.Mixed},gridView:{type:Schema.Types.Mixed},gridFilter:{type:Schema.Types.Mixed},hideInForm:{type:Schema.Types.Mixed,default:!1},hideInList:{type:Schema.Types.Mixed,default:!1},hideInView:{type:Schema.Types.Mixed,default:!1},searchable:{type:Schema.Types.Mixed,default:!0},readOnly:{type:Schema.Types.Mixed,default:!1},options:[OptionSchema],default:{type:Schema.Types.Mixed},actionScript:{type:String},
|
|
4
|
+
multiple:{type:Boolean,default:!1},api:{type:String},apiFields:{type:String},apiCondition:{type:Schema.Types.Mixed},apiConditionFn:{type:String},apiMapping:apiMappingSchema,canQuickAdd:{type:Boolean,default:!1},quickAddFields:{type:Schema.Types.Mixed},quickAddPrefill:{type:Schema.Types.Mixed},mapTo:[{type:String}],onValueChanged:{type:String,trim:!0},formStep:{type:Number},stepLabel:{type:String}},{_id:!1});FieldSchema.add({subFields:[FieldSchema]});
|
|
5
|
+
const DataListConfigSchema=new Schema({moduleCode:{type:String,required:!0,unique:!0,index:!0},apiCode:{type:String,required:!0},title:{type:String,required:!0},canAdd:{type:Boolean,default:!0},canEdit:{type:Boolean,default:!0},canDelete:{type:Boolean,default:!0},canCopy:{type:Boolean,default:!0},requireLogin:{type:Boolean,default:!0},defaultViewMode:{type:String,enum:["table","card"],default:"table"},formSize:{type:String,enum:["sm","md","lg","full"],default:"md"},actionBarPosition:{type:String,
|
|
6
|
+
enum:["top","bottom"],default:"bottom"},hideHeader:{type:Boolean,default:!1},limit:{type:Number,default:20},gridProps:{type:Schema.Types.Mixed,default:{xs:12,sm:6,md:4,lg:3}},condition:{type:Schema.Types.Mixed},conditionScript:{type:String},defaultValues:{type:Schema.Types.Mixed},sortOptions:[optionsSchema],quickFilterConfig:quickFilterConfigSchema,customFormScript:{type:String,trim:!0},customListScript:{type:String,trim:!0},customViewScript:{type:String,trim:!0},fields:[FieldSchema],date_created:{type:Date,
|
|
7
|
+
default:Date.now},date_updated:{type:Date},user_created:{type:String,default:""},user_updated:{type:String,default:""},status:{type:Boolean,default:!0}});DataListConfigSchema.pre("save",function($next$$){this.date_updated=Date.now();$next$$()});module.exports=mongoose.model("data_list_config",DataListConfigSchema);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const moment=require("moment"),databanleSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},id_ct:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ma_gd:{type:String,default:"0",maxlength:32,trim:!0},ngay_ct:{type:Date,required:!0},so_ct:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ma_nt:{type:String,default:"VND",required:!0,uppercase:!0,maxlength:32,trim:!0},ty_gia:{type:Number,
|
|
2
|
+
default:1},ma_kho:{type:String,required:!0,uppercase:!0,maxlength:32,trim:!0},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32,trim:!0},dien_giai:{type:String,default:"",maxlength:1024},ma_bp:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_phi:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_hd:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_dt:{type:String,default:"",uppercase:!0,maxlength:32,trim:!0},ma_nv:{type:String,default:"",uppercase:!0,maxlength:32,
|
|
3
|
+
trim:!0},gio:Number,ngay:Number,thang:Number,quy:Number,nam:Number,ma_kenh:String,ma_td1:String,ma_td2:String,ma_td3:String,ma_td4:String,ma_td5:String,ma_td6:String,ma_td7:String,ma_td8:String,ma_td9:String,pt_thanh_toan:String,pt_thanh_toan2:String,cashier:String,ma_ca:{type:String,uppercase:!0,maxlength:32,trim:!0},trang_thai:{type:String,maxlength:32},id_reason:{type:String,maxlength:1024},exfields:Schema.Types.Mixed,exfields_detail:Schema.Types.Mixed,details:[Schema.Types.Mixed],details_tl:[Schema.Types.Mixed],
|
|
4
|
+
ptthanhtoans:[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:""},user_updated:{type:String,default:""}},{toJSON:{virtuals:!0}});
|
|
5
|
+
(global.configs||{}).createIndexes&&(databanleSchema.index({id_app:1}),databanleSchema.index({ma_dvcs:1}),databanleSchema.index({ngay_ct:-1}),databanleSchema.index({so_ct:-1}),databanleSchema.index({so_ct:1,ngay_ct:1}),databanleSchema.index({ma_ct:1}),databanleSchema.index({ma_kho:1}),databanleSchema.index({ma_kh:1}),databanleSchema.index({ma_bp:1}),databanleSchema.index({ma_phi:1}),databanleSchema.index({ma_nv:1}),databanleSchema.index({ma_dt:1}),databanleSchema.index({id_ct:1}),databanleSchema.index({id_cs:1}),
|
|
6
|
+
databanleSchema.index({cashier:1}),databanleSchema.index({gio:1}),databanleSchema.index({ngay:1}),databanleSchema.index({thang:1}),databanleSchema.index({quy:1}),databanleSchema.index({nam:-1}),databanleSchema.index({ma_kenh:1}),databanleSchema.index({ma_td1:1}),databanleSchema.index({ma_td2:1}),databanleSchema.index({ma_td3:1}),databanleSchema.index({ma_td4:1}),databanleSchema.index({ma_td5:1}),databanleSchema.index({ma_td6:1}),databanleSchema.index({ma_td7:1}),databanleSchema.index({ma_td8:1}),
|
|
7
|
+
databanleSchema.index({ma_td9:1}),databanleSchema.index({pt_thanh_toan:1}),databanleSchema.index({pt_thanh_toan2:1}),databanleSchema.index({id_app:1,id_ct:1,so_ct:-1,ngay_ct:-1,ma_kho:1}),databanleSchema.index({dien_giai:"text"}),databanleSchema.index({status:1}),databanleSchema.index({user_created:1,visible_to:1,visible_to_users:1}),databanleSchema.index({trang_thai:1}));
|
|
8
|
+
databanleSchema.pre("save",function($next$$){let $ngay_ct$$=moment(this.ngay_ct);this.gio=$ngay_ct$$.get("hours");this.ngay=$ngay_ct$$.get("dates");this.quy=$ngay_ct$$.get("quarters");this.thang=$ngay_ct$$.get("months")+1;this.nam=$ngay_ct$$.get("year");$next$$()});const model=mongoose.models.databanle||mongoose.model("databanle",databanleSchema);module.exports=model;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const datlichSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_link:{type:String,maxlength:1024},collection_link:{type:String,maxlength:1024},datlich_user:{type:String,lowercase:!0,maxlength:1024},phone:{type:String,maxlength:1024},name:String,address:String,ma_kho:{type:String,maxlength:1024},ten_kho:String,ma_kh:{type:String,maxlength:1024},ten_kh:String,ngay:{type:Date,required:!0},khung_gio:{type:String,required:!0,maxlength:1024},nhac_nho_truoc:{type:Number,default:20},thong_tin_san_pham:{type:String,
|
|
2
|
+
maxlength:1024},group_id:{type:String},noi_dung:{type:String,required:!0},ghi_chu:{type:String},support_user:{type:String,lowercase:!0,maxlength:1024},phu_trach:{type:String,lowercase:!0,maxlength:1024},attends:[],trang_thai:{type:String,default:"HENLICH"},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
+
(global.configs||{}).createIndexes&&(datlichSchema.index({id_app:1}),datlichSchema.index({datlich_user:1}),datlichSchema.index({ma_kho:1}),datlichSchema.index({ma_kh:1}),datlichSchema.index({id_link:1}),datlichSchema.index({phu_trach:1}),datlichSchema.index({group_id:1}),datlichSchema.index({status:1}),datlichSchema.index({user_created:1,visible_to:1,visible_to_users:1}),datlichSchema.index({trang_thai:1}),datlichSchema.index({attends:1}),datlichSchema.index({datlich_user:"text",phone:"text",ma_kh:"text",
|
|
4
|
+
ten_kh:"text",ma_kho:"text",ten_kho:"text"},{name:"datlich_index_text"}));module.exports=mongoose.models.datlich||mongoose.model("datlich",datlichSchema);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const dealSchema=new Schema({id_app:{type:String,required:!0},ma_kh:{type:String,required:!0},ten_deal:{type:String,required:!0},funnel_stage:{type:String,default:"NEW"},ma_nd_quan_tam:{type:String},ma_dt:{type:String},ngan_sach:{type:Number},tai_lieu:[],date_closed:{type:Date},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(dealSchema.index({id_app:1,ma_kh:1}),dealSchema.index({id_app:1,ma_kh:1,funnel_stage:1}));const model=mongoose.models.deal||mongoose.model("deal",dealSchema);if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?Logger.error("deal index error",$err$$):console.info("deal indexing complete")});module.exports=model;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const validAccount=require("../libs/validator-account"),validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ma_dvt:{type:String,required:!0,maxlength:32},ma_kho:{type:String,uppercase:!0,maxlength:32},ma_nvt:String,tk_vt:{type:String,uppercase:!0,maxlength:32},tk_gv:{type:String,uppercase:!0,maxlength:32},tk_dt:{type:String,uppercase:!0,maxlength:32},tk_ck:{type:String,uppercase:!0,maxlength:32},
|
|
2
|
+
px_gia_dd:{type:Boolean,default:!1},ton_kho:{type:Number,default:0},so_luong:{type:Number,default:0},sl_xuat:{type:Number,default:0},he_so_qd:{type:Number,default:1},sl_xuat_qd:Number,gia_mua:{type:Number,default:0},tien_xuat_tmp:{type:Number,default:0},gia_von:{type:Number,default:0},gia_von_nt:{type:Number,default:0},tien_xuat:{type:Number,default:0},tien_xuat_nt:{type:Number,default:0},gia_ban_ct_nt:{type:Number},gia_ban_ct:{type:Number},tien_ct:{type:Number,default:0},tien_ct_nt:{type:Number,
|
|
3
|
+
default:0},ma_thue:String,thue_suat:{type:Number,default:0},tien_thue:{type:Number,default:0},tien_thue_nt:{type:Number,default:0},ten_vt_vat:{type:String},gia_ban_niem_yet_nt:Number,gia_ban:{type:Number,default:0},gia_ban_nt:{type:Number,default:0},tien:{type:Number,default:0},tien_nt:{type:Number,default:0},id_cs_ck:String,ty_le_ck:{type:Number,default:0},tien_ck:{type:Number,default:0},tien_ck_nt:{type:Number,default:0},tt_nt:{type:Number,default:0},tt:{type:Number,default:0},promotion:Schema.Types.Mixed,
|
|
4
|
+
dien_giai:{type:String,maxlength:1024},ty_le_hoa_hong:Number,tien_hoa_hong:Number,chuyen_ngay:Boolean,ty_le_hoa_hong_gt:Number,tien_hoa_hong_gt:Number,chuyen_ngay_gt:Boolean,ty_le_hoa_hong_ctv:Number,tien_hoa_hong_ctv:Number,chuyen_ngay_ctv:Boolean,ty_le_hoa_hong_ctv2:Number,tien_hoa_hong_ctv2:Number,chuyen_ngay_ctv2:Boolean,ty_le_hoa_hong_ql:Number,tien_hoa_hong_ql:Number,chuyen_ngay_ql:Boolean,ty_le_hoa_hong_kho:Number,tien_hoa_hong_kho:Number,chuyen_ngay_kho:Boolean,combo:Schema.Types.Mixed,sl_ap_dung_km:{type:Number,
|
|
5
|
+
default:0},km_yn_for:String,id_cs:String,ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ma_lo:{type:String,default:"",uppercase:!0,maxlength:32},han_sd:{type:Date},ma_tt1:{type:String,default:"",uppercase:!0,maxlength:32},nh_tt:String,ma_tt2:{type:String,default:"",
|
|
6
|
+
uppercase:!0,maxlength:32},ma_tt3:{type:String,default:"",uppercase:!0,maxlength:32},exfields_detail:Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={tk_vt:validAccount.existsTk,tk_gv:validAccount.existsTk,tk_dt:validAccount.existsTk,tk_ck:validAccount.existsTk,ma_vt:validVt.existsVt,ma_kho:validVt.existsKho,ma_dvt:validator.existsDvt};
|
|
7
|
+
const dh2Schema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"DH2",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"ma_nt is required",default:"VND",trim:!0,uppercase:!0,maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},
|
|
8
|
+
ong_ba:{type:String,maxlength:1024},ma_kh:{type:String,uppercase:!0,required:!0,default:"",maxlength:32},ten_kh:String,ma_so_thue:{type:String,maxlength:1024},tk_no:{type:String,uppercase:!0,default:"",maxlength:32},ten_nguoi_nhan:String,sdt_nguoi_nhan:String,dia_chi_nguoi_nhan:String,tinh_thanh:String,quan_huyen:String,xa_phuong:String,note_ship:String,ma_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},ky_hieu_hoa_don:{type:String,default:"",uppercase:!0,trim:!0,maxlength:32},
|
|
9
|
+
so_hd:{type:String,uppercase:!0,maxlength:32},so_seri:{type:String,uppercase:!0,maxlength:32},ngay_hd:{type:Date,uppercase:!0},ma_thue:{type:String,uppercase:!0,maxlength:32},thue_suat:{type:Number,default:0},tk_thue_co:{type:String,uppercase:!0,maxlength:32},dia_chi:{type:String,default:"",maxlength:1024},ten_vt:{type:String,default:"",maxlength:1024},dien_giai_thue:{type:String,default:"",maxlength:1024},t_thue:{type:Number,default:0},t_thue_nt:{type:Number,default:0},tien_phi_vc:{type:Number,default:0},
|
|
10
|
+
tien_phi_vc_nt:{type:Number,default:0},tk_phi_vc:String,han_tt:{type:Number,default:0},hinh_thuc_tt:{type:String,maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],
|
|
11
|
+
delete_right:[String],details:{type:[detailSchema]},promotion:Schema.Types.Mixed,id_contract:{type:String,maxlength:1024},id_hd2:{type:String,maxlength:1024},id_pxh:{type:String,maxlength:1024},ma_kho:{type:String,uppercase:!0,maxlength:32},ma_kho_npp:{type:String,uppercase:!0,maxlength:32},of_user:{type:String},ma_nv:{type:String,uppercase:!0,maxlength:32},user_nv:String,ma_kh_hoa_hong:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong:{type:Number,default:0},tien_hoa_hong:{type:Number,default:0},
|
|
12
|
+
tk_no_hoa_hong:String,tk_co_hoa_hong:String,tu_tinh_hoa_hong:Boolean,chuyen_ngay:Boolean,da_chuyen_hoa_hong:Boolean,user_gt:String,introduce_code:String,ma_kh_hoa_hong_gt:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_gt:{type:Number,default:0},tien_hoa_hong_gt:{type:Number,default:0},tk_no_hoa_hong_gt:String,tk_co_hoa_hong_gt:String,chuyen_ngay_gt:Boolean,da_chuyen_hoa_hong_gt:Boolean,user_ctv:String,ma_ctv:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_ctv:{type:Number,default:0},
|
|
13
|
+
thu_nhap_ctv:{type:Number,default:0},tk_cp_ctv:String,tk_cn_ctv:String,chuyen_ngay_ctv:Boolean,da_chuyen_hoa_hong_ctv:Boolean,user_ctv2:String,ma_ctv2:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_ctv2:{type:Number,default:0},thu_nhap_ctv2:{type:Number,default:0},user_ql:String,ma_kh_hoa_hong_ql:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_ql:{type:Number,default:0},tien_hoa_hong_ql:{type:Number,default:0},tk_no_hoa_hong_ql:String,tk_co_hoa_hong_ql:String,chuyen_ngay_ql:Boolean,
|
|
14
|
+
da_chuyen_hoa_hong_ql:Boolean,user_kho:String,ma_kh_hoa_hong_kho:{type:String,uppercase:!0,maxlength:32},ty_le_hoa_hong_kho:{type:Number,default:0},tien_hoa_hong_kho:{type:Number,default:0},tk_no_hoa_hong_kho:String,tk_co_hoa_hong_kho:String,chuyen_ngay_kho:Boolean,da_chuyen_hoa_hong_kho:Boolean,id_cs_ck_hd:String,ty_le_ck_hd:{type:Number,default:0},tien_ck_hd:{type:Number,default:0},result_export_einvoice:Schema.Types.Mixed,ma_bp:{type:String,uppercase:!0,maxlength:32},ma_phi:{type:String,uppercase:!0,
|
|
15
|
+
maxlength:32},ma_hd:{type:String,uppercase:!0,maxlength:32},ma_dt:{type:String,uppercase:!0,maxlength:32},ma_lo:{type:String,uppercase:!0,maxlength:32},id_client:String,listinfo_code:String});dh2Schema.validate={ma_dvcs:validator.existsDvcs,ma_nt:validator.existsNt,ngay_ct:validator.unlockBook,ma_kh:validator.existsKh,tk_no:validAccount.existsTk,ma_thue:validator.existsVat,tk_thue_co:validAccount.existsTk};
|
|
16
|
+
(global.configs||{}).createIndexes&&(dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,so_ct:-1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kh:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,ma_kho_npp:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,of_user:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,id_client:1}),dh2Schema.index({id_contract:1}),dh2Schema.index({id_hd2:1}),dh2Schema.index({id_pxh:1}),
|
|
17
|
+
dh2Schema.index({id_cs_ck_hd:1}),dh2Schema.index({id_app:1,id_contract:1}),dh2Schema.index({id_app:1,id_hd2:1}),dh2Schema.index({id_app:1,id_pxh:1}),dh2Schema.index({id_app:1,id_cs_ck_hd:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,"details.ma_vt":1}),dh2Schema.index({id_app:1,"details.id_cs_ck":1}),dh2Schema.index({id_app:1,"details.id_cs":1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_nv:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_gt:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,
|
|
18
|
+
user_ctv:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_ctv2:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_ql:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_kho:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,date_created:-1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,user_nv:1,user_gt:1,user_ctv:1,user_ql:1,of_user:1,user_created:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,of_user:1,user_created:1,
|
|
19
|
+
visible_to:1,visible_to_users:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,of_user:1,user_created:1,visible_to:1,visible_to_users:1,so_ct:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,of_user:1,user_created:1,visible_to:1,visible_to_users:1,ma_kh:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,of_user:1,user_created:1,visible_to:1,visible_to_users:1,ma_kho:1}),dh2Schema.index({id_app:1,ma_ct:1,ngay_ct:-1,trang_thai:1,of_user:1,user_created:1,visible_to:1,
|
|
20
|
+
visible_to_users:1,ma_kho_npp:1}),dh2Schema.index({id_app:1,dien_giai:"text",ma_kh:"text",ten_kh:"text",so_ct:"text"},{name:"dh2_index_text"}));const model=mongoose.models.dh2||mongoose.model("dh2",dh2Schema);if((global.configs||{}).createIndexes)model.on("index",async function($err$$){$err$$?Logger.error("dh2 index error",$err$$):console.info("dh2 indexing complete")});module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const diagramSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt:Number,id:{type:String},title:{type:String,maxlength:1024},nodes:[],direction:{type:String,default:"LR"},is_dashboard_item:{type:Boolean,default:!1},dashboard_default:{type:Boolean,default:!0},dashboard_ids:{type:String},dashboard_stt:{type:Number},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,
|
|
2
|
+
default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String]});(global.configs||{}).createIndexes&&(diagramSchema.index({id_app:1}),diagramSchema.index({id:1}),diagramSchema.index({title:1}),diagramSchema.index({title:"text"}),diagramSchema.index({status:1}),diagramSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.diagram||mongoose.model("diagram",diagramSchema);module.exports=model;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const validVt=require("../libs/validator-vt"),validator=require("../libs/validator"),detailSchema=new global.Schema({ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ma_dvt:{type:String,required:!0,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},loai_dinh_muc:{type:Number,default:1},sl_dinh_muc:{type:Number,default:0},ty_le_hao_hut:{type:Number,default:0},
|
|
2
|
+
ma_tt1_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt2_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_tt3_sp:{type:String,default:"",uppercase:!0,maxlength:32},ma_cum_chi_tiet:{type:String,uppercase:!0,default:"",maxlength:32},ten_cum_chi_tiet:{type:String,default:"",maxlength:1024},ma_cong_doan:{type:String,uppercase:!0,default:"",maxlength:32},ma_kh:{type:String,uppercase:!0,default:"",maxlength:32},ma_bp:{type:String,uppercase:!0,default:"",maxlength:32},ma_phi:{type:String,
|
|
3
|
+
uppercase:!0,default:"",maxlength:32},ma_hd:{type:String,uppercase:!0,default:"",maxlength:32},ma_dt:{type:String,uppercase:!0,default:"",maxlength:32},ma_nv:{type:String,uppercase:!0,default:"",maxlength:32},ghi_chu:{type:String,maxlength:1024},exfields_detail:global.Schema.Types.Mixed,line:{type:Number,default:0}});detailSchema.validate={ma_vt:validVt.existsVt,ma_dvt:validator.existsDvt};
|
|
4
|
+
const dinhmucsxSchema=new global.Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvcs:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"DINHMUCSX",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,required:!0,uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},loai_dinh_muc:{type:Number,default:1},hieu_luc_tu_ngay:Date,hieu_luc_den_ngay:Date,ma_sp:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp m\u00e3 s\u1ea3n ph\u1ea9m cho \u0111\u1ecbnh m\u1ee9c n\u00e0y",
|
|
5
|
+
maxlength:32},ten_sp:String,ma_tt1:String,ma_dvt_sp:{type:String,maxlength:32},so_luong:{type:Number},id_contract:{type:String,default:"",maxlength:1024},dien_giai:{type:String,default:"",maxlength:1024},exfields:global.Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},
|
|
6
|
+
visible_to_users:[String],update_right:[String],delete_right:[String],details:{type:[detailSchema]}});dinhmucsxSchema.validate={ma_dvcs:validator.existsDvcs,ma_sp:validVt.existsVt};
|
|
7
|
+
(global.configs||{}).createIndexes&&(dinhmucsxSchema.index({id_app:1,ma_dvcs:1,so_ct:-1,ngay_ct:-1}),dinhmucsxSchema.index({dien_giai:"text",ma_sp:"text",ten_sp:"text",so_ct:"text"},{name:"dichmucsx_index_text"}),dinhmucsxSchema.index({ma_sp:1}),dinhmucsxSchema.index({ma_tt1:1}),dinhmucsxSchema.index({ten_sp:1}),dinhmucsxSchema.index({ma_dvt_sp:1}),dinhmucsxSchema.index({dien_giai:1}),dinhmucsxSchema.index({loai_dinh_muc:1}),dinhmucsxSchema.index({ma_ct:1}),dinhmucsxSchema.index({user_created:1,date_created:-1}),
|
|
8
|
+
dinhmucsxSchema.index({date_updated:-1}),dinhmucsxSchema.index({hieu_luc_tu_ngay:-1}),dinhmucsxSchema.index({hieu_luc_den_ngay:-1}),dinhmucsxSchema.index({status:1}),dinhmucsxSchema.index({user_created:1,visible_to:1,visible_to_users:1}),dinhmucsxSchema.index({trang_thai:1}));module.exports=global.mongoose.models.dinhmucsx||global.mongoose.model("dinhmucsx",dinhmucsxSchema);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
const dkhocSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_ct:{type:String,default:"DKHOC",required:!0,uppercase:!0,maxlength:32},ma_gd:{type:String,default:"0",maxlength:32},so_ct:{type:String,default:"DKHOC",required:"B\u1ea1n ch\u01b0a nh\u1eadp s\u1ed1 ch\u1ee9ng t\u1eeb",uppercase:!0,trim:!0,maxlength:32},ngay_ct:{type:Date,default:Date.now,required:!0},ma_nt:{type:String,required:"B\u1ea1n ch\u01b0a nh\u1eadp m\u00e3 ngo\u1ea1i t\u1ec7",default:"VND",trim:!0,uppercase:!0,
|
|
2
|
+
maxlength:32},ty_gia:{type:Number,required:!0,min:0,default:1},ma_dvcs:{type:String,required:!0,maxlength:1024},id_pbl:{type:String,required:"B\u1ea1n ph\u1ea3i ch\u1ecdn m\u1ed9t phi\u1ebfu b\u00e1n l\u1ebb",maxlength:1024},ma_vt:{type:String,required:!0,uppercase:!0,maxlength:1024},ten_vt:String,ma_dt:{type:String,uppercase:!0,maxlength:32},ma_kh:{type:String,uppercase:!0,maxlength:32},ma_kho:{type:String,uppercase:!0,maxlength:32},ong_ba:{type:String,maxlength:1024},tk_dt_ckc:{type:String,uppercase:!0,
|
|
3
|
+
maxlength:32},tk_dt:{type:String,uppercase:!0,maxlength:32},tien_nt:Number,tien:Number,ma_ca_hoc:{type:String},dien_giai:{type:String,default:"",maxlength:1024},exfields:Schema.Types.Mixed,trang_thai:{type:String,maxlength:32},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],
|
|
4
|
+
delete_right:[String]});
|
|
5
|
+
(global.configs||{}).createIndexes&&(dkhocSchema.index({id_app:1,ma_dvcs:1}),dkhocSchema.index({ma_dt:1}),dkhocSchema.index({ma_vt:1}),dkhocSchema.index({ma_kh:1}),dkhocSchema.index({id_pbl:1}),dkhocSchema.index({so_ct:1}),dkhocSchema.index({ngay_ct:1}),dkhocSchema.index({user_created:1,date_created:-1}),dkhocSchema.index({date_updated:-1}),dkhocSchema.index({status:1}),dkhocSchema.index({user_created:1,visible_to:1,visible_to_users:1}),dkhocSchema.index({trang_thai:1}),dkhocSchema.index({ma_dt:"text",ma_vt:"text",
|
|
6
|
+
ma_kh:"text",so_ct:"text",ma_kho:"text",ong_ba:"text",ten_vt:""},{name:"dkhoc_index_text"}));module.exports=mongoose.models.dkhoc||mongoose.model("dkhoc",dkhocSchema);
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const dknphepScheam=new Schema({id_app:{type:String,required:!0,maxlength:1024},tu_ngay:Date,den_ngay:Date,loai_phep:String,loai_nghi:String,so_ngay_nghi:Number,trang_thai:String,ly_do:String,nhan_ban_giao:String,sdt_nhan_ban_giao:String,nguoi_duyet:String,status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(dknphepScheam.index({id_app:1}),dknphepScheam.index({status:1}),dknphepScheam.index({trang_thai:1}),dknphepScheam.index({user_created:"text",loai_phep:"text",loai_nghi:"text"}),dknphepScheam.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dknphep||mongoose.model("dknphep",dknphepScheam);
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const dmbanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_kho:{type:String,required:!0,uppercase:!0,maxlength:64},ten_kho:String,ma_ban:{type:String,required:!0,uppercase:!0,maxlength:32},ten_ban:{type:String,required:!0,maxlength:1024},nh_ban:{type:String,maxlength:1024},loai_ban:{type:String,maxlength:1024},kenh_ban_hang:{type:String},picture:{type:String},trang_thai:{type:String,maxlength:32},stt:{type:Number,default:0},exfields:Schema.Types.Mixed,status:{type:Boolean,default:!0},
|
|
2
|
+
date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmbanSchema.index({id_app:1,ma_ban:1,ten_ban:1,nh_ban:1}),dmbanSchema.index({ma_kho:1}),dmbanSchema.index({nh_ban:1}),dmbanSchema.index({status:1}),dmbanSchema.index({user_created:1,visible_to:1,visible_to_users:1}),dmbanSchema.index({trang_thai:1}),dmbanSchema.index({ma_ban:"text",ten_ban:"text",nh_ban:"text",ma_kho:"text",ten_kho:"text"},{name:"dmban_index_text"}));const model=mongoose.models.dmban||mongoose.model("dmban",dmbanSchema);
|
|
4
|
+
model.referenceKeys={ma_ban:[{model:"pbl",key:"ma_ban",error:"B\u00e0n {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const dmbpSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,required:!0,uppercase:!0,maxlength:32},ten_bp:{type:String,required:!0,maxlength:1024},phu_trach:{type:String,uppercase:!0,maxlength:1024},ten_phu_trach:String,phoi_hop:{type:String,uppercase:!0,maxlength:1024},ma_bp_me:{type:String,uppercase:!0,maxlength:32},ma_bp_tuong_tac:[String],nhiem_vu:{type:String},tk_cp_luong:String,tk_pt_nv:String,tk_thue_tncn:String,ma_phi:String,tinh_luong_theo_ngay:Boolean,
|
|
2
|
+
ma_loai_cong_mac_dinh:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},phu_cap:[],la_cong_doan_sx:{type:Boolean,default:!1},stt:Number,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:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,
|
|
3
|
+
default:0},dataview_to_users:[String]},{toJSON:{virtuals:!0}});
|
|
4
|
+
(global.configs||{}).createIndexes&&(dmbpSchema.index({id_app:1,ma_bp:1},{unique:!0}),dmbpSchema.index({id_app:1,ma_bp:1,ten_bp:1}),dmbpSchema.index({id_app:1,ma_bp:1,ten_bp:1,sysorder:1,bac:1,loai_nh:1}),dmbpSchema.index({id_app:1,phu_trach:1,ten_phu_trach:1}),dmbpSchema.index({id_app:1,status:1}),dmbpSchema.index({id_app:1,ma_bp_me:1}),dmbpSchema.index({id_app:1,ma_bp_tuong_tac:1}),dmbpSchema.index({id_app:1,nhiem_vu:1}),dmbpSchema.index({id_app:1,ma_loai_cong_mac_dinh:1}),dmbpSchema.index({id_app:1,
|
|
5
|
+
user_created:1,visible_to:1,visible_to_users:1,status:1}),dmbpSchema.index({id_app:1,ma_bp:"text",ten_bp:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"dmbp_index_text"}));const model=mongoose.models.dmbp||mongoose.model("dmbp",dmbpSchema);
|
|
6
|
+
model.referenceKeys={ma_bp:[{model:"socai",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong s\u1ed5 c\u00e1i"},{model:"chamcong",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng ch\u1ea5m c\u00f4ng"},{model:"bangtinhluong",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong b\u1ea3ng t\u00ednh l\u01b0\u01a1ng"},{model:"qts",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong qu\u1ea3n l\u00fd t\u00e0i s\u1ea3n"},
|
|
7
|
+
{model:"phieudanhgia",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u trong phi\u1ebfu \u0111\u00e1nh gi\u00e1 nh\u00e2n vi\u00ean"},{model:"dmnv",key:"ma_bp",error:"B\u1ed9 ph\u1eadn {{VALUE}} \u0111\u00e3 ph\u00e1t sinh nh\u00e2n vi\u00ean"},{model:"dmbp",key:"ma_bp_me",error:"B\u1ed9 ph\u1eadn {{VALUE}} c\u00f3 b\u1ed9 ph\u1eadn con"}]};
|
|
8
|
+
model.getInfo=async($id_app$$,$condition$$,$fields$$)=>{$condition$$.id_app=$id_app$$;return new Promise(($resolve$$,$reject$$)=>{model.findOne($condition$$).lean().then($rs$$=>{if(!$rs$$)return $reject$$(Error("Can't find data"));$resolve$$($fields$$?$rs$$[$fields$$]:$rs$$)}).catch($e$$=>{$reject$$($e$$.message)})})};
|
|
9
|
+
model.getChilren=async($id_app$$,$id$$)=>{let $_bp$$=await model.getInfo($id_app$$,{_id:$id$$});return new Promise(($resolve$$,$reject$$)=>{model.find({id_app:$id_app$$,ma_bp_me:$_bp$$.ma_bp}).lean().then(async $_mbp__rs$$=>{$_mbp__rs$$=$_mbp__rs$$.map($r$$=>$r$$._id);let $rs$$=[].concat($_mbp__rs$$);for(let $i$$=0;$i$$<$_mbp__rs$$.length;$i$$++)$_mbp__rs$$=await model.getChilren($id_app$$,$_mbp__rs$$[$i$$]),$rs$$=$rs$$.concat($_mbp__rs$$);$resolve$$($rs$$)}).catch($e$$=>{$reject$$(Error($e$$.message))})})};
|
|
10
|
+
model.getChilrenByMaBP=async($id_app$$,$ma_bp$$)=>{let $_bp$$=await model.getInfo($id_app$$,{ma_bp:$ma_bp$$});return new Promise(($resolve$$,$reject$$)=>{model.find({id_app:$id_app$$,ma_bp_me:$_bp$$.ma_bp}).lean().then(async $_mbp$jscomp$1__rs$$=>{$_mbp$jscomp$1__rs$$=$_mbp$jscomp$1__rs$$.map($r$$=>$r$$.ma_bp);let $rs$$=[].concat($_mbp$jscomp$1__rs$$);for(let $i$$=0;$i$$<$_mbp$jscomp$1__rs$$.length;$i$$++)$_mbp$jscomp$1__rs$$=await model.getChilrenByMaBP($id_app$$,$_mbp$jscomp$1__rs$$[$i$$]),$rs$$=
|
|
11
|
+
$rs$$.concat($_mbp$jscomp$1__rs$$);$resolve$$($rs$$)}).catch($e$$=>{$reject$$(Error($e$$.message))})})};model.getEmployeesByMaBP=async($id_app$$,$all_bp_ma_bp$$)=>{let $chilrends$$=await model.getChilrenByMaBP($id_app$$,$all_bp_ma_bp$$);$all_bp_ma_bp$$=[$all_bp_ma_bp$$,...$chilrends$$];return await global.getModel("dmnv").find({id_app:$id_app$$,ma_bp:{$in:$all_bp_ma_bp$$}})};
|
|
12
|
+
model.getUsersByMaBP=async($id_app$$,$ma_bp$$)=>(await model.getEmployeesByMaBP($id_app$$,$ma_bp$$)).map($e$$=>$e$$.user).filter($e$$=>$e$$);module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const dmcaSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_ca:{type:String,required:!0,uppercase:!0,maxlength:32},ten_ca:{type:String,required:!0,maxlength:32},exfields:Schema.Types.Mixed,visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(dmcaSchema.index({id_app:1,ma_ca:1,ten_ca:1}),dmcaSchema.index({ma_ca:"text",ten_ca:"text"},{name:"dmca_index_text"}),dmcaSchema.index({status:1}),dmcaSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmca||mongoose.model("dmca",dmcaSchema);model.referenceKeys={ma_ca:[{model:"pbl",key:"ma_ca",error:"Ca {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const dmchietkhauSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:{type:Number,default:0},ma_chietkhau:{type:String,uppercase:!0,required:!0,maxlength:32},ten_chietkhau:{type:String,required:!0,maxlength:1024},ma_nhom:String,mieu_ta:{type:String},ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024},ten_vt:String,ma_tt1:String,ma_tt2:String,ma_tt3:String,ma_nvt:{type:String,default:"",ref:"dmnvt",maxlength:32},ten_nvt:String,ma_nvt2:{type:String,maxlength:32},ten_nvt2:String,
|
|
2
|
+
ma_nvt3:{type:String,maxlength:32},ten_nvt3:String,ma_nvt4:{type:String,maxlength:32},ten_nvt4:String,nh_tt:{type:String,maxlength:32},ten_nh_tt:String,nh_tt2:[],nh_tt3:[],nh_tt4:[],nh_tt5:[],ma_danh_muc:String,ma_kh:{type:String,default:"",maxlength:32},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,nh_kh2:[],nh_kh3:[],nh_kh4:[],nh_kh5:[],ma_kho:{type:String,default:"",maxlength:32},sl_tu:{type:Number,default:0},sl_den:{type:Number,default:0},t_sl_tu:{type:Number,default:0},
|
|
3
|
+
t_sl_den:{type:Number,default:0},t_sl_ntt_tu:{type:Number,default:0},t_sl_ntt_den:{type:Number,default:0},t_tien_ntt_tu:{type:Number,default:0},t_tien_ntt_den:{type:Number,default:0},gt_hd_tu:{type:Number,default:0},gt_hd_den:{type:Number,default:0},sl_ap_dung:Number,tong_sl_ap_dung:Number,tien_ck:{type:Number,default:0},ty_le_ck:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_mua_thu:{type:Number},ap_dung_lan_mua_tu_thu:{type:Number},ap_dung_lan_mua_den_thu:{type:Number},
|
|
4
|
+
picture:{type:String},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,default:!0},id_cs:String,ma_cs:String,online:{type:Boolean},offline:{type:Boolean},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
5
|
+
(global.configs||{}).createIndexes&&(dmchietkhauSchema.index({id_app:1,ma_nhom:1}),dmchietkhauSchema.index({id_app:1,sl_tu:1,sl_den:1,gt_hd_tu:1,gt_hd_den:1}),dmchietkhauSchema.index({id_app:1,ma_vt:1}),dmchietkhauSchema.index({id_app:1,ma_vt:1,ten_vt:1}),dmchietkhauSchema.index({id_app:1,id_cs:1,ma_cs:1}),dmchietkhauSchema.index({id_app:1,ma_bien_the_tt1:1,gia_tri_bien_the_tt1:1}),dmchietkhauSchema.index({id_app:1,ma_tt1:1}),dmchietkhauSchema.index({id_app:1,ma_tt2:1}),dmchietkhauSchema.index({id_app:1,
|
|
6
|
+
ma_tt3:1}),dmchietkhauSchema.index({id_app:1,nh_tt:1}),dmchietkhauSchema.index({id_app:1,nh_tt2:1}),dmchietkhauSchema.index({id_app:1,nh_tt3:1}),dmchietkhauSchema.index({id_app:1,nh_tt4:1}),dmchietkhauSchema.index({id_app:1,nh_kh:1}),dmchietkhauSchema.index({id_app:1,nh_kh2:1}),dmchietkhauSchema.index({id_app:1,nh_kh3:1}),dmchietkhauSchema.index({id_app:1,nh_kh4:1}),dmchietkhauSchema.index({id_app:1,nh_kh5:1}),dmchietkhauSchema.index({id_app:1,flashsale:1}),dmchietkhauSchema.index({id_app:1,date_created:-1}),
|
|
7
|
+
dmchietkhauSchema.index({id_app:1,user_created:1}),dmchietkhauSchema.index({id_app:1,online:1}),dmchietkhauSchema.index({id_app:1,offline:1}),dmchietkhauSchema.index({id_app:1,ma_vt:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,hieu_luc_tu:-1,hieu_luc_den:-1,stt_uu_tien:1,ap_dung_lan_mua_tu_thu:1,ap_dung_lan_mua_den_thu:1}));dmchietkhauSchema.set("toObject",{virtuals:!0});dmchietkhauSchema.set("toJSON",{virtuals:!0});const model=mongoose.models.dmchietkhau||mongoose.model("dmchietkhau",dmchietkhauSchema);
|
|
8
|
+
module.exports=model;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const dmchietkhauhdSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},stt_uu_tien:{type:Number,default:0},ma_chietkhau:{type:String,uppercase:!0,required:!0,maxlength:32},ten_chietkhau:{type:String,required:!0,maxlength:1024},ma_nhom:String,mieu_ta:{type:String},ma_kh:{type:String,default:"",maxlength:32},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,nh_kh2:[],nh_kh3:[],nh_kh4:[],nh_kh5:[],ma_kho:{type:String,default:"",maxlength:32},ten_kho:String,gt_tu:{type:Number,
|
|
2
|
+
default:0},gt_den:{type:Number,default:0},vts:[],sl_toi_thieu:{type:Number,default:0},tien_ck:{type:Number,default:0},ty_le_ck:{type:Number,default:0},so_tien_max:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_mua_thu:{type:Number},ap_dung_lan_mua_tu_thu:{type:Number},ap_dung_lan_mua_den_thu:{type:Number},details_km:[],picture:{type:String},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,default:!0},online:{type:Boolean},offline:{type:Boolean},
|
|
3
|
+
status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
4
|
+
(global.configs||{}).createIndexes&&(dmchietkhauhdSchema.index({id_app:1,ma_chietkhau:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1}),dmchietkhauhdSchema.index({id_app:1,ma_nhom:1}),dmchietkhauhdSchema.index({id_app:1,ap_dung_lan_mua_thu:1,ap_dung_lan_mua_tu_thu:1,ap_dung_lan_mua_den_thu:1}),dmchietkhauhdSchema.index({id_app:1,gt_tu:1,gt_den:1}),dmchietkhauhdSchema.index({id_app:1,nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1}),dmchietkhauhdSchema.index({id_app:1,date_created:-1}),dmchietkhauhdSchema.index({id_app:1,
|
|
5
|
+
user_created:1}),dmchietkhauhdSchema.index({id_app:1,online:1}),dmchietkhauhdSchema.index({id_app:1,offline:1}),dmchietkhauhdSchema.set("toObject",{virtuals:!0}),dmchietkhauhdSchema.set("toJSON",{virtuals:!0}),dmchietkhauhdSchema.index({status:1}));
|
|
6
|
+
const model=mongoose.models.dmchietkhauhd||mongoose.model("dmchietkhauhd",dmchietkhauhdSchema),moment=require("moment"),calcDefaultDiscount=async($id_app_rs$$,$groups$$)=>{await $groups$$.filter($d$$=>$d$$.ma_nhom&&!$d$$.phuong_phap_ap_dung).asyncJoinModel2($id_app_rs$$,"dmnckkm",{where:{ma_nhom:"_id"},fields:["phuong_phap_ap_dung","nh_me",{stt_uu_tien:"stt"}]});$groups$$.forEach($g$$=>{switch($g$$.phuong_phap_ap_dung){case "TOI_THIEU":$g$$.ck=$g$$.cks.sort(($a$$,$b$$)=>$a$$.tien_ck-$b$$.tien_ck)[0];
|
|
7
|
+
$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien;break;case "TOI_DA":$g$$.ck=$g$$.cks.sort(($a$$,$b$$)=>$b$$.tien_ck-$a$$.tien_ck)[0];$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien;break;case "CONG":$g$$.ck={ty_le_ck:0,tien_ck:$g$$.cks.map($c$$=>$c$$.tien_ck||0).reduce(($a$$,$b$$)=>$a$$+$b$$,0)};$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien;break;default:$g$$.ck=$g$$.cks.sort(($a$$,$b$$)=>($a$$.stt_uu_tien||0)-($b$$.stt_uu_tien||0))[0],$g$$.ck.stt_uu_tien=$g$$.stt_uu_tien}delete $g$$.cks});if($groups$$.length==1)$id_app_rs$$=$groups$$[0].ck;
|
|
8
|
+
else if($groups$$.find($g$$=>$g$$.nh_me)){$groups$$=$groups$$.map($g$$=>{$g$$.nh_me&&($g$$.ma_nhom=$g$$.nh_me,$g$$.nh_me="",$g$$.phuong_phap_ap_dung="");return $g$$});const $new_groups$$=[...(new Set($groups$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>{const $cks$$=$groups$$.filter($d$$=>($d$$.ma_nhom||"")==$ma_nhom$$).map($g$$=>$g$$.ck);return{ma_nhom:$ma_nhom$$,cks:$cks$$}});$id_app_rs$$=await calcDefaultDiscount($id_app_rs$$,$new_groups$$)}else $id_app_rs$$=$groups$$.sort(($a$$,$b$$)=>($a$$.stt_uu_tien||
|
|
9
|
+
0)-($b$$.stt_uu_tien||0))[0];return $id_app_rs$$};
|
|
10
|
+
model.tinhChietKhau=async($ckhds_groups$$,$ckhd$jscomp$1_id_app$$,$obj$$,$t_tt_nt$$,$i_lan_mua_thu$$=1)=>{$obj$$.id_cs_ck_hd&&($obj$$.id_cs_ck_hd="",$obj$$.tien_ck_hd=0,$obj$$.ty_le_ck_hd=0);var $ckhd_query$$={id_app:$ckhd$jscomp$1_id_app$$,gt_tu:{$lte:$t_tt_nt$$},ma_kho:{$in:[void 0,null,"",$obj$$.ma_kho]}};$ckhd_query$$.$and=[{$or:[{gt_den:{$in:[0,void 0,null]}},{gt_den:{$gte:$t_tt_nt$$}}]}];var $hieu_luc_den_q_nh_kh_tu_ngay$$=moment($obj$$.ngay_ct).startOf("date").toDate();var $hieu_luc_tu_q_ma_kh_sl_toi_thieu$$=
|
|
11
|
+
{$lte:moment($obj$$.ngay_ct).endOf("date").toDate()};$hieu_luc_den_q_nh_kh_tu_ngay$$={$gte:$hieu_luc_den_q_nh_kh_tu_ngay$$};$ckhd_query$$.hieu_luc_tu=$hieu_luc_tu_q_ma_kh_sl_toi_thieu$$;$ckhd_query$$.hieu_luc_den=$hieu_luc_den_q_nh_kh_tu_ngay$$;$hieu_luc_tu_q_ma_kh_sl_toi_thieu$$={$in:[void 0,null,""]};$hieu_luc_den_q_nh_kh_tu_ngay$$={$in:[void 0,null,""]};let $query_kh$$={id_app:$ckhd$jscomp$1_id_app$$};$obj$$.ma_kh?$query_kh$$.ma_kh=$obj$$.ma_kh:$query_kh$$.of_user=$ckhds_groups$$;let $kh$$=await global.getModel("customer").findOne($query_kh$$,
|
|
12
|
+
{nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1,ma_kh:1}).lean();$kh$$&&($kh$$.nh_kh_me=$kh$$.nh_kh?await global.getModel("group").getAllMotherGroup($ckhd$jscomp$1_id_app$$,$kh$$.nh_kh):[],$kh$$.nh_kh2_me=$kh$$.nh_kh2?await global.getModel("group").getAllMotherGroup($ckhd$jscomp$1_id_app$$,$kh$$.nh_kh2):[],$kh$$.nh_kh3_me=$kh$$.nh_kh3?await global.getModel("group").getAllMotherGroup($ckhd$jscomp$1_id_app$$,$kh$$.nh_kh3):[],$kh$$.nh_kh4_me=$kh$$.nh_kh4?await global.getModel("group").getAllMotherGroup($ckhd$jscomp$1_id_app$$,
|
|
13
|
+
$kh$$.nh_kh4):[],$kh$$.nh_kh5_me=$kh$$.nh_kh5?await global.getModel("group").getAllMotherGroup($ckhd$jscomp$1_id_app$$,$kh$$.nh_kh5):[],$hieu_luc_tu_q_ma_kh_sl_toi_thieu$$={$in:[void 0,null,"",$kh$$.ma_kh]},$hieu_luc_den_q_nh_kh_tu_ngay$$={$in:[void 0,null,"",...$kh$$.nh_kh_me]},$ckhd_query$$.ap_dung_lan_mua_thu={$in:[null,void 0,0,$i_lan_mua_thu$$]});$ckhd_query$$.$or=[{$and:[{ma_kh:$hieu_luc_tu_q_ma_kh_sl_toi_thieu$$},{nh_kh:{$in:["",null,void 0]}}]},{$and:[{nh_kh:$hieu_luc_den_q_nh_kh_tu_ngay$$},
|
|
14
|
+
{ma_kh:{$in:["",null,void 0]}}]}];$ckhds_groups$$=await model.find($ckhd_query$$).sort({stt_uu_tien:1,gt_tu:-1,tien_ck:-1,ty_le_ck:-1,ma_kh:-1,nh_kh:-1,hieu_luc_tu:-1}).lean();$ckhds_groups$$=$ckhds_groups$$.filter($ck$$=>(!$ck$$.nh_kh2||$ck$$.nh_kh2.length==0||(($kh$$||[]).nh_kh2_me||[]).find($nh$$=>$ck$$.nh_kh2.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh3||$ck$$.nh_kh3.length==0||(($kh$$||[]).nh_kh3_me||[]).find($nh$$=>$ck$$.nh_kh3.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh4||$ck$$.nh_kh4.length==0||(($kh$$||[]).nh_kh4_me||
|
|
15
|
+
[]).find($nh$$=>$ck$$.nh_kh4.indexOf($nh$$)>=0))&&(!$ck$$.nh_kh5||$ck$$.nh_kh5.length==0||(($kh$$||[]).nh_kh5_me||[]).find($nh$$=>$ck$$.nh_kh5.indexOf($nh$$)>=0)));const $cs_thoai_man$$=[];if($ckhds_groups$$.length>0)for($i_lan_mua_thu$$=0;$i_lan_mua_thu$$<$ckhds_groups$$.length;$i_lan_mua_thu$$++){$ckhd_query$$=$ckhds_groups$$[$i_lan_mua_thu$$];$hieu_luc_tu_q_ma_kh_sl_toi_thieu$$=$ckhd_query$$.sl_toi_thieu||0;let $sl_dap_ung$$=0;$hieu_luc_tu_q_ma_kh_sl_toi_thieu$$&&$ckhd_query$$.vts&&$ckhd_query$$.vts.length>
|
|
16
|
+
0&&$ckhd_query$$.vts.forEach($vt$$=>{var $ds_tien$$=$obj$$.details.filter($d$$=>$d$$.ma_vt===$vt$$.ma_vt&&(!$vt$$.ma_tt1||$vt$$.ma_tt1===$d$$.ma_tt1)&&(!$vt$$.ma_tt2||$vt$$.ma_tt2===$d$$.ma_tt2)&&(!$vt$$.ma_tt3||$vt$$.ma_tt3===$d$$.ma_tt3));if($ds_tien$$.length!=0){var $so_luong$$=$ds_tien$$.map($d$$=>$d$$.sl_xuat).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$ds_tien$$=$ds_tien$$.map($d$$=>($d$$.tien_hang_nt||0)-($d$$.tien_ck_nt||0)).reduce(($a$$,$b$$)=>$a$$+$b$$,0);$vt$$.sl_tu&&$so_luong$$<$vt$$.sl_tu||$vt$$.sl_den&&
|
|
17
|
+
$so_luong$$>$vt$$.sl_den||$vt$$.gt_tu&&$ds_tien$$<$vt$$.gt_tu||$vt$$.gt_den&&$ds_tien$$>$vt$$.gt_den||($sl_dap_ung$$+=1)}});$hieu_luc_tu_q_ma_kh_sl_toi_thieu$$<=$sl_dap_ung$$&&$cs_thoai_man$$.push($ckhd_query$$)}$cs_thoai_man$$.length>0&&($cs_thoai_man$$.forEach($cs$$=>{$cs$$.ty_le_ck=$cs$$.ty_le_ck||0;$cs$$.tien_ck=$cs$$.tien_ck||Math.roundBy($t_tt_nt$$*$cs$$.ty_le_ck/100,0)}),$ckhds_groups$$=[...(new Set($cs_thoai_man$$.map($d$$=>$d$$.ma_nhom||"")))].map($ma_nhom$$=>({ma_nhom:$ma_nhom$$,cks:$cs_thoai_man$$.filter($d$$=>
|
|
18
|
+
($d$$.ma_nhom||"")==($ma_nhom$$||""))})),$ckhd$jscomp$1_id_app$$=await calcDefaultDiscount($ckhd$jscomp$1_id_app$$,$ckhds_groups$$),$obj$$.id_cs_ck_hd=$ckhd$jscomp$1_id_app$$._id,$ckhd$jscomp$1_id_app$$.tien_ck?($obj$$.tien_ck_hd=$ckhd$jscomp$1_id_app$$.tien_ck,$obj$$.ty_le_ck_hd=0):($obj$$.ty_le_ck_hd=$ckhd$jscomp$1_id_app$$.ty_le_ck,$obj$$.tien_ck_hd=Math.roundBy($t_tt_nt$$*$ckhd$jscomp$1_id_app$$.ty_le_ck/100,0)),$ckhd$jscomp$1_id_app$$.so_tien_max&&($obj$$.tien_ck_hd=Math.min($ckhd$jscomp$1_id_app$$.so_tien_max,
|
|
19
|
+
$obj$$.tien_ck_hd)));return{tien_ck_hd:$obj$$.tien_ck_hd,ty_le_ck_hd:$obj$$.ty_le_ck_hd,_id:$obj$$.id_cs_ck_hd}};module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const dmchinhanhSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_cn:{type:String,required:!0},ten_cn:{type:String,required:!0},dia_chi:{type:String},location:{latitude:{type:Number,required:!0},longitude:{type:Number,required:!0},allowed_radius:{type:Number,default:50}},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:""},user_updated:{type:String,
|
|
2
|
+
default:""}});(global.configs||{}).createIndexes&&(dmchinhanhSchema.index({id_app:1,ma_cn:1},{unique:!0}),dmchinhanhSchema.index({id_app:1,ma_cn:1,ten_cn:1}),dmchinhanhSchema.index({id_app:1,status:1}),dmchinhanhSchema.index({id_app:1,trang_thai:1,user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmchinhanh||mongoose.model("dmchinhanh",dmchinhanhSchema);module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const dmcpmhSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_cp:{type:String,required:!0,uppercase:!0,maxlength:32},ten_cp:{type:String,required:!0,maxlength:1024},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:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(dmcpmhSchema.index({id_app:1,ma_cp:1,ten_cp:1}),dmcpmhSchema.index({ma_cp:"text",ten_cp:"text"},{name:"dmcpmh_index_text"}),dmcpmhSchema.index({status:1}),dmcpmhSchema.index({user_created:1,visible_to:1,visible_to_users:1}));module.exports=mongoose.models.dmcpmh||mongoose.model("dmcpmh",dmcpmhSchema);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const dmdiemthuongSchema=new Schema({id_app:{type:String,required:!0},ma:{type:String,uppercase:!0,required:!0,maxlength:32},ten:{type:String,required:!0,maxlength:1024},mieu_ta:{type:String},ma_kh:{type:String,default:"",maxlength:32},ten_kh:String,nh_kh:{type:String,default:"",maxlength:1024},ten_nh_kh:String,ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024},ten_vt:String,ma_nvt:{type:String,default:"",ref:"dmnvt",maxlength:1024},ma_kho:{type:String,default:"",maxlength:32},tien:{type:Number,
|
|
2
|
+
default:0},diem:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_mua_thu:{type:Number},picture:{type:String},exfields:Schema.Types.Mixed,newsfeed:{type:Boolean,default:!0},status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmdiemthuongSchema.index({id_app:1,ma:1,ma_kho:1,ma_vt:1,ma_nvt:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1}),dmdiemthuongSchema.index({id_app:1,nh_kh:1}),dmdiemthuongSchema.index({id_app:1,date_created:-1}),dmdiemthuongSchema.set("toObject",{virtuals:!0}),dmdiemthuongSchema.set("toJSON",{virtuals:!0}),dmdiemthuongSchema.index({status:1}));const model=mongoose.models.dmdiemthuong||mongoose.model("dmdiemthuong",dmdiemthuongSchema);module.exports=model;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
const dmdoiSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_bp:{type:String,required:!0,uppercase:!0,maxlength:32},ma_doi:{type:String,required:!0,uppercase:!0,maxlength:32},ten_doi:{type:String,required:!0,maxlength:1024},phu_trach:{type:String,uppercase:!0,maxlength:1024},ten_phu_trach:String,phoi_hop:{type:String,uppercase:!0,maxlength:1024},exfields:Schema.Types.Mixed,visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],
|
|
2
|
+
status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,default:""}});
|
|
3
|
+
(global.configs||{}).createIndexes&&(dmdoiSchema.index({id_app:1,ma_bp:1,ma_doi:1,ten_doi:1}),dmdoiSchema.index({ma_doi:"text",ten_doi:"text",phu_trach:"text",ten_phu_trach:"text"},{name:"dmdoi_index_text"}),dmdoiSchema.index({phu_trach:1}),dmdoiSchema.index({ten_phu_trach:1}),dmdoiSchema.index({phoi_hop:1}),dmdoiSchema.index({status:1}),dmdoiSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmdoi||mongoose.model("dmdoi",dmdoiSchema);
|
|
4
|
+
model.referenceKeys={ma_doi:[{model:"phieudanhgia",key:"ma_doi",error:"\u0110\u1ed9i {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"dmnv",key:"ma_doi",error:"\u0110\u1ed9i {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"dmto",key:"ma_doi",error:"\u0110\u1ed9i {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const dmdoituongdanhgiaSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ten_doi_tuong_danh_gia:{type:String,required:!0,maxlength:1024},cap_danh_gia:{type:Number,default:1},exfields:Schema.Types.Mixed,visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,default:""},user_updated:{type:String,
|
|
2
|
+
default:""}});(global.configs||{}).createIndexes&&(dmdoituongdanhgiaSchema.index({id_app:1,ten_doi_tuong_danh_gia:1}),dmdoituongdanhgiaSchema.index({ten_doi_tuong_danh_gia:"text"}),dmdoituongdanhgiaSchema.index({status:1}),dmdoituongdanhgiaSchema.index({user_created:1,visible_to:1,visible_to_users:1}));const model=mongoose.models.dmdoituongdanhgia||mongoose.model("dmdoituongdanhgia",dmdoituongdanhgiaSchema);module.exports=model;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const validator=require("../libs/validator"),dmdtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dt:{type:String,uppercase:!0,maxlength:32,trim:!0},ten_dt:{type:String,required:!0,maxlength:1024},ten_dt_en:{type:String,maxlength:1024},ma_dt_me:String,sysorder:String,bac:{type:Number},loai_nh:{type:Number,default:1},tien_nt:{type:Number,default:0},tien:{type:Number,default:0},ma_nt:{type:String,default:"VND",maxlength:32,trim:!0},id_kh:{type:String,maxlength:1024},mieu_ta:{type:String},
|
|
2
|
+
mieu_ta_en:{type:String},nh_dt:{type:String,maxlength:1024},phu_trach:{type:String,lowercase:!0,maxlength:1024},dia_chi:{type:String,maxlength:1024},dia_chi_en:{type:String,maxlength:1024},location:Schema.Types.Mixed,mieu_ta_vi_tri:{type:String},mieu_ta_vi_tri_en:{type:String},tien_ich:{type:String},tien_ich_en:{type:String},chinh_sach_uu_dai:{type:String},chinh_sach_uu_dai_en:{type:String},quan_huyen:{type:String,maxlength:1024},tinh_thanh:{type:String,maxlength:1024},picture:{type:String,maxlength:1024},
|
|
3
|
+
picture_size:{type:Number,default:25},la_du_an_chu_dau_tu:{type:Boolean,default:!1},progress:{type:String,default:"0"},trang_thai:{type:String,maxlength:32},layout:{type:String,maxlength:1024},ty_le_hoa_hong:Number,ngay_bd:Date,ngay_kt:Date,sl_du_tinh:Number,ds_ca_hoc:[{ma_ca_hoc:String,tu_gio:Date,den_gio:Date}],exfields:Schema.Types.Mixed,labels:[String],status:{type:Boolean,default:!0},date_created:{type:Date,default:Date.now},date_updated:{type:Date,default:Date.now},user_created:{type:String,
|
|
4
|
+
default:""},user_updated:{type:String,default:""},visible_to:{type:Number,default:0},visible_to_users:[String],update_right:[String],delete_right:[String],dataview_to:{type:Number,default:0},dataview_to_users:[String],shared:Boolean},{toJSON:{virtuals:!0}});dmdtSchema.validate={ma_nt:validator.existsNt};
|
|
5
|
+
(global.configs||{}).createIndexes&&(dmdtSchema.index({id_app:1,ma_dt:1},{unique:!0}),dmdtSchema.index({id_app:1,ma_dt:1,ten_dt:1}),dmdtSchema.index({id_app:1,ma_dt_me:1}),dmdtSchema.index({id_app:1,nh_dt:1}),dmdtSchema.index({id_app:1,phu_trach:1}),dmdtSchema.index({id_app:1,labels:1}),dmdtSchema.index({id_app:1,sysorder:1}),dmdtSchema.index({id_app:1,bac:1}),dmdtSchema.index({id_app:1,loai_nh:1}),dmdtSchema.index({id_app:1,trang_thai:1}),dmdtSchema.index({id_app:1,ten_dt:"text",ma_dt:"text",labels:"text"},
|
|
6
|
+
{name:"dmdt_index_text"}),dmdtSchema.index({id_app:1,status:1}),dmdtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,phu_trach:1}),dmdtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,phu_trach:1,ma_dt:1}),dmdtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,trang_thai:1,phu_trach:1,ma_dt:1,ten_dt:1}));const model=mongoose.models.dmdt||mongoose.model("dmdt",dmdtSchema);
|
|
7
|
+
model.referenceKeys={ma_dt:[{model:"socai",key:"ma_dt",error:"V\u1ee5 vi\u1ec7c(d\u1ef1 \u00e1n) ${obj.ten_dt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"sokho",key:"ma_dt",error:"V\u1ee5 vi\u1ec7c(d\u1ef1 \u00e1n) ${obj.ten_dt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"building",key:"ma_dt",error:"V\u1ee5 vi\u1ec7c(d\u1ef1 \u00e1n) ${obj.ten_dt} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};
|
|
8
|
+
model.exists=[function($id_app$$,$ma_dt$$,$callback$$){$ma_dt$$?model.findOne({id_app:$id_app$$,ma_dt:$ma_dt$$},function($error$$,$v$$){return $error$$||!$v$$?$callback$$(!1):$callback$$(!0)}):$callback$$(!0)},"M\u00e3 v\u1ee5 vi\u1ec7c ({PATH}) {VALUE} kh\u00f4ng t\u1ed3n t\u1ea1i"];module.exports=model;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const dmdvtSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_dvt:{type:String,required:!0,maxlength:32,trim:!0},ten_dvt:{type:String,required:!0,maxlength:1024},tg_qd:{type:Number,default:0},kieu_tg:{type:String,default:"HH",enum:["MM","DD","HH"]},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:""},user_updated:{type:String,default:""}});
|
|
2
|
+
(global.configs||{}).createIndexes&&(dmdvtSchema.index({id_app:1,ma_dvt:1},{unique:!0}),dmdvtSchema.index({id_app:1,ma_dvt:1,ten_dvt:1}),dmdvtSchema.index({id_app:1,ma_dvt:1,ten_dvt:1,status:1}),dmdvtSchema.index({id_app:1,ma_dvt:"text",ten_dvt:"text"},{name:"dmdvt_index_text"}),dmdvtSchema.index({id_app:1,status:1}),dmdvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1}),dmdvtSchema.index({id_app:1,user_created:1,visible_to:1,visible_to_users:1,status:1}));
|
|
3
|
+
const model=mongoose.models.dmdvt||mongoose.model("dmdvt",dmdvtSchema);model.referenceKeys={ma_dvt:[{model:"dmvt",key:"ma_dvt",error:"\u0110\u01a1n v\u1ecb t\u00ednh {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"},{model:"sokho",key:"ma_dvt",error:"\u0110\u01a1n v\u1ecb t\u00ednh {{VALUE}} \u0111\u00e3 ph\u00e1t sinh d\u1eef li\u1ec7u"}]};module.exports=model;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const dmgiabanSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},id_ct:String,stt_uu_tien:Number,ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_dvt_gia_ban:String,ma_nvt:{type:String,default:"",maxlength:1024,trim:!0},ten_nvt:String,ma_nvt2:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt3:{type:String,default:"",maxlength:1024,trim:!0},ma_nvt4:{type:String,default:"",maxlength:1024,trim:!0},mieu_ta:{type:String,default:"",maxlength:1024},
|
|
2
|
+
ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,nh_kh:{type:String,maxlength:1024,trim:!0},ten_nh_kh:String,nh_kh2:{type:String,maxlength:1024,trim:!0},ten_nh_kh2:String,nh_kh3:{type:String,maxlength:1024,trim:!0},ten_nh_kh3:String,nh_kh4:{type:String,maxlength:1024,trim:!0},ten_nh_kh4:String,nh_kh5:{type:String,maxlength:1024,trim:!0},ten_nh_kh5:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,ma_ban:{type:String,default:"",maxlength:32,trim:!0},ten_ban:String,
|
|
3
|
+
ma_tt1:{type:String,trim:!0},ma_tt2:{type:String,trim:!0},ma_tt3:{type:String,trim:!0},sl_tu:{type:Number,default:0},sl_den:{type:Number,default:0},t_sl_tu:{type:Number,default:0},t_sl_den:{type:Number,default:0},t_sl_ntt_tu:{type:Number,default:0},t_sl_ntt_den:{type:Number,default:0},gia_ban_le:{type:Number,default:0},gia_ban_buon:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!0},ap_dung_lan_mua_thu:{type:Number},ap_dung_lan_mua_tu_thu:{type:Number},
|
|
4
|
+
ap_dung_lan_mua_den_thu:{type:Number},online:{type:Boolean},offline:{type:Boolean},gia_ban_chua_thue:{type:Boolean,default:!1},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:""},user_updated:{type:String,default:""},dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]},dmkh:{type:Schema.Types.ObjectId,ref:"customer",localField:["ma_kh"],
|
|
5
|
+
foreignField:["ma_kh"]},dmkho:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]},dmnvt:{type:Schema.Types.ObjectId,ref:"dmnvt",localField:["ma_nvt"],foreignField:["_id"]}},{toJSON:{virtuals:!0}});
|
|
6
|
+
(global.configs||{}).createIndexes&&(dmgiabanSchema.index({id_app:1,id_ct:1}),dmgiabanSchema.index({id_app:1,ma_vt:1,ma_tt1:1,ma_tt2:1,ma_tt3:1,ma_nvt:1,ma_nvt2:1,ma_nvt3:1,ma_nvt4:1,ma_danh_muc:1,ma_kh:1,nh_kh:1,nh_kh2:1,nh_kh3:1,nh_kh4:1,nh_kh5:1,hieu_luc_tu:-1,hieu_luc_den:-1,stt_uu_tien:1,ap_dung_lan_mua_tu_thu:1,ap_dung_lan_mua_den_thu:1,sl_tu:1,sl_den:1,gt_hd_tu:1,gt_hd_den:1}),dmgiabanSchema.index({id_app:1,ma_nvt:1}),dmgiabanSchema.index({id_app:1,nh_kh:1}),dmgiabanSchema.index({id_app:1,
|
|
7
|
+
nh_kh2:1}),dmgiabanSchema.index({id_app:1,nh_kh3:1}),dmgiabanSchema.index({id_app:1,nh_kh4:1}),dmgiabanSchema.index({id_app:1,nh_kh5:1}),dmgiabanSchema.index({id_app:1,ma_kho:1,ma_ban:1,ma_kh:1}),dmgiabanSchema.index({id_app:1,ma_tt1:1}),dmgiabanSchema.index({id_app:1,ma_tt2:1}),dmgiabanSchema.index({id_app:1,ma_tt3:1}),dmgiabanSchema.index({id_app:1,status:1,ma_kh:1,ap_dung_lan_mua_thu:1,ap_dung_lan_mua_tu_thu:1,ap_dung_lan_mua_den_thu:1}),dmgiabanSchema.index({id_app:1,status:1,sl_tu:1,sl_den:1,
|
|
8
|
+
t_sl_tu:1,t_sl_den:1}),dmgiabanSchema.index({id_app:1,date_created:-1}),dmgiabanSchema.index({id_app:1,user_created:1}),dmgiabanSchema.index({id_app:1,status:1}),dmgiabanSchema.index({id_app:1,online:1}),dmgiabanSchema.index({id_app:1,offline:1}),dmgiabanSchema.index({id_app:1,mieu_ta:"text",ma_vt:"text",ten_vt:"text",ma_kh:"text",ten_kh:"text",ma_nvt:"text",ten_nvt:"text",ma_kho:"text",ten_kho:"text"},{name:"dmgiaban_index_text"}));
|
|
9
|
+
const model=mongoose.models.dmgiaban||mongoose.model("dmgiaban",dmgiabanSchema);module.exports=model;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const dmgiamuaSchema=new Schema({id_app:{type:String,required:!0,maxlength:1024},ma_vt:{type:String,uppercase:!0,default:"",maxlength:1024,trim:!0},ten_vt:String,ma_dvt:{type:String,trim:!0},mieu_ta:{type:String,default:"",maxlength:1024},ma_kh:{type:String,default:"",maxlength:32,trim:!0},ten_kh:String,ma_kho:{type:String,default:"",maxlength:32,trim:!0},ten_kho:String,ma_tt1:{type:String,trim:!0},ma_tt2:{type:String,trim:!0},ma_tt3:{type:String,trim:!0},sl_tu:{type:Number,default:0},sl_den:{type:Number,
|
|
2
|
+
default:0},gia_mua:{type:Number,default:0},gia_mua_qd:{type:Number,default:0},hieu_luc_tu:{type:Date,required:!0},hieu_luc_den:{type:Date,required:!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:""},user_updated:{type:String,default:""},dmvt:{type:Schema.Types.ObjectId,ref:"dmvt",localField:["ma_vt"],foreignField:["ma_vt"]},dmkh:{type:Schema.Types.ObjectId,ref:"customer",
|
|
3
|
+
localField:["ma_kh"],foreignField:["ma_kh"]},dmkho:{type:Schema.Types.ObjectId,ref:"dmkho",localField:["ma_kho"],foreignField:["ma_kho"]}},{toJSON:{virtuals:!0}});
|
|
4
|
+
(global.configs||{}).createIndexes&&(dmgiamuaSchema.index({id_app:1,ma_vt:1,ma_kho:1,ma_kh:1,hieu_luc_tu:-1,hieu_luc_den:-1}),dmgiamuaSchema.index({nh_kh:1}),dmgiamuaSchema.index({ma_kho:1}),dmgiamuaSchema.index({ma_kh:1}),dmgiamuaSchema.index({ma_dvt:1}),dmgiamuaSchema.index({ma_tt1:1}),dmgiamuaSchema.index({ma_tt2:1}),dmgiamuaSchema.index({ma_tt3:1}),dmgiamuaSchema.index({sl_tu:1}),dmgiamuaSchema.index({sl_den:1}),dmgiamuaSchema.index({date_updated:-1}),dmgiamuaSchema.index({date_created:-1}),dmgiamuaSchema.index({user_created:1}),
|
|
5
|
+
dmgiamuaSchema.index({status:1}),dmgiamuaSchema.index({mieu_ta:"text",ma_vt:"text",ten_vt:"text",ma_kh:"text",ten_kh:"text",ma_kho:"text",ten_kho:"text"},{name:"dmgiamua_index_text"}));const model=mongoose.models.dmgiamua||mongoose.model("dmgiamua",dmgiamuaSchema);module.exports=model;
|