paulwong

          #

          狀態控制VS流程控制

          曾經做過一個結算系統,對于一段期間內完成的訂單做金額費用的結算,根據訂單的金額付款,并計算出一些代理費用等等。
          在付款之前,需要結算部門審核,財務部門的審核,上級主管的審核,客戶的確認等等。這個是按項目來做的,沒有上工作流系統。

          對于付款前的那些級別的審核,都是用狀態字段來控制的,主要是在結算單中增加審核的字段

          財務審核狀態,審核日期,審核意見,審核人
          客戶確認狀態,確認日期,確認意見,確認人
          上級主管審核狀態,審核日期,審核意見,審核人

          ....

          用狀態來控制流程的流轉的,
          結算部門人員,登錄系統后,點擊 結算單確認,打開所有的未確認過的結算單,進行核對,核對過后,點擊審核通過,則確認狀態為 已確認。
          財務人員登錄后,點擊 財務審核 菜單,打開所有結算已確認并且財務未通過的結算單,進行財務的核對。核對正確后,點擊審核通過,則財務審核狀態為 財務審核通過。

          客戶登錄系統后,點擊 結算單確認 菜單,打開財務審核通過,客戶未確認的結算單,進行確認操作,客戶確認后,客戶確認狀態就變成 已確認了.
          ....

          最后到付款等,都是通過狀態字段來控制的。
          整個的流轉只能是操作人員自己心里清楚,現在流轉到那個階段了,下一步需要誰來處理。


          后來需求還在不斷的變化,需要增加或減少一些審核,如代理的地方財政審核,代理公司的二級審核,又去掉上級主管的審核等等.....
          總之涉及到錢的問題,都會很仔細了,層層審核,還需要加上ca簽名認證,在真正付款之前,先核對一下ca簽名的數據是否和現在的數據一致,避免審核過后,結算單又做了修改。

          在增加審核的時候,就多增加一些字段,或者多增加一些狀態值,并修改代碼將字段和狀態值的修改體現到代碼中,使得流程能流轉,并重新打包發布程序,最后再測試,發布,正式上線使用

          來來回回的總是修改那些狀態字段以及狀態字段的值,控制頁面的記錄的顯示,審核按鈕等操作是否顯示,一些只讀的,隱藏的等等功能按鈕也是靠狀態值來控制的。
          有時候要減一級的審核,并加一級的審核,就會將減掉的那級審核的狀態字段修改到增加的那級審核上。
          .....
          一段時間后,這些狀態字段以及狀態字段的控制,就變得很復雜了,整個流轉過程,誰也不清楚,或許實施人員心里大概有個底,也沒準那個需求變化了,開發人員又“默默的”改了代碼了。每次在要走一個流轉的時候,會重新了解一下,不清楚的,就打開代碼來查看了,大體上就是那樣的,有一些審核的過程。


          如果用工作流系統來做這個....
          首先要在流程設計器中,畫一個 結算單審批流程

          制定結算單--》結算部確認--》財務部核對--》客戶確認--》付款處理--》結束

          在流程的設計器中的


          結算單中也不需要增加那么多的字段了,只對應一張通用的審核表,有一級的審核,就往通用審核表中增加一條記錄。

          在結算單表中,也可以增加一個狀態字段,記錄每個節點的審核結果,便于單獨做記錄的查詢用。

          只需要一個菜單“制定結算單”,當結算單制作完成后,流程實例就啟動了,下一步的辦理,就完全走流程設計器中定義的節點了。
          下一步的執行有兩種方式:
          從我的待辦任務列表中鏈接進去
          從流程實例的軌跡圖中,點擊節點進去,或 軌跡列表中單節行進去



          每個流程實例的辦理都有軌跡圖顯示,能清楚明確的看到每張結算單的審核過程


          當有需求變化,需要增加一級的審核,則在流程設計器中,多畫出一個審核節點,并增加一個結算單審批流程的版本,新的結算單流程按新的版本啟動。
          有減少一級的審核或處理,也是在設計器中,刪除一個節點。

          需要查看結算單的審批流程,只要打開流程設計器,查看流程的節點。或者查看流程實例運行的軌跡,也可以查詢到結算單的審批過程。


          運行工作流系統后,流程變得有跡可循了,不再是雜亂無章的。

          posted @ 2012-04-24 00:56 paulwong 閱讀(383) | 評論 (0)編輯 收藏

          免費的流程設計器

          免費的流程設計器:
          http://wind2154.iteye.com/blog/1464359

          posted @ 2012-04-23 22:35 paulwong 閱讀(401) | 評論 (0)編輯 收藏

          ACTIVITI在LINUX下查看流程圖片中文字體出現亂碼的解決方案

          問題產生:我配置在linux上的tomcat服務器生成圖片時中文,出現很多小方框,不能正常顯示。

          問題解決過程:通過網絡上搜索資料,發現是因為linux上jre對中文支持的問題。后來發現這篇小文章:
          ----------------------------------------------------------------------------------------------

          JDK 6 for linux的中文問題

          在linux下做java開發已經好幾年了,經歷了jdk1.4 -> 6.0。看著java在linux下的中文問題已經在慢慢改善。到6.0不做任配置都已經能正常運行很多中文程序,但可惜還是會有些中文問題。例如運行 jedit, netbeans等程序。甚至是自己寫的hello world swing程序的系統菜單都是亂碼的。

          但解決方法很簡單,在JRE 5以上的java環境中,java會自動加載$JAVA_HOME/jre/lib/fonts/fallback目錄下的字體。鏈接或復制宋體或微軟雅黑等字體到該目錄即可解決。

          但官方文檔上說此法只適用于swing程序,要讓awt程序也支持中文,還要自己設字體配置文件。由于我很少會用到awt程序,也就懶得去改了,有需要的朋友請參考Font Configuration Files

          進行操作:
          在Windows XP的字體目錄下,找到simsun.ttc的字體文件,重命名為simsun.ttf,然后將該文件復制到linux的/usr/local/jdk/jre/lib/fonts/fallback/(這個fallback目錄如果不存在則先創建這個目錄)下面,因為 simsun.ttf 字體文件對應的是宋體,則在程序中使用的時候設置字體為“宋體”,修改fonts.dir為以下內容。

          59
          LucidaBrightRegular.ttf -b&h-lucidabright-medium-r-normal--
          0-0-0-0-p-0-iso8859-1
          LucidaBrightItalic.ttf -b&h-lucidabright-medium-i-normal--
          0-0-0-0-p-0-iso8859-1
          LucidaBrightDemiBold.ttf -b&h-lucidabright-demibold-r-normal--
          0-0-0-0-p-0-iso8859-1
          LucidaBrightDemiItalic.ttf -b&h-lucidabright-demibold-i-normal--
          0-0-0-0-p-0-iso8859-1
          LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-
          0-0-0-0-p-0-iso8859-1
          LucidaSansDemiBold.ttf -b&h-lucidasans-bold-r-normal-sans-
          0-0-0-0-p-0-iso8859-1
          LucidaTypewriterRegular.ttf -b&h-lucidatypewriter-medium-r-normal-sans-
          0-0-0-0-m-0-iso8859-1
          LucidaTypewriterBold.ttf -b&h-lucidatypewriter-bold-r-normal-sans-
          0-0-0-0-m-0-iso8859-1
          LucidaBrightRegular.ttf -b&h-lucidabright-medium-r-normal--
          0-0-0-0-p-0-iso8859-2
          LucidaBrightItalic.ttf -b&h-lucidabright-medium-i-normal--
          0-0-0-0-p-0-iso8859-2
          LucidaBrightDemiBold.ttf -b&h-lucidabright-demibold-r-normal--
          0-0-0-0-p-0-iso8859-2
          LucidaBrightDemiItalic.ttf -b&h-lucidabright-demibold-i-normal--
          0-0-0-0-p-0-iso8859-2
          LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-
          0-0-0-0-p-0-iso8859-2
          LucidaSansDemiBold.ttf -b&h-lucidasans-bold-r-normal-sans-
          0-0-0-0-p-0-iso8859-2
          LucidaTypewriterRegular.ttf -b&h-lucidatypewriter-medium-r-normal-sans-
          0-0-0-0-m-0-iso8859-2
          LucidaTypewriterBold.ttf -b&h-lucidatypewriter-bold-r-normal-sans-
          0-0-0-0-m-0-iso8859-2
          LucidaBrightRegular.ttf -b&h-lucidabright-medium-r-normal--
          0-0-0-0-p-0-iso8859-4
          LucidaBrightItalic.ttf -b&h-lucidabright-medium-i-normal--
          0-0-0-0-p-0-iso8859-4
          LucidaBrightDemiBold.ttf -b&h-lucidabright-demibold-r-normal--
          0-0-0-0-p-0-iso8859-4
          LucidaBrightDemiItalic.ttf -b&h-lucidabright-demibold-i-normal--
          0-0-0-0-p-0-iso8859-4
          LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-
          0-0-0-0-p-0-iso8859-4
          LucidaSansDemiBold.ttf -b&h-lucidasans-bold-r-normal-sans-
          0-0-0-0-p-0-iso8859-4
          LucidaTypewriterRegular.ttf -b&h-lucidatypewriter-medium-r-normal-sans-
          0-0-0-0-m-0-iso8859-4
          LucidaTypewriterBold.ttf -b&h-lucidatypewriter-bold-r-normal-sans-
          0-0-0-0-m-0-iso8859-4
          LucidaBrightRegular.ttf -b&h-lucidabright-medium-r-normal--
          0-0-0-0-p-0-iso8859-5
          LucidaBrightItalic.ttf -b&h-lucidabright-medium-i-normal--
          0-0-0-0-p-0-iso8859-5
          LucidaBrightDemiBold.ttf -b&h-lucidabright-demibold-r-normal--
          0-0-0-0-p-0-iso8859-5
          LucidaBrightDemiItalic.ttf -b&h-lucidabright-demibold-i-normal--
          0-0-0-0-p-0-iso8859-5
          LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-
          0-0-0-0-p-0-iso8859-5
          LucidaSansDemiBold.ttf -b&h-lucidasans-bold-r-normal-sans-
          0-0-0-0-p-0-iso8859-5
          LucidaTypewriterRegular.ttf -b&h-lucidatypewriter-medium-r-normal-sans-
          0-0-0-0-m-0-iso8859-5
          LucidaTypewriterBold.ttf -b&h-lucidatypewriter-bold-r-normal-sans-
          0-0-0-0-m-0-iso8859-5
          LucidaBrightRegular.ttf -b&h-lucidabright-medium-r-normal--
          0-0-0-0-p-0-iso8859-7
          LucidaBrightItalic.ttf -b&h-lucidabright-medium-i-normal--
          0-0-0-0-p-0-iso8859-7
          LucidaBrightDemiBold.ttf -b&h-lucidabright-demibold-r-normal--
          0-0-0-0-p-0-iso8859-7
          LucidaBrightDemiItalic.ttf -b&h-lucidabright-demibold-i-normal--
          0-0-0-0-p-0-iso8859-7
          LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-
          0-0-0-0-p-0-iso8859-7
          LucidaSansDemiBold.ttf -b&h-lucidasans-bold-r-normal-sans-
          0-0-0-0-p-0-iso8859-7
          LucidaTypewriterRegular.ttf -b&h-lucidatypewriter-medium-r-normal-sans-
          0-0-0-0-m-0-iso8859-7
          LucidaTypewriterBold.ttf -b&h-lucidatypewriter-bold-r-normal-sans-
          0-0-0-0-m-0-iso8859-7
          LucidaBrightRegular.ttf -b&h-lucidabright-medium-r-normal--
          0-0-0-0-p-0-iso8859-9
          LucidaBrightItalic.ttf -b&h-lucidabright-medium-i-normal--
          0-0-0-0-p-0-iso8859-9
          LucidaBrightDemiBold.ttf -b&h-lucidabright-demibold-r-normal--
          0-0-0-0-p-0-iso8859-9
          LucidaBrightDemiItalic.ttf -b&h-lucidabright-demibold-i-normal--
          0-0-0-0-p-0-iso8859-9
          LucidaSansRegular.ttf -b&h-lucidasans-medium-r-normal-sans-
          0-0-0-0-p-0-iso8859-9
          LucidaSansDemiBold.ttf -b&h-lucidasans-bold-r-normal-sans-
          0-0-0-0-p-0-iso8859-9
          LucidaTypewriterRegular.ttf -b&h-lucidatypewriter-medium-r-normal-sans-
          0-0-0-0-m-0-iso8859-9
          LucidaTypewriterBold.ttf -b&h-lucidatypewriter-bold-r-normal-sans-
          0-0-0-0-m-0-iso8859-9
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-ascii-0
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-cns11643-1
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-cns11643-2
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-cns11643-3
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-gb18030.2000-0
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-gb2312.1980-0
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-gbk-0
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-ibm-cp850
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-iso10646-1
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-iso8859-1
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-iso8859-15
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-jisx0208.1983-0
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-jisx0208.1990-0
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-jisx0212.1990-0
          :
          1:simsun.ttf -misc-NSimSun-medium-r-normal--0-0-0-0-m-0-koi8-r
          :
          2:simsun.ttf -misc-SimSun_PUA-medium-r-normal--0-0-0-0-c-0-iso10646-1
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-ascii-0
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-cns11643-1
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-cns11643-2
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-cns11643-3
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-gb18030.2000-0
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-gb2312.1980-0
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-gbk-0
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-ibm-cp850
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-iso10646-1
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-iso8859-1
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-iso8859-15
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-jisx0208.1983-0
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-jisx0208.1990-0
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-jisx0212.1990-0
          simsun.ttf -misc-SimSun-medium-r-normal--
          0-0-0-0-c-0-koi8-r


          重新啟動tomcat服務,運行程序,中文正確顯示。該問題解決。

          posted @ 2012-04-23 15:13 paulwong 閱讀(3483) | 評論 (1)編輯 收藏

          BONITA資源

          http://www.ibm.com/developerworks/cn/java/j-bpm1/

          用于業務流程管理的 Bonita,第 2 部分 : 配置表單和變量
          http://www.ibm.com/developerworks/cn/java/j-bpm2/

          社區
          http://mybpm.sinaapp.com/forum.php

          qq群:125403032
          我們是bonita bpm 的北京研發中心 上面是我們的群。

          BONITABPM
          http://bonitabpm.iteye.com/

          posted @ 2012-04-20 11:35 paulwong 閱讀(209) | 評論 (0)編輯 收藏

          數據庫的鎖機制

          在進行SELECT操作時,通常接下來會進行UPADTE的操作,如果希望COMMIT前,所SELECT的數據不會被其他線程SELECT出來,則兩個線程都加FOR UPDATE/FOR UPDATE NOWAIT關鍵字,這樣數據庫就會鎖定這些記錄,加了FOR UPDATE的會進行等待,直到上一線程結束,加了FOR UPDATE NOWAIT的線程則直接拋出異常,這種機制稱為數據庫的鎖機制。

          HIBERNATE中的實現:

          LockMode.NONE :有緩存用緩存,沒緩存則從數據庫讀 
          LockMode.READ :直接從數據庫讀,不使用緩存數據 
          LockMode.WRITE :在insert update數據的時候,HIBERNATE內部使用的。 
          以上3種均為HIBERNATE級別的鎖,也就是緩存級別的鎖。 

          下面2種為數據庫級別的鎖: 
          LockMode.UPGRADE:相當于SQL語句select for update,被select的數據都被數據庫鎖住了,不能被其他事務修改。 
          LockMode. UPGRADE_NOWAIT :是ORACLE數據庫特有的select for update nowait

          posted @ 2012-04-19 17:56 paulwong 閱讀(358) | 評論 (0)編輯 收藏

          BONITA

          無意中發現一個開源的工作流引擎,包括BPM全套
          http://www.bonitasoft.org

          posted @ 2012-04-19 00:06 paulwong 閱讀(371) | 評論 (0)編輯 收藏

          一套不錯的JQUERY UI框架:EASY UI

          一套不錯的JQUERY UI框架:EASY UI
          http://www.jeasyui.com/

          補一個常用的方法:
          function closeSelectedTab(){
              
          var tab = $('#tt').tabs('getSelected');
              alert(tab.panel('options').href);
              $('#tt').tabs('close',tab.panel('options').title);
              
          //reloadTab(title,url);
          }

          posted @ 2012-04-17 22:57 paulwong 閱讀(1559) | 評論 (0)編輯 收藏

          神奇的圖片

          posted @ 2012-04-16 23:15 paulwong 閱讀(167) | 評論 (0)編輯 收藏

          什么是高內聚、低耦合?

          起因:模塊獨立性指每個模塊只完成系統要求的獨立子功能,并且與其他模塊的聯系最少且接口簡單,兩個定性的度量標準――耦合性和內聚性。

          耦合性也稱塊間聯系。指軟件系統結構中各模塊間相互聯系緊密程度的一種度量。模塊之間聯系越緊密,其耦合性就越強,

          模塊的獨立性則越差。模塊間耦合高低取決于模塊間接口的復雜性、調用的方式及傳遞的信息。

          耦合性分類(低――高): 無直接耦合;數據耦合;標記耦合;控制耦合;公共耦合;內容耦合;
          1 無直接耦合:
          2 數據耦合: 指兩個模塊之間有調用關系,傳遞的是簡單的數據值,相當于高級語言的值傳遞;
          3 標記耦合: 指兩個模塊之間傳遞的是數據結構,如高級語言中的數組名、記錄名、文件名等這些名字即標記,其實傳遞的是這個數據結構的地址;
          4 控制耦合: 指一個模塊調用另一個模塊時,傳遞的是控制變量(如開關、標志等),被調模塊通過該控制變量的值有選擇地執行塊內某一功能;
          5 公共耦合: 指通過一個公共數據環境相互作用的那些模塊間的耦合。公共耦合的復雜程序隨耦合模塊的個數增加而增加。
          6 內容耦合: 這是最高程度的耦合,也是最差的耦合。當一個模塊直接使用另一個模塊的內部數據,或通過非正常入口而轉入另一個模塊內部。

          內聚性又稱塊內聯系。指模塊的功能強度的度量,即一個模塊內部各個元素彼此結合的緊密程度的度量。若一個模塊內各元素(語名之間、程序段之間)聯系的越緊密,則它的內聚性就越高。

          內聚性匪類(低――高): 偶然內聚;邏輯內聚;時間內聚;通信內聚;順序內聚;功能內聚;
          1 偶然內聚: 指一個模塊內的各處理元素之間沒有任何聯系。
          2 邏輯內聚: 指模塊內執行幾個邏輯上相似的功能,通過參數確定該模塊完成哪一個功能。
          3 時間內聚: 把需要同時執行的動作組合在一起形成的模塊為時間內聚模塊。
          4 通信內聚: 指模塊內所有處理元素都在同一個數據結構上操作(有時稱之為信息內聚),或者指各處理使用相同的輸入數據或者產生相同的輸出數據。
          5 順序內聚: 指一個模塊中各個處理元素都密切相關于同一功能且必須順序執行,前一功能元素輸出就是下一功能元素的輸入。
          6 功能內聚: 這是最強的內聚,指模塊內所有元素共同完成一個功能,缺一不可。與其他模塊的耦合是最弱的。

          耦合性與內聚性是模塊獨立性的兩個定性標準,將軟件系統劃分模塊時,盡量做到高內聚低耦合,提高模塊的獨立性,為設計高質量的軟件結構奠定基礎。

          有個例子很容易明白:一個程序有50個函數,這個程序執行得非常好;然而一旦你修改其中一個函數,其他49個函數都需要做修改,這就是高耦合的后果。
          一旦你理解了它,你編寫概要設計的時候設計類或者模塊自然會考慮到“高內聚,低耦合”。

          posted @ 2012-04-16 22:37 paulwong 閱讀(362) | 評論 (0)編輯 收藏

          員工為什么離開

          導讀:如今,很多優秀員工不顧企業的挽留,翩然而去;潛力員工不顧企業的期待,悄然遠去;甚至重點培養的員工,也不顧企業的重托,撒手而去,留給領導者無盡的懊惱和嘆息。讓領導者百思不得其解的是,似乎總是該走的沒有走,不該走的卻走了;平凡的沒有走,優秀的卻走了。于是,也總能聽到領導者一遍又一遍無奈的歌謠:我拿什么來留住你?我的員工!

            咱們先從一個故事開始說起:

            楚國有個好吃懶做的人,他整天想著怎樣不出力氣,或者少出點兒力就可以揀到大便宜的竅門。他想,養蜜蜂的人能得到蜂蜜,養魚鷹的人能得到魚,我為什么不養些猴子呢?猴子會采果子呵!

            于是,他買了一群猴子,把它們關在一所空房子里,又買了很多裝果子用的簍子,教猴子扛簍子。他手拿皮鞭,嚴加訓練。然后又買了許多果子教猴子裝簍子,哪個猴子毛手毛腳地吃上一口果子,或者把果子碰傷了,他便舉起皮鞭,亂抽一頓。沒多久,便把猴子整治得服服帖帖,說一不二了。這時,他才把猴子放到山里,去給他采果子。

            不錯,猴子們挺馴服,每天早出晚歸,背馱肩扛地給他采來各種各樣的鮮果。他只要把這些鮮果拿到集市上賣出去就行了。從此他的日子過得寬寬松松,逍遙自在。

            這個不勞而獲的人很苛刻,他每天早上把猴子趕上山去采果子,不管采下多少果子,每只猴子只發給一個。猴子們勞累一天,一個果子怎么能吃飽肚子呢?

            猴子們對主人的苛刻虐待很反感,但誰也不敢吭聲,因為它們很知道皮鞭的味道。

            這天,猴子們照常上山去采果子,雖然肚子空空的,但受過訓練,采下果子來,只往簍子里裝,不敢往嘴里放。他們餓極了,主人又不在面前,有一個大膽點兒的,便吃起果子來,其它的猴子看見了,都一直咽口水。后來,實在耐不住了,也學著它的樣子吃起來了。

            一個野生老猴子看見它們這般模樣,不禁大笑起來:“猴兒們,這都是野生野長的果子,放心大膽地吃吧,看你們被人整治得沒點兒猴性了,吃吧,吃吧。”

            猴子們互相看看,也七嘴八舌地吱哇起來:“這果子不是主人的,誰都可以采,誰都可以吃。”“主人懶得上山來,他又看不見,咱們放開肚子吃唄。”

            它們邊吃邊議論:“敢情在這山上采果子的權利,不單是只有主人才有呀!”“我原來還以為是主人養活咱們呢,現在才弄明白是咱們養活他呀!”“山是大自然的山,誰都可以上山來,果是野生的果,誰都可以摘,他懶得勞動,鞭打咱們給他干活,咱們何必受他那樣折磨呢?”“可不是嗎?我們是自找苦吃!”

            猴子們長時間挨餓,吃飽后一個個東倒西歪地睡著了。一覺醒來,太陽已快落山了,簍子里還沒有裝滿呢。

            一個小猴子說:“今天回去,保準得吃皮鞭,哼!就是吃皮鞭,我也不給他干活了,我要和他講理!”另一個小猴子說:“主人從來不講理,咱們要不給他干活,他會把咱們再賣掉!”大伙抓耳撓腮,撲閃著眼睛,一時不曉得該怎樣是好。

            還是老一點的猴子精靈,它說:“干嗎要回去呢?這大山沒有頭,森林沒有邊,到哪里沒有我們吃的果子?生活的路子就在我們腳下,我們應該當機立斷,立刻離開這里!”那個野生的老猴兒又插話了:“這就對了,走,一塊走哇!”

            大伙兒一個個扔掉手里的簍子,歡跳著,嘻笑著,鉆進那無邊無際的山林里去了。

            那個主人到了晚上,左等右等不見猴子們回來,到山上一看,除了橫躺豎倒的簍子以外,一個猴兒也不見了。

            他氣壞了,但仍舊好吃懶做。后來,他終于餓死在自己的床上了。

            點睛:

            現在不少領導者普遍反映人難管,最根本的原因是“領導者與員工的關系”沒有擺正關系造成的。究竟員工在領導者心里,是一種達成目的的工具,還是具有個人特色的個體?過去的員工毫無條件地信任公司,將他的一生奉獻給公司,唯一微薄的希望,就是當公司賺錢時,能夠分一些給員工。可是這家公司遇到困難時,毫不猶豫就拋棄這些員工,有些更惡劣的居然不是先告知,早上員工上班時才通知“今天是最后一天”!現在的員工總算讓還活在機器時代的公司吃到苦頭,員工不再是呼之即來揮之即去的零件,使用一大堆的命令和規章,即使能約束員工上班時間,一到下班時間,員工很自然的收好文件離開,員工沒有必要對企業忠誠,因為企業先不尊重員工,員工只好自己先尊重自己,只顧自己不顧公司了。

            我們許多領導者在分配給下屬工作時,把下屬當一臺機器一樣看待。只告訴下屬要做什么,其余的什么都不說,導致下屬不知工作份量的輕重,結果不知自己到底做得怎么樣,根本談不上有任何成就感。因此對工作也失去了干勁。

            員工不是成本,而是公司的資本,是公司的核心資源。員工是活生生的人,不是機器,應該受到尊重。不能用按鈕隨意控制。毫無疑問,人是會受外界刺激影響的,但絕對是不可以控制的。只有自己才能改變自己。

            現如今,很多優秀員工不顧企業的挽留,翩然而去;潛力員工不顧企業的期待,悄然遠去;甚至重點培養的員工,也不顧企業的重托,撒手而去,留給領導者無盡的懊惱和嘆息。讓領導者百思不得其解的是,似乎總是該走的沒有走,不該走的卻走了;平凡的沒有走,優秀的卻走了。于是,也總能聽到領導者一遍又一遍無奈的歌謠:我拿什么來留住你?我的員工!

            領導者必須從“員工靠老板”的思想轉變為“老板靠員工”。沒有員工,就沒有老板,從內心深處想通這個問題。否則就容易產生碰撞和矛盾。其實員工只要求在一個和諧、輕松、公正、公平、進取、團結的團隊里工作,他就開心,就精神舒暢。但很多企業的企業文化缺乏人性化,企業領導的管理風格強硬化、觀念僵硬化、都和現代企業要求的以人為本作為管理的核心,事事尊重人的需求,處處調動人的積極性,實現人的自我價值為中心的管理原則相背離。

          posted @ 2012-04-16 22:34 paulwong 閱讀(271) | 評論 (0)編輯 收藏

          僅列出標題
          共115頁: First 上一頁 83 84 85 86 87 88 89 90 91 下一頁 Last 
          主站蜘蛛池模板: 安国市| 大余县| 青神县| 灵石县| 广平县| 昆明市| 青浦区| 吐鲁番市| 泸州市| 扶余县| 清丰县| 乐山市| 千阳县| 敦煌市| 南宫市| 同心县| 甘泉县| 西充县| 宁都县| 灵丘县| 拜城县| 班戈县| 东方市| 鄱阳县| 红桥区| 陆良县| 公主岭市| 乃东县| 济源市| 澎湖县| 南漳县| 柏乡县| 泸溪县| 平乡县| 禹城市| 南木林县| 庆城县| 交口县| 临海市| 凤凰县| 大渡口区|