UNPKG

kpiplus

Version:

KPI+

1 lines 3.16 kB
var so1=require("../../models/so1"),ptthanhtoan=require("../../models/ptthanhtoan"),dmvt=require("../../models/dmvt"),dmkh=require("../../models/customer"),app=require("../../models/app"),counter=require("../../models/counter"),email=require("../../libs/email"),array_funcs=require("../../libs/array-funcs"),loadTemplate=require("../../libs/load-template"),async=require("async"),numeral=require("numeral");module.exports=function(t){t.route("/so1").post(function(t,n,e){var a=t.body;if(!a)return n.status(411).send("Không có dữ liệu");var i=t.query.id_app;app.findOne({_id:i}).lean().exec(function(t,e){if(t)return n.status(400).send("Cửa hàng này không tồn tại");var o=new so1(a);o.id_app=i,async.parallel({getKH:function(t){var n=o.dien_thoai;n&&(n=n.split(" ").join(""));var e={id_app:i,$or:[{dien_thoai:n},{dien_thoai:o.dien_thoai}]};o.email&&e.$or.push({email:o.email}),dmkh.findOne(e,function(e,a){if(a)o.ma_kh=a.ma_kh,t();else{var _=n,s={ma_kh:_,ten_kh:o.ten_nguoi_nhan,email:o.email,dien_thoai:o.dien_thoai};s.dia_chi=o.dia_chi+","+o.xa_phuong+","+o.quan_huyen+","+o.tinh_thanh,s.id_app=i,new dmkh(s).save(function(n,e){if(n)return t(r);o.ma_kh=_,t()})}})},getSoCt:function(t){counter.getNextSequence(i,"SO1","so_ct",function(n,e){if(n)return t(n);o.so_ct=e,t(null)})}},function(t,a){if(t)return n.status(400).send(t);o.save(function(t,a){if(t){var r=[];for(var o in t.errors)r.push(t.errors[o].message+"\n");return n.status(400).send(r)}n.send(a),a.t_sl=a.details.csum("sl_xuat"),a.t_tien_hang=a.details.csum("tien_hang"),a.t_tien_hang_nt=a.details.csum("tien_hang_t"),a.t_ck=a.details.csum("tien_ck")+a.tien_ck_hd,a.t_ck_nt=a.details.csum("tien_ck_nt")+a.tien_ck_hd,a.t_tt=a.t_tien_hang-a.t_ck,a.t_tt_nt=a.t_tien_hang_nt-a.t_ck_nt;var _="0,0";a.t_sl=numeral(a.t_sl).format(_),a.t_tien_hang=numeral(a.t_tien_hang).format(_),a.t_tien_hang_nt=numeral(a.t_tien_hang_nt).format(_),a.t_ck=numeral(a.t_ck).format(_),a.t_ck_nt=numeral(a.t_ck_nt).format(_),a.t_tt=numeral(a.t_tt).format(_),a.t_tt_nt=numeral(a.t_tt_nt).format(_),async.parallel({vt:function(t){a.details.joinModel(i,dmvt,[{akey:"ma_vt",bkey:"ma_vt",fields:[{name:"ten_vt",value:"ten_vt"}]}],function(n){a.details.forEach(function(t){var n="<tr>";n=(n=(n=(n=(n=(n=n+"<td style='border:1px solid gray'>"+t.ma_vt+"</td>")+"<td style='border:1px solid gray'>"+t.ten_vt+"</td>")+"<td style='border:1px solid gray'>"+t.ma_dvt+"</td>")+"<td style='border:1px solid gray'>"+numeral(t.sl_xuat).format(_)+"</td>")+"<td style='border:1px solid gray'>"+numeral(t.gia_ban_thuc).format(_)+"</td>")+"<td style='border:1px solid gray'>"+numeral(t.tien).format(_)+"</td>",n+="</tr>",a.rows?a.rows=a.rows+n:a.rows=n}),t(null)})},tt:function(t){[a].joinModel(i,ptthanhtoan,[{akey:"pt_thanh_toan",bkey:"_id",fields:[{name:"ten_pt_thanh_toan",value:"ten"}]}],function(n){t(null)})}},function(t,n){loadTemplate("order.html",{app:e,order:a},function(t,n){if(t)return console.log(t);email.sendHtml({sender:e.name,to:[{name:e.name,address:e.email},{name:a.ten_nguoi_nhan,address:a.email}],subject:"Đơn đặt hàng",html:n},function(t,n){t&&console.error("Khong the gui don dat hang\n"+t)})})})})})})})};