<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 21  文章 - 12  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(4)

    隨筆檔案

    文章檔案

    新聞檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    前面講到我在做2BizBox ERP開發(fā)的時(shí)候,遇到導(dǎo)入數(shù)據(jù)的需求,然后我用JXL對Excel進(jìn)行了一些操作。

    但我們不能讓用戶輸入“1,2”這種坐標(biāo)吧,如客戶編號(hào)坐標(biāo);用戶肯定喜歡用Excel的坐標(biāo),A1,B1等來表示。來個(gè)圖看看:


    所以就要求程序把A1,B1等轉(zhuǎn)換成JXL認(rèn)識(shí)的坐標(biāo)。

    第一步:校驗(yàn)數(shù)據(jù),看是否符合Excel坐標(biāo)表示法,我用的是正則

    第二步:把字母轉(zhuǎn)化成數(shù)字

    代碼供參考

    publicstaticint[] splitExcelCell(String coordinate) {

          coordinate = coordinate.trim().toUpperCase();

          int[] colAndRow =newint[2];

         

          if (coordinate.matches("[A-Z]{1,2}[0-9]+")) {

            

             StringBuffer tmpS = new StringBuffer();

            

             for (int i = 0; i < coordinate.length(); i++) {

                char c =coordinate.charAt(i);

               

                if (c >= 48 && c <= 57) {

                    colAndRow[0] = Integer.parseInt(coordinate.substring(i));

                    break;

                }

               

                tmpS.append(c);

             }

            

             colAndRow[1] = splitExcelCol(tmpS.toString());

          }

         

          return colAndRow;

       }

      

     

       publicstaticint splitExcelCol(String coordinate) {

          coordinate = coordinate.trim().toUpperCase();

          int colNumber = 0;

         

          if (coordinate.matches("[A-Z]{1,2}")) {

             if (coordinate.length() == 1) {

                int k = coordinate.charAt(0) - 64;

                colNumber = k;

             }

             elseif (coordinate.length() == 2) {

                int i = coordinate.charAt(0) - 64;

                int j = coordinate.charAt(1) - 64;

               

                colNumber = i * 26 + j;

             }

          }

         

          return colNumber;

       }

    當(dāng)然程序也要做一些判斷,如果用戶輸入有誤的話,報(bào)一些錯(cuò)誤提示。

    posted @ 2012-06-19 09:54 zhangchuanzheng 閱讀(208) | 評論 (0)編輯 收藏

     

    大家知道TWaver Java總的TList繼承自Swing的JList,所以我們可以很容易控制其選擇,例如單選、多選等。但是本文介紹如何控制按指定數(shù)量進(jìn)行選擇。

    人生就是一個(gè)不停選擇的過程。所以,我們必須要謹(jǐn)慎的控制好你的選擇,無論是TList的SelectionModel,還是人生之路。

    在實(shí)際項(xiàng)目中,我們經(jīng)常需要對list進(jìn)行不能超過限定數(shù)量的多重選擇控制。本文用到的技巧可能是本站最簡單的一次了:利用DataBox的SelectionModel,當(dāng)選擇總數(shù)超過限定,就將最早的選擇刪除。

    其中max我們可以指定。乳溝max=1則變成了單選。

    通過這個(gè)思路,本文寫了一個(gè)很簡單的例子:通過控制多選數(shù)量,制作一個(gè)簡單的點(diǎn)菜選擇。相信你的系統(tǒng)中也經(jīng)常會(huì)有類似的場景:通過list讓用戶選擇指定數(shù)量的數(shù)據(jù)。



     

    posted @ 2012-05-29 17:14 zhangchuanzheng 閱讀(174) | 評論 (0)編輯 收藏

    Java很早就推出了Java Web Start(簡稱JWS)技術(shù)。這一技術(shù)的初衷很好:希望將桌面程序和Web頁面之間搭起一個(gè)無縫的橋梁。雖然Applet技術(shù)已經(jīng)存在了十多年,但是它日趨老邁衰落,所以JWS也就應(yīng)運(yùn)而生了。

    但是JWS并未順利實(shí)現(xiàn)它的初衷。從Java的幾次大改版都可以看到,JWS的bug多多,漏洞頻頻,Sun和Oracle不得不頻繁的進(jìn)行打補(bǔ)丁 修復(fù)。可以看看Java 5和6每次大小版本升級(jí)變化中,有多少是和Java Web Start有關(guān)的。難怪很多人都這樣感嘆:“哥再也不用Java Web Start部署應(yīng)用了!”其實(shí)也未必,隨著Java的不斷完善,我們只要了解更多的技巧,就可以有效的消除一些JWS潛在的問題,并順利的應(yīng)用在企業(yè)應(yīng)用 中。

    以2BizBox ERP項(xiàng)目為例,本文介紹如何在企業(yè)應(yīng)用中利用動(dòng)態(tài)生成JNLP文件的技術(shù)來實(shí)現(xiàn)應(yīng)用的快速部署。

    大家知道,2BizBox ERP作為一個(gè)免費(fèi)的高質(zhì)量ERP軟件,有成千上萬的用戶。就我們開發(fā)團(tuán)隊(duì)負(fù)責(zé)維護(hù)的服務(wù)器,就有近千臺(tái)。每臺(tái)服務(wù)器都是一家企業(yè),每家企業(yè)又有幾十上百 的客戶端。如果采用下載客戶端安裝程序進(jìn)行安裝的方式來維護(hù)諸多的客戶端,無疑是巨大的工作量,用戶和我們開發(fā)團(tuán)隊(duì)都不會(huì)輕松方便。為了解決這一問題,采 用JWS無疑是必然的選擇。

    為了讓客戶端自動(dòng)啟動(dòng)下載和安裝程序,我們在企業(yè)的2BizBox ERP服務(wù)器上部署以下JNLP文件內(nèi)容:

    上面的JNLP文件定義了2BizBox ERP客戶端啟動(dòng)所需要的jar包以及下載位置、jre版本等。

    在實(shí)際應(yīng)用中,效果良好。但是由于JNLP和JWS本身的bug,在某些情況下,后臺(tái)jar程序更新升級(jí)后,用戶側(cè)啟動(dòng)jnlp并不能獲得更新,需 要強(qiáng)行清空J(rèn)WS緩存才行,這肯定不是一般用戶懂得的。還有一種情況,就是由于ERP本身的jar包發(fā)生了變化(例如發(fā)生了增減),此時(shí)相當(dāng)于jnlp文 件的內(nèi)容發(fā)生了變化。這時(shí)候,要求用戶一側(cè)機(jī)器必須意識(shí)到j(luò)nlp的變化并先將jnlp進(jìn)行更新。在很多java版本中(例如jre6的早期版本——例如 jre6 update20之前),由于潛在的一些bug等原因,都不能順利的進(jìn)行更新,導(dǎo)致程序啟動(dòng)失敗。

    如何解決這一情況呢?采用動(dòng)態(tài)jnlp是一個(gè)有效的方法。

    動(dòng)態(tài)jnlp的思路是:在服務(wù)器的后端,通過jsp或servlet來動(dòng)態(tài)的生成一個(gè)jnlp文件,而不是放置一個(gè)靜態(tài)的固定不變的jnlp文件。這樣,jnlp文件內(nèi)容就可以通過后臺(tái)應(yīng)用的邏輯進(jìn)行動(dòng)態(tài)生成創(chuàng)建:需要什么jar包、需要什么jre版本等等。

    以jsp為例。在這個(gè)jsp中,首先要注意的幾個(gè)技術(shù)點(diǎn)是:要設(shè)置本頁面不要被瀏覽器緩存,放置jnlp內(nèi)容變化無法及時(shí)被更新;其次要設(shè)置 mime類型讓瀏覽器認(rèn)為它是一個(gè)jnlp文件,以便下載執(zhí)行而不是直接在瀏覽器中顯示出來。通過設(shè)置response即可達(dá)到這些目的:

    其中,禁止瀏覽器和webstart緩存jnlp內(nèi)容,通過設(shè)置:response.setHeader(“Pragma”, “no-cache”);和response.setHeader(“Expires”, “0″);
    設(shè)置文件類型,并給定一個(gè)動(dòng)態(tài)的文件名。這個(gè)通過這個(gè)進(jìn)行:response.setHeader(“Content-Disposition”, “filename=\”bb.jnlp\”;”);response.setContentType(“application/x-java-jnlp-file”);

    一個(gè)需要注意的問題是,在動(dòng)態(tài)生成jnlp文件時(shí),要注意jnlp文件中的href標(biāo)簽不要進(jìn)行設(shè)置。為什么呢?看一下jnlp的格式文檔是這樣說的:
    http://lopica.sourceforge.net/ref.html#jnlp



    The jnlp file's one and only root.

    Attributes
    spec=version , optional
    Specifies what versions of the jnlp spec a jnlp file works with. The default value is 1.0+. Thus, you can typically leave it out.
    version=version , optional
    Specifies the version of the application as well as the version of the jnlp file itself.
    codebase=url , optional
    Specifies the codebase for the application. Codebase is also used as base URL for all relative URLs in href attributes.
    href=url , optional
    Contains the location of the jnlp file as a URL. If you leave out the href attribute, Web Start will disable the update check on your JNLP file, and Web Start will not treat each new JNLP file as an application update - only updated jar files will. Leaving out href usually makes only sense if your jnlp file is created dynamically (that is, throug a cgi-script, for example) and if your jnlp file's arguments or properties change from request to request (user to user).
    Note, that Java Web Start needs href to list your app in the Web Start Application Manager.

    可見在動(dòng)態(tài)生成jnlp時(shí)候就不要設(shè)置href了,這樣就可以保證每次瀏覽器會(huì)重新下載jnlp文件內(nèi)容,否則可能會(huì)被緩存,無法及時(shí)更新程序。

    另外一個(gè)技巧是:jnlp文件中的jar包,可以進(jìn)行動(dòng)態(tài)檢查文件jar包并動(dòng)態(tài)生成。這樣,如果以后程序的jar文件有增減,就不必修改jnlp文件了。方法也很簡單:檢查當(dāng)前web在服務(wù)器的絕對路徑,并list所有的jar文件,然后在jnlp生成時(shí)候輸出即可:

    然后在jar的部分這樣列出:

    最后,如果需要在jnlp中指定當(dāng)前服務(wù)器的ip地址或主機(jī)地址,也可以通過動(dòng)態(tài)生成。例如jnlp文件中的codebase,就是如此。另 外,2BizBox ERP還需要在主函數(shù)中給出當(dāng)前服務(wù)器的ip地址。而對于上千家的2BizBox服務(wù)器,每個(gè)jnlp要手工維護(hù)ip地址,是不可想象的。這里通過動(dòng)態(tài)生 成,就永遠(yuǎn)的解決了這個(gè)問題:

    然后在jnlp中:

    這樣,通過jsp動(dòng)態(tài)生成jnlp的方案就完成了。它在2BizBox ERP中應(yīng)用良好,方便的讓上千家2BizBox ERP的云主機(jī)用戶快速得到程序更新,而簡化了程序的維護(hù)方式。

    posted @ 2012-05-23 10:31 zhangchuanzheng 閱讀(399) | 評論 (2)編輯 收藏
    又免費(fèi),又免費(fèi),ERP免費(fèi),現(xiàn)在進(jìn)銷存也免費(fèi)了...2BizBox-A2正式發(fā)布
    轉(zhuǎn)個(gè)貼給大家看看哈
    用戶們盼望已久的2BizBox-A2正式發(fā)布了。 :P

    總有人抱怨2BizBox ERP還是太復(fù)雜難用。現(xiàn)在好了,A2提供了一個(gè)簡化版的2BizBox,它類似一個(gè)“進(jìn)銷存”版本的2BizBox。
    A2對2BizBox ERP的模塊進(jìn)行了精心的簡化和優(yōu)化,業(yè)務(wù)只涵蓋了采購、銷售、庫存和財(cái)務(wù),而去掉了工單和生產(chǎn)環(huán)節(jié),是一個(gè)典型的“進(jìn)銷存+財(cái)務(wù)”的業(yè)務(wù)系統(tǒng)。

    A2特別 適合沒有生產(chǎn)、或不想實(shí)施生產(chǎn)業(yè)務(wù)的企業(yè)。

    A2可以平滑升級(jí)到2BizBox ERP。

    主要特點(diǎn)
    • 2BizBox ERP精簡版:包括進(jìn)銷存+財(cái)務(wù),去掉了工單和生產(chǎn)環(huán)節(jié)
    • 簡單易用,業(yè)務(wù)精簡,適合不含生產(chǎn)業(yè)務(wù)的中小企業(yè),或暫不對生產(chǎn)進(jìn)行管理的企業(yè)
    • 可平滑無縫升級(jí)到2BizBox ERP
    • 界面風(fēng)格和2BizBox ERP完全保持一致

    主要功能
    • 基礎(chǔ)數(shù)據(jù)模塊、采購、銷售、庫存、財(cái)務(wù)
    • 實(shí)現(xiàn)一體化進(jìn)銷存+財(cái)務(wù)業(yè)務(wù)
    • 簡化ERP流程,可直實(shí)現(xiàn)無訂單直接收發(fā)料
    附件:
    2bizbox-109.png
    2bizbox-109.png [ 28.66 KiB | 被瀏覽 8 次 ]

    附件:
    2bizbox-117.png
    2bizbox-117.png [ 139.31 KiB | 被瀏覽 8 次 ]

    下載地址:http://www.2bizbox.cn/product/download
    posted @ 2012-04-28 18:25 zhangchuanzheng 閱讀(369) | 評論 (0)編輯 收藏
    轉(zhuǎn)發(fā)一下,確實(shí)很強(qiáng)大啊...
    關(guān)鍵是還免費(fèi)...
     2BizBox最新版本 v3.5.0版本正式發(fā)布
    為了讓大家能夠度過一個(gè)愉快、祥和的5.1假期,2BizBox團(tuán)隊(duì)不辭辛苦、全體發(fā)力,最新版本 v3.5.0版本正式發(fā)布…

    新增功能:
    1. 在控制面板中添加了“發(fā)料時(shí)必須指定領(lǐng)料人”的開關(guān),啟用后每次發(fā)料時(shí)必須填寫領(lǐng)料人,防止漏填;
    2. 工單收料單列表添加“操作員”一列;
    3. 在“物料清單零件使用統(tǒng)計(jì)”、“零件短缺”界面中添加“項(xiàng)備注”一列;
    4. “工單工作簿”添加一個(gè)“全不選”的按鈕;
    5. 工單排產(chǎn)時(shí),用特殊顏色標(biāo)記有替換件的零件項(xiàng);
    6. 公司設(shè)置中“零件號(hào)最大長度”后面加以標(biāo)識(shí)“最大值為50”;
    7. 回收單收料單和退貨單發(fā)貨單支持項(xiàng)的拆分;
    8. 銷售單增加“以含稅價(jià)作為銷售單項(xiàng)計(jì)算標(biāo)準(zhǔn)”的功能;
    9. 零件的選擇界面改進(jìn),增加按型號(hào)、產(chǎn)品編碼、商品編碼等參數(shù)尋找零件的功能;
    10. 增加開關(guān)控制“是否顯示數(shù)字尾零功能”,可隱藏?cái)?shù)量小數(shù)點(diǎn)后的尾零,價(jià)格默認(rèn)保留兩位小數(shù);
    11. 改進(jìn)付款周期;改進(jìn)付款周期界面的選擇以及添加功能;增加初始化付款周期老數(shù)據(jù)的功能;
    12. 銷售單和工單增加“取消”按鈕;
    13. 工藝上增加“備注“字段;
    14. 改進(jìn)上傳零件文檔功能,不限制上傳文檔名;
    15. 改進(jìn)了零件界面零件單位、采購單位以及采購單位轉(zhuǎn)換率的顯示方式;
    16. 改進(jìn)采購單項(xiàng)上零件單位,采購單位以及采購單位轉(zhuǎn)換率的顯示方式;


    修復(fù)功能:
    1. 修復(fù)采購單,收料單,應(yīng)付賬款及工單零件明細(xì)四舍五入造成的金額差異的問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=29&t=4450
    2. 修復(fù)導(dǎo)入客戶和供應(yīng)商,如若其編號(hào)含有小寫字母,導(dǎo)入后,客戶以及供應(yīng)商的聯(lián)系人添加后無法保存的問題;
    3. 修復(fù)“按物料查看銷售單X物料清單”報(bào)表中“標(biāo)準(zhǔn)成本”和“平均成本”位置顛倒的問題;
    4. 修復(fù)“應(yīng)付賬款”無法對員工付款的問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=6&t=3096
    5. 修復(fù)因采購單“項(xiàng)目”數(shù)據(jù)太長造成的無法收料問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=4348
    6. 修復(fù)“搜索檢驗(yàn)單”報(bào)表無法搜索出全部檢驗(yàn)單的問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=4308
    7. 修復(fù)分庫后,導(dǎo)入工具庫存信息報(bào)錯(cuò)的問題;
    8. 修復(fù)創(chuàng)建工單后,無法帶入零件單位的問題;
    9. 修復(fù)發(fā)貨需要查看地址權(quán)限的問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=4115
    10. 修復(fù)繁體發(fā)送通知無法選擇收信人的問題;
    11. 修復(fù)“從盤存表中搜索需要調(diào)整庫存的零件”無數(shù)據(jù)的問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=4&t=3853
    12. 修復(fù)“搜索員工”無法搜索出批量導(dǎo)入的員工問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=29&t=3827
    13. 修復(fù)郵件服務(wù)器不支持“-”等符號(hào)的問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=3&t=1359
    14. 修復(fù)工單排產(chǎn)時(shí)候,如果“替換件”數(shù)量過大,替換不成功的問題;
    http://www.2bizbox.cn/forum/viewtopic.php?f=2&t=3724


    下載地址:

    http://www.2bizbox.cn/product/download
    posted @ 2012-04-28 18:15 zhangchuanzheng 閱讀(466) | 評論 (0)編輯 收藏


    作為供應(yīng)商,可能會(huì)在一個(gè)月內(nèi)接到同一客戶的多次采購請求,會(huì)建立多個(gè)銷售單。但對每個(gè)銷售單每次都開相應(yīng)金額發(fā)票又略顯繁瑣。在2BizBox里,您可針對此種情況,做批量應(yīng)收賬款建立。

    在財(cái)務(wù)模塊->應(yīng)收賬款->按發(fā)貨單項(xiàng)添加應(yīng)收賬款,選擇要建立應(yīng)收賬款的客戶,同時(shí)選擇幣種,點(diǎn)擊確定,出現(xiàn)如下圖1:
    附件:
    batch AR.png
    batch AR.png [ 87.72 KiB | 被瀏覽 11 次 ] 


    勾選希望應(yīng)收賬款合并建立到一起的發(fā)貨單,點(diǎn)擊確定后,出現(xiàn)合并到一起的應(yīng)收賬款頁面,如下圖2:
    附件:
    one AR.png

    隨后,財(cái)務(wù)相關(guān)人員即可進(jìn)行收款等操作事宜。
    posted @ 2011-10-25 09:33 zhangchuanzheng 閱讀(239) | 評論 (0)編輯 收藏


    2BizBox API v3.3.1已經(jīng)提供發(fā)布。此次發(fā)布的主要更新內(nèi)容涵蓋:

  • 與2BizBox ERP v3.3.1同步更新;
  • 改進(jìn)了api內(nèi)部緩存機(jī)制,降低類依賴,有效控制了包大小;
  • 增加了集成式App開發(fā)運(yùn)行環(huán)境2bizbox_gui.jar包;
  • 修復(fù)了當(dāng)修改后臺(tái)服務(wù)器端口后無法連接的問題;
  • 簡單說,新的api,您可以:
    1、開發(fā)各種與2BizBox ERP v3.3.1進(jìn)行集成的應(yīng)用;
    2、開發(fā)各種App應(yīng)用程序與插件。

    歡迎大家下載:http://www.2bizbox.cn/wiki/index.php/2BizBox_API%E4%B8%8B%E8%BD%BD

    posted @ 2011-10-13 10:01 zhangchuanzheng 閱讀(310) | 評論 (0)編輯 收藏
    僅列出標(biāo)題  下一頁
    主站蜘蛛池模板: 国产亚洲精品岁国产微拍精品| 曰批全过程免费视频免费看| 亚洲真人日本在线| 最新欧洲大片免费在线| 你好老叔电影观看免费| 亚洲AV日韩AV永久无码色欲 | 美女羞羞免费视频网站| 久久亚洲日韩看片无码| 亚洲人成网77777亚洲色| 免费在线观看亚洲| 免费毛片网站在线观看| 亚洲欧洲免费无码| 18禁男女爽爽爽午夜网站免费| 丁香花在线视频观看免费| 日韩精品无码免费视频| 亚洲人成人无码.www石榴| 亚洲宅男精品一区在线观看| 亚洲午夜未满十八勿入| 久久亚洲精品AB无码播放| 亚洲国产精品久久久天堂 | 一区二区免费国产在线观看| 4hu四虎最新免费地址| 免费在线看黄的网站| 两个人看的www免费视频中文| 免费手机在线看片| 国产成人+综合亚洲+天堂| 欧美色欧美亚洲另类二区| 日韩亚洲翔田千里在线| 亚洲a无码综合a国产av中文| 亚洲精品色播一区二区| 亚洲高清乱码午夜电影网| 亚洲国产成人久久精品软件| 亚洲精品宾馆在线精品酒店| 亚洲欧洲无码一区二区三区| 亚洲欧美一区二区三区日产| 亚洲人片在线观看天堂无码| 亚洲变态另类一区二区三区| 国产精品亚洲lv粉色| 日本免费精品一区二区三区| 一级特黄a免费大片| a级男女仿爱免费视频|