def get_project(id): ids = recursion.get_recursion_prjs(str(id), "OA_Org") data ='' for obj in ids: project = OA_Project.query.filter_by(id=obj).first(); data=str(data)+str(obj)+","+str(project.project_name) data+="." data = data[:int(len(data)-1)] return json.dumps(data,ensure_ascii=False);
def fytj_Excel(): beg_date = request.form['beg_date'] + " 00:00:00" end_date = request.form['end_date'] + " 23:59:59" is_paid = request.form['is_paid'] node_id = request.form['node_id'] node_type = request.form['node_type'] sql = "SELECT b.name,c.real_name,d.project_name,a.amount,a.`describe`,a.create_date,(case is_paid when '0' then '未支付' \ when '1' then '已支付' end) as paid,a.paid_date FROM oa_reimbursement a, oa_org b, oa_user c,oa_project d WHERE\ a.org_id = b.id AND a.create_user = c.id and a.project_id=d.id" if is_paid != '-1': sql += " and a.is_paid = "+is_paid sql += " and a.create_date between '" + beg_date + "' and '" + end_date + "'" sql += " and a.project_id in (" ids = recursion.get_recursion_prjs(node_id, node_type) for obj in ids: sql += str(obj) + "," sql += "-1)" data=db.session.execute(sql).fetchall() exl_hdngs=['费用所属单位','申请人','项目','金额','报销事由','创建时间','审批状态','支付时间'] types= 'text text text text text datetime text datetime'.split() exl_hdngs_xf=ezxf('font: bold on;align: wrap on,vert centre,horiz center') types_to_xf_map={ 'int':ezxf(num_format_str='#,##0'), 'date':ezxf(num_format_str='yyyy-mm-dd'), 'datetime':ezxf(num_format_str='yyyy-mm-dd HH:MM:SS'), 'ratio':ezxf(num_format_str='#,##0.00%'), 'text':ezxf(), 'price':ezxf(num_format_str='¥#,##0.00') } data_xfs=[types_to_xf_map[t] for t in types] date=datetime.datetime.now() year=date.year month=date.month day=date.day filename=str(year)+'_'+str(month)+'_'+str(day)+'_'+'报销费用支付详情'+'.xls' exp=export_excel() return exp.export_download(filename,'报销费用支付详情表',exl_hdngs,data,exl_hdngs_xf,data_xfs)
def fytj_list(page): if request.method == 'POST': beg_date = request.form['beg_date'] + " 00:00:00" end_date = request.form['end_date'] + " 23:59:59" is_paid = request.form['is_paid'] node_id = request.form['node_id'] node_type = request.form['node_type'] sql = "1=1" if is_paid != '-1': sql += " and is_paid = "+is_paid sql += " and create_date between '" + beg_date + "' and '" + end_date + "'" sql += " and project_id in (" ids = recursion.get_recursion_prjs(node_id, node_type) for obj in ids: sql += str(obj) + "," sql += "-1)" data=OA_Reimbursement.query.filter(sql).order_by("id").paginate(page, per_page = PER_PAGE) return render_template("bxsq/fytj/fytj_list.html",data=data,beg_date=beg_date,end_date=end_date,is_paid=is_paid,node_id=node_id,node_type=node_type)