




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、得分:課程設(shè)計(jì)報(bào)告企業(yè)工資管理系統(tǒng)姓名XXX班級(jí)XXXXX學(xué)號(hào)XXXXXX課程名稱數(shù)據(jù)庫原理及應(yīng)用指導(dǎo)教師201X年X月X日 目 錄一工資管理系統(tǒng)需求分析1.1功能需求 1.1.1功能劃分 1.1.2功能描述1.2性能需求1.3數(shù)據(jù)流圖二.總體設(shè)計(jì)2.1數(shù)據(jù)庫概念設(shè)計(jì)2.2功能模塊三.系統(tǒng)詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)庫邏輯設(shè)計(jì)3.2各模塊功能 3.2.1職工信息管理系統(tǒng) 3.2.2職工工資管理系統(tǒng) 3.2.3職工津貼管理系統(tǒng)四.系統(tǒng)實(shí)現(xiàn)4.1界面截圖 4.1.1主界面及工資基本信息界面 4.1.2登錄界面 4.1.3系統(tǒng)主界面 4.1.4信息錄入,修改,刪除,查詢界面4.2設(shè)計(jì)代碼五.實(shí)驗(yàn)總結(jié) 1、 需
2、求分析1.1 功能需求1.1.1功能劃分(1)、員工信息表;及時(shí)反映員工的基本信息 (2)、員工津貼表,反映員工津貼 (3)、員工基本工資表 1.1.2 功能描述(1)、基本工資的設(shè)定(2)、津貼的設(shè)定(3)、計(jì)算出月工資(4)、錄入員工工資信息 (5)、添加員工工資信息 (6)、更改員工工資信息1.2性能需求此工資管理系統(tǒng)對工資數(shù)據(jù)精度的計(jì)算能在默認(rèn)情況之下精確到小數(shù)點(diǎn)后3位小數(shù),即是精確到分的計(jì)算。但在用戶使用過程中,能自行根據(jù)實(shí)際情況進(jìn)行小數(shù)計(jì)算精度的設(shè)定,最大能允許保留小數(shù)點(diǎn)后5位的精度。在時(shí)間特性上,當(dāng)用戶發(fā)出命令請求時(shí)的服務(wù)器的響應(yīng)時(shí)間、對數(shù)據(jù)更新處理、工資數(shù)據(jù)的查詢檢索等上,同樣
3、要求系統(tǒng)響應(yīng)時(shí)間不會(huì)超過0.5秒時(shí)間。系統(tǒng)支持多種操作系統(tǒng)的運(yùn)行環(huán)境,多不同操作系統(tǒng),不同文件格式的磁盤上的數(shù)據(jù)均能實(shí)現(xiàn)信息的互通,及共享。當(dāng)服務(wù)器移植到其他的系統(tǒng)平臺(tái),如:Linux平臺(tái)下時(shí),同樣能和其他的系統(tǒng)進(jìn)行數(shù)據(jù)存取同步,不會(huì)出現(xiàn)系統(tǒng)之間互不兼容的情況,系統(tǒng)支持多系統(tǒng)之間的互連互通,系統(tǒng)有巨大的強(qiáng)健性。本課程設(shè)計(jì)是用Java語言編寫,mysql數(shù)據(jù)庫。1.3數(shù)據(jù)流圖根據(jù)工資管理要求及用戶需求調(diào)查分析,得到以下數(shù)據(jù)流圖圖1.1第一層數(shù)據(jù)流圖修改職工信息刪除職工記錄輸入職工基本信息工資表添加操作修改操作刪除操作用戶查詢操作職工號(hào) 圖1.2職工信息的載入津貼表添加操作修改操作刪除操作查詢操作
4、用戶圖1.4考勤的信息載入2.總體設(shè)計(jì)2.1數(shù)據(jù)庫概念設(shè)計(jì)有了數(shù)據(jù)流圖,用E-R圖來說明工資信息管理系統(tǒng)的數(shù)據(jù)庫概念模式,如圖姓名基本工資職工號(hào)工資員工職工號(hào)領(lǐng)取1 nm影響姓名津貼 領(lǐng)取姓名津貼密碼職工號(hào)圖2.1實(shí)體之間關(guān)系E-R圖2.2功能模塊工資管理系統(tǒng) 員工管理模塊 職工登陸模塊 工資管理模塊 系統(tǒng)模塊3系統(tǒng)詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)庫邏輯設(shè)計(jì)將以上E-R轉(zhuǎn)換成如下關(guān)系模式員工(職工號(hào),姓名,密碼)工資(職工號(hào),姓名,基本工資,)津貼(職工號(hào),姓名,獎(jiǎng)金)其中,標(biāo)有下劃線的字段表示為該數(shù)據(jù)表的主碼,即主關(guān)鍵字。在上面的實(shí)體以及實(shí)體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫中的表格以及各個(gè)表格之間的關(guān)系。工資
5、信息管理系統(tǒng)數(shù)據(jù)庫中各個(gè)表格的設(shè)計(jì)結(jié)果如下面的幾個(gè)表格所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表。表一:員工信息表:列名數(shù)據(jù)類型可否取空備注說明no Char ( 8 )NOT NULL職工號(hào)(主鍵)nameChar(10)NOT NULL職工姓名miSmallintNOT NULL登錄密碼表二:基本工資表:列名數(shù)據(jù)類型可否取空備注說明noChar ( 8 )NOT NULL職工號(hào)(主鍵)nameChar(10)NOT NULL職工姓名JbmoneyNOT NULL基本工資表四:津貼信息表列名數(shù)據(jù)類型可否為空備注說明noChar ( 8 )NOT NULL職工號(hào)(主鍵)nameChar(10)NOT
6、 NULL職工姓名JtmoneyNOT NULL津貼3.2各模塊功能3.2.1職工信息管理系統(tǒng) 功能為:財(cái)務(wù)部門相關(guān)人員錄入、修改、刪除、查詢員工個(gè)人信息3.2.2職工工資管理系統(tǒng) 功能為:根據(jù)工資生成公式,按照員工的考勤情況及各種表現(xiàn)按月生成相應(yīng)的工資;財(cái)務(wù)部門相關(guān)人員能錄入、修改、刪除、查詢每個(gè)月每個(gè)員工的工資信息以及工資匯總;員工本人能查詢自己的工資信息以及工資匯總;3.2.3職工登陸查詢系統(tǒng) 功能為:員工本人能通過用戶名和密碼查詢自己的信息以及修改自己的密碼;4.系統(tǒng)實(shí)現(xiàn)4.1界面截圖主界面登錄界面管理員管理工資界面信息錄入,修改,刪除,查詢界面4.1.5職工信息查詢界面4.1.6職工
7、密碼修改界面4.2設(shè)計(jì)代碼DB.javapackage wage_management;import java.awt.*;import java.awt.event.*;import javax.swing.*;class DB extends JFrame implements ActionListener JFrame frame = new JFrame("歡迎進(jìn)入企業(yè)工資管理系統(tǒng)");JLabel label = new JLabel("", JLabel.CENTER);JButton button1 = new JButton("
8、進(jìn)入系統(tǒng)");JButton button2 = new JButton("退出系統(tǒng)");ImageIcon im = new ImageIcon("1.jpg");JLabel a1 = new JLabel(im);void Create() JPanel pcontentPane = (JPanel) frame.getContentPane();pcontentPane.add(a1);pcontentPane.add(label);pcontentPane.setLayout(new FlowLayout();pcontentPane
9、.add(button1);pcontentPane.add(button2);pcontentPane.setVisible(true);button1.addActionListener(this);button2.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200, 100, 550, 180);frame.setVisible(true);public static void main(String args) DB d
10、ome = new DB();dome.Create();public void actionPerformed(ActionEvent e) if (button1.equals(e.getSource() DL dl = new DL();dl.create();frame.dispose();if (button2.equals(e.getSource() / 退出System.exit(0);DL.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.ev
11、ent.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane
12、;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import com.mysql.jdbc.PreparedStatement;import Query.Querypad;class DL extends JFrame implements ActionListener ImageIcon im = new ImageIcon("2.jpg");JLabel a2 = new JLabel(im);JFrame frame = new JFr
13、ame("職工/管理員登陸");JLabel label1 = new JLabel("用戶名");JLabel label2 = new JLabel("密碼");JButton logonButton1 = new JButton("管理員登錄");JButton logonButton2 = new JButton("職工登錄");JButton cancelButton = new JButton("退出");JTextField username = new JTe
14、xtField(9);JPasswordField password = new JPasswordField(9);static String t1;static String t2;void create() JPanel p = (JPanel) frame.getContentPane();JPanel p1 = new JPanel();p.setLayout(new FlowLayout();p.add(a2);p.add(label1);p.setSize(5, 5);p.setLocation(4, 8);p.add(username);p.setSize(100, 200);
15、p.setLocation(800, 800);p.add(label2);p.setSize(50, 20);p.setLocation(40, 80);p.add(password);p.setSize(100, 20);p.setLocation(80, 120);p.add(logonButton1);p.add(logonButton2);p.add(cancelButton);p.setBackground(Color.cyan);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActi
16、onListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(200, 100, 500, 220);frame.setVisible(true);public void actionPerformed(ActionEvent e) t1 = username.getText();t2 = password.getText();if(e.getSource()=logonButton1)
17、if( username.getText().equals("admin") = true&& (password.getText().equals("admin") = true) JOptionPane.showMessageDialog(this, "登錄成功!");GZGLZJM gz = new GZGLZJM();gz.create();frame.dispose(); else JOptionPane.showMessageDialog(null, "輸入用戶名或密碼錯(cuò)誤!");if
18、(e.getSource()=logonButton2)try Connection con;Statement ps;ResultSet rs;String sql = null;Class.forName("org.gjt.mm.mysql.Driver");Class.forName("org.gjt.mm.mysql.Driver").newInstance();con = DriverManager.getConnection( "jdbc:mysql:/localhost:3306/wage management",&qu
19、ot;root","jxb"); sql="select * from workerinfo where name='"+t1+"' and mi='"+t2+"'"ps = (PreparedStatement) con.prepareStatement(sql);rs = ps.executeQuery(sql);if(rs.next()if(rs.getString("name").equals(t1) && rs.getStrin
20、g("mi").equals(t2)YGDLJM yg = new YGDLJM();yg.create();frame.dispose();JOptionPane.showMessageDialog(this, "登錄成功!");this.dispose();else JOptionPane.showMessageDialog(this, "輸入用戶名或密碼錯(cuò)誤!");catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();if (canc
21、elButton.equals(e.getSource() / 退出System.exit(0);GZGLZJM.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.
22、swing.JLabel;import javax.swing.JPanel;class GZGLZJM extends JFrame implements ActionListener JFrame f = new JFrame("工資管理系統(tǒng)");JButton b1 = new JButton("工資管理");JButton b2 = new JButton("員工信息管理");JButton b3 = new JButton("返回");ImageIcon im = new ImageIcon("
23、3.jpg");JLabel a1 = new JLabel(im);void create() JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout();p.add(a1);p.add(b1);p.add(b2);p.add(b3);p.setBackground(Color.cyan);p.setVisible(true);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBound
24、s(200, 100, 500, 200);f.setVisible(true);public void actionPerformed(ActionEvent e) if (b3.equals(e.getSource() / 返回DL d = new DL();d.create();f.dispose();if (b2.equals(e.getSource() / 員工信息管理YGGL yg = new YGGL();yg.create();f.dispose();if (b1.equals(e.getSource() / 工資管理GZGL gz = new GZGL();gz.create
25、();f.dispose();GZGL.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Stat
26、ement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;import javax.swing.JTextField;public class GZGL extends JFrame implemen
27、ts ActionListener JFrame f = new JFrame("工資管理");JButton b1 = new JButton("錄入");JButton b2 = new JButton("修改");JButton b3 = new JButton("刪除");JButton b4 = new JButton("查詢所有");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(4);
28、JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String cloum = "職工號(hào)", "姓名", "津貼", "月基本工資","月薪"Object row = new Object505;JT
29、able table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);void create() JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout();p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1
30、);p1.add(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.cyan);p2.add(scrollpane);JPanel p3 = new JPanel();p.setLayout(new FlowLayout();p.add(new JLabel("");p.add(new JLabel("職工號(hào)");p.add(tf1);p.add(new JLabel("姓名");p.add(tf2);p.add(n
31、ew JLabel("津貼");p.add(tf3);p.add(new JLabel("月基本工資");p.add(tf4);p.add(new JLabel("月薪");p.add(tf5);p.add(new JLabel(" 在此處輸入職工號(hào)點(diǎn)擊查詢刪除");p.add(tf6);splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOTTOM);splitpane.setDividerLocation(50);p.setBackgrou
32、nd(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(200, 100, 500, 600);f.setResizable(true);/ 可以調(diào)整界面大小f.setVisible(true);public void actionPerformed(ActionEvent e) if (b1.equals(e.getSource
33、() / 錄入Connection con;Statement sql;try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb");sql = con
34、.createStatement();String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"','"+tf3.getText()+"');"sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES(&
35、#39;"+tf1.getText()+"','"+tf2.getText()+"','"+tf4.getText()+"');"sql.executeUpdate(insertStr1);con.close();JOptionPane.showMessageDialog(this, "入錄成功!"); catch (SQLException e1) JOptionPane.showMessageDialog(this, "入錄失敗!");if
36、(b2.equals(e.getSource() / 修改Connection con;Statement sql;try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root",&quo
37、t;jxb");sql = con.createStatement();String updateStr = "UPDATE welfare SET jt='"+tf3.getText()+"',name='"+tf2.getText()+"'where no='"+tf1.getText()+"'"sql.executeUpdate(updateStr);String updateStr1 = "UPDATE wageinfo SET jb=
38、39;"+tf4.getText()+"',name='"+tf2.getText()+"'where no='"+tf1.getText()+"'"sql.executeUpdate(updateStr1);JOptionPane.showMessageDialog(this, "修改成功!");con.close(); catch (SQLException e1) JOptionPane.showMessageDialog(this, "信息不存在!
39、");if (b3.equals(e.getSource() / 刪除Connection con;Statement sql;ResultSet rs;try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management&quo
40、t;,"root","jxb");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM wageinfo where no='"+tf6.getText()+"'");sql.executeUpdate("DELETE FROM welfare where no='"+tf6.getText()
41、+"'");JOptionPane.showMessageDialog(this, "刪除成功!");con.close(); catch (SQLException e1) JOptionPane.showMessageDialog(this, "刪除失??!");if (b4.equals(e.getSource() / 查詢?nèi)緾onnection con;Statement sql;ResultSet rs;/Vector vector = new Vector();try Class.forName("org
42、.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) JOptionPane.showMessageDialog(this, "連接數(shù)據(jù)庫失??!");try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb");sql = con.createStatement(ResultSet.TYPE_SCROLL_SENS
43、ITIVE,ResultSet.CONCUR_READ_ONLY);if (b4.equals(e.getSource() for (int i = 0; i < 50; i+)for (int j = 0; j < 4; j+)table.setValueAt("", i, j);rs = sql.executeQuery("select distinct * from wageinfo ,welfare where =");int k = -1;while (rs.next() +k;St
44、ring no = rs.getString(1);String name = rs.getString(2);String jb = rs.getString(3);String jt = rs.getString(6);int sum=rs.getInt(3)+rs.getInt(6);table.setValueAt(no, k, 0);table.setValueAt(name, k, 1);table.setValueAt(jb, k, 3);table.setValueAt(jt, k, 2);table.setValueAt(sum,k,4); catch (SQLExcepti
45、on e1) JOptionPane.showMessageDialog(this, "查詢失?。?quot;);if (b5.equals(e.getSource() / 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();YGGLZJM.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;i
46、mport java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSp
47、litPane;import javax.swing.JTable;public class YGDLJM extends DL implements ActionListener JFrame f = new JFrame("工資管理");JButton b1 = new JButton("查詢個(gè)人工資");JButton b2 = new JButton("修改密碼");JButton b3 = new JButton("返回");String cloum = "職工號(hào)", "姓名
48、", "津貼", "月基本工資","月薪"Object row = new Object505;JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);void create() JPanel p = (JPanel) f.getContentPane();p.setLayout(n
49、ew FlowLayout();p.add(scrollpane);p.add(splitpane);JPanel p1 = new JPanel();p1.add(b1);p1.add(b2);p1.add(b3);JPanel p2 = new JPanel();p2.setBackground(Color.cyan);p2.add(scrollpane);JPanel p3 = new JPanel();p.setLayout(new FlowLayout();splitpane.add(p1, splitpane.TOP);splitpane.add(p2, splitpane.BOT
50、TOM);splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(200, 100, 500, 550);f.setResizable(true);/ 可以調(diào)整界面大小f.setVisible(true);public void actionPerformed(ActionEvent e) if (b1.equals(e.getSource()
51、/ 查詢個(gè)人工資Connection con;Statement sql;ResultSet rs;try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb&qu
52、ot;);sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);if (b1.equals(e.getSource() for (int i = 0; i < 50; i+)for (int j = 0; j < 4; j+)table.setValueAt("", i, j);/System.out.println(t1);rs = sql.executeQuery("select distinct * from wageinfo ,
53、welfare,workerinfo where wageinfo.no=welfare.no and wageinfo.no=workerinfo.no and ='"+t1+"' and workerinfo.mi='"+t2+"'");int k = -1;while (rs.next() +k;String no = rs.getString(1);String name = rs.getString(2);String jb = rs.getString(3);String jt = rs.getString(6);int sum=rs.getInt(3)+rs.getInt(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 語言之魅探索語言多樣性帶來的豐富體驗(yàn)
- 高效工業(yè)自動(dòng)化設(shè)備電氣控制系統(tǒng)的設(shè)計(jì)與實(shí)施
- 職場人士經(jīng)濟(jì)素養(yǎng)提升基礎(chǔ)貨幣知識(shí)普及
- 非營利組織如何通過社交媒體籌款與宣傳
- 預(yù)防勝于治療家庭健康自檢自查手冊
- 自動(dòng)化工具驅(qū)動(dòng)的工作流程優(yōu)化策略
- 營銷創(chuàng)新與市場拓展的策略研究
- 音樂產(chǎn)業(yè)市場細(xì)分與音樂愛好者畫像構(gòu)建
- 職場技能培訓(xùn)市場的營銷戰(zhàn)略
- 通信技術(shù)與工業(yè)4.0構(gòu)建智慧辦公新生態(tài)
- 西方哲學(xué)試題庫及答案
- 燃?xì)夤拘聠T工入職三級(jí)安全教育培訓(xùn)
- 第10課 奪取抗日戰(zhàn)爭和人民解放戰(zhàn)爭的勝利 第三課時(shí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治五年級(jí)下冊統(tǒng)編版
- 跨高速施工安全教育
- 人教版數(shù)學(xué)七年級(jí)上冊《整式的加減》單元作業(yè)設(shè)計(jì)
- 人教PEP版英語五年級(jí)下冊Unit 4 When is the art show?單元教學(xué)設(shè)計(jì)(6課時(shí)教案)
- 醫(yī)院人人講安全個(gè)個(gè)會(huì)應(yīng)急
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
- 2025年專利使用合同范本
- 2024年中級(jí)(監(jiān)控類)消防設(shè)施操作員理論考試題庫(精練500題)
- 2025-2030全球等離子體仿真軟件行業(yè)調(diào)研及趨勢分析報(bào)告
評論
0/150
提交評論