吴昊品工程级别软件项目Round2——餐饮管理系统(C#)吴昊系列

机器人炒菜是全自动的,但是,即使是所有的事情都由机器人来处理,还是需要人来负责收银以及处理机器的一切异常(处理器可能会因为湿度,温度等原因发生一些不可预料的故障)。为了提高员工结账,管理客户的效率,我想到了这一套系统,平台为WindowsXP,开发组件包括VisualStudio2010+MicrosoftSQLServer2005,用到的语言是C#,主要是考虑到C#的界面美观,并且,在之后可能会有一些联网的扩展,用C#的可扩展性和可维护性均较强。

二.数据库表格规划

经分析,主要由以下六个E-R实体图组成,结合公司的实际,我会做出一些修改,tb的意思是table(表单),分别为商品信息(tb_food),顾客消费信息(tb_GuestFood),桌台信息(tb_Room),职员信息(tb_Waiter),用户信息(tb_User),商品类别信息(tb_foodtype),下面一一介绍其主键以及其它的属性(主键必须唯一地标识这个元素):

商品信息:主键为编号(ID),然后是类别编号(Foodty),商品代号(foodnum),商品名(foodname),商品价格(foodprice)。

商品类别信息:主键为类别编号(ID),然后是类别名(foodtype)。

三.项目的具体模块分析以及与炒菜机器人的结合

(1)实现人机交互,界面美观,信息灵活,数据库安全可靠(用的是SQLServer),操作简单。

(2)具备餐厅顾客的开台,点菜,加菜,账目查询和结账的功能,并且集员工的管理于一体(必要的时候可以将员工的财务管理系统和餐饮管理系统合二为一)。

(3)能够对顾客的消费历史记录进行查询。

(4)在后期可以考虑和机器人的处理器的联网,这样,便可以在客户点菜的同时将菜谱输入进机器人的程序中,方便了一体化的操作。

四。构成模块(这里以结构图的方式展现菜单(menu)的功能)构成模块

限于位置原因,后面四个子菜单的信息在此列出:

(1)系统维护——权限管理,系统备份,系统恢复。

(2)系统设置——口令设置,锁定系统。

(3)帮助——关于。

(4)退出——退出系统。

五.软件初体验

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.Text;

usingSystem.Windows.Forms;

usingSystem.Data.SqlClient;

namespaceMrCy

{

publicpartialclassLogin:Form//窗体结构

publicLogin()

InitializeComponent();//初始化

}

privatevoidForm1_Load(objectsender,EventArgse)

txtName.Focus();//设置焦点到txtName

privatevoidtxtPwd_KeyPress(objectsender,KeyPressEventArgse)

if(e.KeyChar==13)

btnSubmit_Click(sender,e);

privatevoidbtnSubmit_Click(objectsender,EventArgse)

if(txtName.Text=="")//如果用户名为空

MessageBox.Show(“请输入用户名”,“警告”,MessageBoxButtons.OK,MessageBoxIcon.Warning);

else

if(txtPwd.Text=="")//如果密码为空

MessageBox.Show(“请输入密码”,“警告”,MessageBoxButtons.OK,MessageBoxIcon.Warning);

SqlConnectionconn=BaseClass.DBConn.CyCon();

conn.Open();

SqlCommandcmd=newSqlCommand("selectcount(*)fromtb_UserwhereUserName='"+txtName.Text+"'andUserPwd='"+txtPwd.Text+"'",conn);

inti=Convert.ToInt32(cmd.ExecuteScalar());

if(i>0)

cmd=newSqlCommand("select*fromtb_UserwhereUserName='"+txtName.Text+"'",conn);

SqlDataReadersdr=cmd.ExecuteReader();

sdr.Read();

stringUserPower=sdr["power"].ToString().Trim();

conn.Close();

Mainmain=newMain();

main.power=UserPower;//这里以数字设置了power

main.Names=txtName.Text;

main.Times=DateTime.Now.ToShortDateString();

main.Show();

this.Hide();

MessageBox.Show("用户名或密码错误");

privatevoidbtnConcel_Click(objectsender,EventArgse)

if(MessageBox.Show("确定退出系统吗?","提示",MessageBoxButtons.OKCancel,MessageBoxIcon.Asterisk)==DialogResult.OK)

Application.Exit();

源代码如下:

publicpartialclassMain:Form

publicMain()

InitializeComponent();

publicSqlDataReadersdr;

publicstringpower;

publicstringNames;

publicstringTimes;

privatevoidfrmMain_Load(objectsender,EventArgse)

//这里根据具体的权限处理权限信息

switch(power)

case"0":toolStripStatusLabel13.Text="超级管理员";break;

case"1":toolStripStatusLabel13.Text="经理";break;

case"2":toolStripStatusLabel13.Text="一般用户";break;

toolStripStatusLabel10.Text=Names;

toolStripStatusLabel16.Text=Times;

if(power=="2")

系统维护SToolStripMenuItem.Enabled=false;

基础信息MToolStripMenuItem.Enabled=false;

if(power=="1")

//对使用和待用状态的不同处理,主要是对桌台点击鼠标右键时,对应的某些选项进行了加灰色处理。(点击鼠标右键时对应的内容如下)

(图为桌子在使用状态下的点击结果)

privatevoidAddItems(stringrzt)

if(rzt=="使用")

lvDesk.Items.Add(sdr["RoomName"].ToString(),1);

lvDesk.Items.Add(sdr["RoomName"].ToString(),0);

privatevoid开台ToolStripMenuItem_Click(objectsender,EventArgse)

if(lvDesk.SelectedItems.Count!=0)

stringnames=lvDesk.SelectedItems[0].SubItems[0].Text;

Openopenroom=newOpen();

openroom.name=names;

openroom.ShowDialog();

MessageBox.Show("请选择桌台");

privatevoidfrmMain_Activated(objectsender,EventArgse)

lvDesk.Items.Clear();

SqlCommandcmd=newSqlCommand("select*fromtb_Room",conn);

sdr=cmd.ExecuteReader();

while(sdr.Read())

stringzt=sdr["RoomZT"].ToString().Trim();

AddItems(zt);

privatevoid点菜ToolStripMenuItem_Click(objectsender,EventArgse)

DCdc=newDC();

dc.RName=names;

dc.ShowDialog();

privatevoid消费查询ToolStripMenuItem_Click(objectsender,EventArgse)

Serchserch=newSerch();

serch.RName=names;

serch.ShowDialog();

privatevoid结账ToolStripMenuItem_Click(objectsender,EventArgse)

JZjz=newJZ();

jz.Rname=names;

jz.ShowDialog();

//这里是具体的对加灰的处理

privatevoidlvDesk_DoubleClick(objectsender,EventArgse)

Detailsdetails=newDetails();

details.TableName=lvDesk.SelectedItems[0].SubItems[0].Text;

details.ShowDialog();

privatevoidlvDesk_Click(objectsender,EventArgse)

SqlCommandcmd=newSqlCommand("select*fromtb_RoomwhereRoomName='"+names+"'",conn);

sdr.Close();

if(zt=="使用")

this.contextMenuStrip1.Items[0].Enabled=false;

this.contextMenuStrip1.Items[1].Enabled=true;

this.contextMenuStrip1.Items[3].Enabled=true;

this.contextMenuStrip1.Items[5].Enabled=true;

this.contextMenuStrip1.Items[6].Enabled=true;

if(zt=="待用")

this.contextMenuStrip1.Items[0].Enabled=true;

this.contextMenuStrip1.Items[1].Enabled=false;

this.contextMenuStrip1.Items[3].Enabled=false;

this.contextMenuStrip1.Items[5].Enabled=false;

this.contextMenuStrip1.Items[6].Enabled=false;

privatevoid取消开台toolStripMenuItem_Click(objectsender,EventArgse)

SqlCommandcmd=newSqlCommand("updatetb_RoomsetRoomZT='待用',Num=0whereRoomName='"+names+"'",conn);

cmd.ExecuteNonQuery();

cmd=newSqlCommand("deletefromtb_GuestFoodwherezhuotai='"+names+"'",conn);

frmMain_Activated(sender,e);

MessageBox.Show("×àì¨");

privatevoid桌台信息ToolStripMenuItem1_Click(objectsender,EventArgse)

Deskdesk=newDesk();

desk.ShowDialog();

privatevoid职员信息ToolStripMenuItem1_Click(objectsender,EventArgse)

Userusers=newUser();

users.ShowDialog();

privatevoid日历ToolStripMenuItem1_Click(objectsender,EventArgse)

Calendercalender=newCalender();

calender.ShowDialog();

privatevoid记事本ToolStripMenuItem1_Click(objectsender,EventArgse)

System.Diagnostics.Process.Start("notepad.exe");

privatevoid计算器ToolStripMenuItem1_Click(objectsender,EventArgse)

System.Diagnostics.Process.Start("calc.exe");

privatevoid权限管理ToolStripMenuItem1_Click(objectsender,EventArgse)

QxGlqx=newQxGl();

qx.ShowDialog();

privatevoid系统备份ToolStripMenuItem1_Click(objectsender,EventArgse)

BFbf=newBF();

bf.ShowDialog();

privatevoid系统恢复ToolStripMenuItem1_Click(objectsender,EventArgse)

HFhf=newHF();

hf.ShowDialog();

privatevoid口令设置ToolStripMenuItem1_Click(objectsender,EventArgse)

Pwdpwd=newPwd();

pwd.names=Names;

pwd.ShowDialog();

privatevoid锁定系统ToolStripMenuItem1_Click(objectsender,EventArgse)

Locklocksystem=newLock();

locksystem.Owner=this;

locksystem.ShowDialog();

privatevoid关于ToolStripMenuItem1_Click(objectsender,EventArgse)

AboutBox1ab=newAboutBox1();

ab.ShowDialog();

privatevoid退出系统ToolStripMenuItem1_Click(objectsender,EventArgse)

if(MessageBox.Show("è·¨í3±μí3e£","ìáê",MessageBoxButtons.OKCancel,MessageBoxIcon.Exclamation)==DialogResult.OK)

privatevoid系统维护ToolStripMenuItem_Click(objectsender,EventArgse)

(图为桌子在待使用状态下的点击结果)

点击开台之后,系统便进入到开台界面:

publicpartialclassOpen:Form

publicOpen()

publicstringname;

publicSqlConnectionconn;

privatevoidfrmOpen_Load(objectsender,EventArgse)

conn=BaseClass.DBConn.CyCon();

cbNum.Items.Add(sdr["RoomName"].ToString().Trim());

cbNum.SelectedItem=name.Trim();

cmd=newSqlCommand("select*fromtb_Waiter",conn);

cbWaiter.Items.Add(sdr["WaiterName"].ToString().Trim());

cbWaiter.SelectedIndex=0;

privatevoidtxtNum_KeyPress(objectsender,KeyPressEventArgse)

if((e.KeyChar!=8&&!char.IsDigit(e.KeyChar))&&e.KeyChar!=13)

MessageBox.Show("请输入数字");//IsDigit函数用来检验

e.Handled=true;

privatevoidbtnSave_Click(objectsender,EventArgse)

if(txtNum.Text==""||Convert.ToInt32(txtNum.Text)<=0)

MessageBox.Show("请输入用餐人数");

stringRoomName=cbNum.SelectedItem.ToString();

SqlCommandcmd1=newSqlCommand("updatetb_RoomsetGuestName='"+txtName.Text+"',zhangdanDate='"+dateTimePicker1.Value.ToString()+"',Num='"+Convert.ToInt32(txtNum.Text)+"',WaiterName='"+cbWaiter.SelectedItem.ToString()+"',RoomZT=’使用’whereRoomName='"+name+"'",conn);

cmd1.ExecuteNonQuery();

this.Close();

privatevoidbtnExit_Click(objectsender,EventArgse)

保存了开台信息之后,便可以进入点菜和加菜环节

publicpartialclassDC:Form

publicDC()

InitializeComponent();//窗体初始化

publicstringRName;

privatevoidfrmDC_Load(objectsender,EventArgse)

this.Text=RName+“点/加菜”;

//这里的逻辑可以根据具体的炒菜机器人进行适当修改

TreeNodenewnode1=tvFood.Nodes.Add("锅底");

TreeNodenewnode2=tvFood.Nodes.Add("配菜");

TreeNodenewnode3=tvFood.Nodes.Add("烟酒");

TreeNodenewnode4=tvFood.Nodes.Add("主食");

SqlCommandcmd=newSqlCommand("select*fromtb_foodwherefoodty='1'",conn);

newnode1.Nodes.Add(sdr[3].ToString().Trim());

cmd=newSqlCommand("select*fromtb_foodwherefoodty='2'",conn);

newnode2.Nodes.Add(sdr[3].ToString().Trim());

cmd=newSqlCommand("select*fromtb_foodwherefoodty='3'",conn);

newnode3.Nodes.Add(sdr[3].ToString().Trim());

cmd=newSqlCommand("select*fromtb_foodwherefoodty='4'",conn);

newnode4.Nodes.Add(sdr[3].ToString().Trim());

cmd=newSqlCommand("selectRoomZTfromtb_RoomwhereRoomName='"+RName+"'",conn);

stringzt=Convert.ToString(cmd.ExecuteScalar());

if(zt.Trim()=="待用")

groupBox1.Enabled=false;

groupBox2.Enabled=false;

groupBox3.Enabled=false;

groupBox4.Enabled=false;

GetData();

tvFood.ExpandAll();

privatevoidtreeView1_DoubleClick(objectsender,EventArgse)

stringfoodname=tvFood.SelectedNode.Text;

if(foodname=="锅底"||foodname=="配菜"||foodname=="烟酒"||foodname=="主食")

SqlCommandcmd=newSqlCommand("select*fromtb_foodwherefoodname='"+foodname+"'",conn);

txtNum.Text=sdr["foodnum"].ToString().Trim();

txtName.Text=foodname;

txtprice.Text=sdr["foodprice"].ToString().Trim();

if(txtpnum.Text=="")

MessageBox.Show("数量不能为空");

return;

txtallprice.Text=Convert.ToString(Convert.ToInt32(txtprice.Text)*Convert.ToInt32(txtpnum.Text));

privatevoidtxtpnum_TextChanged(objectsender,EventArgse)

if(Convert.ToInt32(txtpnum.Text)<1)

MessageBox.Show("数量不能为小于1的数字");

privatevoidGetData()//连数据库

SqlDataAdaptersda=newSqlDataAdapter("selectfoodname,foodsum,foodallprice,waitername,beizhu,zhuotai,datatimefromtb_GuestFoodwherezhuotai='"+RName+"'orderbyIDdesc",conn);

DataSetds=newDataSet();

sda.Fill(ds);

dgvFoods.DataSource=ds.Tables[0];

privatevoidtxtpnum_KeyPress(objectsender,KeyPressEventArgse)

MessageBox.Show("请输入数字");

privatevoidbtnDelete_Click(objectsender,EventArgse)

if(dgvFoods.SelectedRows.Count>0)

stringnames=dgvFoods.SelectedCells[0].Value.ToString();

SqlCommandcmd=newSqlCommand("deletefromtb_GuestFoodwherefoodname='"+names+"'andzhuotai='"+RName+"'",conn);

//这里解决一些按钮的异常

if(txtName.Text==""||txtNum.Text==""||txtprice.Text=="")

MessageBox.Show("请选择菜系");

if(Convert.ToInt32(txtpnum.Text)<=0)

MessageBox.Show("消费数量不能小于等于0");

SqlCommandcmd=newSqlCommand("insertintotb_GuestFood(foodnum,foodname,foodsum,foodallprice,waitername,beizhu,zhuotai,datatime)values('"+txtNum.Text.Trim()+"','"+txtName.Text.Trim()+"','"+txtpnum.Text.Trim()+"','"+Convert.ToDecimal(txtallprice.Text.Trim())+"','"+cbWaiter.SelectedItem.ToString()+"','"+txtbz.Text.Trim()+"','"+RName+"','"+DateTime.Now.ToString()+"')",conn);

在这里,我们暂时缓一下,处理一下数据库的联结问题,因为这里选择的是SQLServer,所以采用如下代码:

namespaceMrCy.BaseClass

classDBConn

publicstaticSqlConnectionCyCon()

returnnewSqlConnection("server=(local);database=eat;uid=sa;pwd=888888");

关于结账,我们有如下的界面:(消费查询暂时有一些问题,是否是同一个界面我暂时也不知道)

publicpartialclassJZ:Form

publicJZ()

publicstringRname;

publicstringprice;

publicstringbjf;

privatevoidfrmJZ_Load(objectsender,EventArgse)

this.Text=Rname+"结账";

groupBox1.Text="当前桌台-"+Rname;

SqlDataAdaptersda=newSqlDataAdapter("selectfoodname,foodsum,foodallprice,waitername,beizhu,zhuotai,datatimefromtb_GuestFoodwherezhuotai='"+Rname+"'orderbyIDdesc",conn);

dgvRecord.DataSource=ds.Tables[0];

SqlCommandcmd=newSqlCommand("selectsum(foodallprice)fromtb_GuestFoodwherezhuotai='"+Rname+"'",conn);

price=Convert.ToString(cmd.ExecuteScalar());

if(price=="")

lblprice.Text="0";

btnJZ.Enabled=false;

cmd=newSqlCommand("selectRoomBJFfromtb_RoomwhereRoomName='"+Rname+"'",conn);

bjf=cmd.ExecuteScalar().ToString();

//这里涉及了一个打折的优惠活动,可以根据公司内部的具体优惠活动进行打折处理。

if(bjf=="0")

btnJZ.Enabled=true;

lblprice.Text=price+"*95%"+"+"+bjf+"="+(Convert.ToDecimal(Convert.ToDouble(price)*Convert.ToDouble(0.95))).ToString("C");

lblprice.Text=price+"*95%"+"+"+bjf+"="+(Convert.ToDecimal(Convert.ToDouble(price)*Convert.ToDouble(0.95))+Convert.ToDecimal(bjf)).ToString("C");

privatevoidtxtmoney_KeyPress(objectsender,KeyPressEventArgse)

privatevoidtxtmoney_TextChanged(objectsender,EventArgse)

lbl0.Text="0";

if(txtmoney.Text=="")

txtmoney.Text="0";

lbl0.Text=Convert.ToDecimal(Convert.ToDouble(txtmoney.Text.Trim())-Convert.ToDouble(price)*Convert.ToDouble(0.95)-Convert.ToDouble(bjf)).ToString("C");

privatevoidbtnJZ_Click(objectsender,EventArgse)

if(txtmoney.Text==""||lbl0.Text=="0")

MessageBox.Show("请先结账");

if(lbl0.Text.Substring(1,1)=="-")

MessageBox.Show("金额不足");

SqlCommandcmd=newSqlCommand("deletefromtb_GuestFoodwherezhuotai='"+Rname+"'",conn);

cmd=newSqlCommand("updatetb_RoomsetRoomZT='待用',Num=0,WaiterName=''whereRoomName='"+Rname+"'",conn);

THE END
1.酒香浮动探索最佳酒价查询工具如果说过去我们只是买卖交易的话,那么现在则是进入了一场关于知识与体验共融的大舞台。在这里,每一次点击都是向前迈出的步伐,每一次学习都是对自我认知的一次升级。而这一切,都源于那最初的问题:“哪个软件可以查酒的价格?” 标签:中国白酒排名前二十、酒文化的发展现状、中国白酒历史文化、酒文化的起源、地区酒https://www.gccthdxv.cn/bai-jiu-wen-hua/283559.html
2.酒类价格查询软件精确找寻您心仪的美酒酒类价格查询软件是一款专门为爱好者和收藏家设计的应用程序,它能够提供全球各地酒类商品的最新价格信息。用户可以通过搜索功能快速找到自己感兴趣的产品,并且可以查看到不同地区、不同的零售商以及各种促销活动下的价格。这些信息不仅能帮助用户在购买时做出明智的决策,还能让他们更好地了解市场动态。 https://www.feawjppu.cn/bai-jiu-pin-jian/355322.html
3.手机扫码查价格软件排行榜前十名偏玩手游盒子分享十大手机扫码查价格软件排行榜前十名手机应用,编辑为您推荐手机手机扫码查价格软件排行榜第一名到前5名到前十名的应用。找手机扫码查价格软件有哪些、手机扫码查价格软件哪个好用,上偏玩手游盒子https://m.pianwan.com/s/zj-899083
4.扫酒的价格是用什么软件以扫酒价格软件作为酒类市场行情解析工具,在帮助消费者轻松选购方面发挥着重要作用。准确解读市场行情、多维度比较优劣、实时更新价格信息、精准推荐个性化选择以及便捷快速选购体验等特点使得这款软件成为消费者们不可或缺的好帮手。 在未来,随着技术的不断进步和用户需求的变化,相信以扫酒价格软件将会越来越完善,并为广大http://coffee.cn/xican/post/332988.html
5.订烟软件有哪些?中国烟草网上订货平台下载手机买烟app订烟软件有哪些?随着互联网技术越来越发达,越来越普及,我们的生活也随之发生了改变,以前订烟买烟总是要跑到很远的地方进行批发,现在就很方便了,直接下载我们提供的订烟软件就可以快速订烟,非常方便,我们提供的烟草网上订货平台包括了中烟新商盟、烟草易付等订烟app,各种品牌的香烟任你订,快来体验吧! http://www.downyi.com/key/dingyanapp/
6.哪些历史价格查询软件支持查询多个电商平台的商品价格?目前市面上的网购电商平台太多,如果每天都只能来回切换查价比价,太费时间。更何况我们还需要查看商品历史价格来判断当前的活动是否真的优惠。 各大平台目前都在上演价格战,因此有很多商家也会钻空子,搞出“假促销”活动来误导消费者以日常价甚至比日常价还要高的价格买到产品。 因此,历史价格查询软件可以说是网购必备https://m.163.com/dy/article/JINJNLKP0553TSAO.html
7.产品查app官方版下载安装产品查商品真伪查询软件安卓最产品查是一款购物商品真伪及价格查询软件,提供香烟价格、白酒、红酒价格、查历史价格、查真伪、扫码查价格、查烟酒、全面掌握商品价格,购物省心省钱!还有每日领劵功能,购物更优惠。购物避坑就先产品查再慢慢买。一键即可查询电商商品历史价格,商品价格,优惠券信息,支持淘宝天猫、京东、拼多多等多家电商比价。 https://www.doyo.cn/app/455113.html
8.烟酒价格最新烟酒价格走势查询金投价格网金投价格频道提供烟价,酒价,香烟价格,名酒价格,烟酒价格,名烟名酒价格行情,烟酒批发价格行情查询,烟酒回收价格查询等信息。https://jiage.cngold.org/minyong/yanjiu/
9.查查价格查烟价酒价油价金价扫一扫即可查询电商商品历史价格,商品价格,优惠券信息,支持淘宝天猫、苏宁易购、京东、拼多多、唯品会、考拉海购等多家电商比价,找到最值得买的商品。 【烟酒价格查询】 扫码香烟条形码,查一查香烟价格、网友试抽评价、品鉴图。足不出户即可了解全国烟草价格。 https://app.mi.com/details?id=com.leijian.compare
10.烟草价格查询网站官网(烟草公司烟价查询app)–1688烟草批发网烟价查询app,随时随地掌握价格 讨论到烟草价格查询应用程序,该软件带来极大便捷性。无论身处何方,手持手机便可实时查询烟草价格,且该APP具备高度智能化特性,能够依据使用者位置,推送周边烟酒店及烟草价格信息。 当你与友人外出游乐时,若需购买香烟却不知哪处烟酒店价格最为优惠,只需轻触手机中的应用程序(APP),便http://m.1891122.com/a/49839.html
11.扫一扫识别真假烟的软件可以识别烟酒真假的app大家在日常生活中买香烟总怕遇到假的,在这里有软件能够识别假的香烟和烟酒,能够一键扫一扫就能够识别,非常的方便用户,平台不仅可以帮助用户去购买正品香烟,还能够提供很多香烟知识和真品信息,帮助用户之后不会上当受骗,快来看看吧!http://www.ishaohuang.com/s/sysshzjydrj/
12.亚马逊新手卖家开店前要搞懂的100个问题(上)因为参加完那些培训之后你可能会发现,除了得到了高价的店铺和软件,你的知识储备,还依然停留在菜鸟的水平。 -04- 我从哪个站开始做? 关于新手卖家从哪个站开始做,这个要看你的个人兴趣,还要看你想卖什么类目的产品。 因为亚马逊全球十几个站点,不同的站点,所畅销的类目其实有很大的差别。 https://www.cifnews.com/article/76131/
13.香烟价格表香烟排行榜品牌大全2024年[烟悦网](吸烟有害降)香烟价格表、排行榜、口碑评论、真伪鉴别图片等信息,品牌包括:黄鹤楼,利群,南京,黄金叶,云烟,泰山,黄山,玉溪,双喜,芙蓉王等https://www.yanyue.cn/
14.www.scmc根据披露,王能早年在灌阳县糖烟酒公司工作,后进入当地人行系统;1997年任人民银行桂林分行副行长,随后参与筹备桂林银监分局,并在该局成立后担任党委书记、局长。-。 他说,中央指导组将“坚持严督实导,全力支持市委履行主体责任,助力重庆市在以学正风、深入整治基层治理不良现象和形式主义突出问题、为基层减负上取得新http://www.scmc-xa.com/xxxr98849965.htm