軟體開發(軟件開發)

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

室內設計、裝潢、窗簾報價估算軟體

網智數位主要提供套裝及客製化的軟體系統解決方案,針對室內設計師、木工、裝潢業產業,量身訂做客製化的軟體,達成客製化、智慧化及網路化的商用軟體。

商用軟體-客製化設計

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

IOT 物聯網-系統開發

根據客戶實際狀況,結合雲端與載具進行客製化物聯網IOT導入與軟體開發

雲端VPS虛擬主機租用

我們的雲端VPS虛擬主機是採用雲端(虛擬化)技術所開發之全新雲端伺服器服務,可以選擇多種作業系統(Windows、Linux等),客戶可載入自訂的應用環境,執行自己所要提供的網路服務,我們的雲端服務可為您的網站提供最完美的解決方案。

ERP軟體客製化導入

ERP軟體客製化導入,室內設計、營造業、裝潢、木作工程、系統櫃工程、會計系統,全面提升公司管理營運效率。

搜尋引擎最佳化SEO

搜尋引擎最佳化(SEO)不僅能提高網站在搜尋結果的排名,更能帶來大量對我們產品或服務真正有需求的訪客。SEO 最棒的特質之一就是不像廣告一樣亂槍打鳥而導致用戶的反感,反而更能提升點閱率跟成交率喔。

服務宗旨

網智數位主要提供套裝及客製化的軟體系統解決方案,專為客戶量身訂做客製化的軟體,達成客製化、智慧化及網路化的管理功能。

我們的成立宗旨就是要以最猛的IT技術讓這個世界更Smart,在我們貫徹我們裡想的同時,我們希望可以把我們所開發的系統帶給台灣的中小企業,除了要推薦好的東西之外,我們也希望做點改變,所以我們的第一目標就是要使用最好用的系統再加上您寶貴的創意,不僅僅可以節省你大量的荷包,還可以有一個像樣的網站。我們可以幫你做的有

企業管理
  • 策略管理
  • 目標管理
  • 行銷管理
  • 財會管理
  • ERP導入
  • 企業流程自訂
資訊管理
  • 網站架設
  • 虛擬化/雲端架設
  • 主機代管
  • 私有雲建制與導入
軟體開發
  • UML設計
  • 版本控管
  • 企業軟體開發
  • APP開發
  • 網頁設計
資訊安全
  • 網頁弱點掃描
  • 主機弱點掃描
  • 木馬檢測
  • 資安鑑識
  • 設計網路架構
  • 資安監控
行銷
  • 關鍵字SEO
  • 社群網路行銷
  • 部落格行銷
  • FaceBook 粉絲團
其他
  • 協助企業申請Google Email
好玩工具開發

講出你的創意吧!沒有甚麼是資訊辦不到的

顯示具有 庫存 標籤的文章。 顯示所有文章
顯示具有 庫存 標籤的文章。 顯示所有文章

2020年3月24日 星期二

離心泵浦專業製造機械大廠-ERP(軟體設計、客製化軟體)


      這半年團隊投入相當人力,協助一個已經經營超過90年的嘉義泵浦機械大廠,全新導入ERP系統,目前全新的設計頁面與功能也開始透過階段模組測試,以期待一個更人性的操作界面可以協助90年的大廠繼續邁入超過100年的在地生根永續經營,客戶期待的功能需求是我們必須完成的使命。

ERP_01
ERP02


網智數位-開發團隊一直突破開發技術、累積各種產業知識,而且在窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。

網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2019年1月14日 星期一

2018年回顧(專案開發、客製化軟體開發)

   1、回顧2018年專案案例,網智開發團隊成長非常多,也針對 室內設計、裝潢行業領域開發了量身客製化的報價軟體,也分別在台南、台中、桃園、嘉義、台北、新增都有客戶進行安裝測試、購買的我們的軟體,甚至也回饋了想要的擴充功能。







    2、在2018年也陸續接受到越南客戶的回報,在2017年開發的越南工廠ERP系統,因為2017年的中美貿易戰,越南突然的轉單效應,訂單成長了超過50%,也感謝我們還好2017年要導入產品BOM表、成本分析系統、訂單管理相關功能,工廠的員工可以快速分析成本、快速產生統計圖表,越南廠長當初對系統保持懷疑的態度,變成主動2018年要求我們可以接續規劃 APS生產排程系統。
    3、和中醫醫學連鎖機構開發亞洲唯一的3D互動教學系統,並申請專利。
    4、和國際筆電大廠聯合開發筆電裝置音效控制系統。
    5、協助台灣廚具大廠-林內廚具,開發電子發票、工單排單系統。
    6、投入開發新模式的C To B To C貿易系統,有別于市面上單純B To Ct套裝系統,適合各批發行業、家具貿易業、建材行等行業進行,他們的客戶下單、系統安排出貨流程、對外進行各自客戶查詢訂單庫存、出貨資訊。
    7、開發台灣第一套比特幣挖礦算力監控程式平台,可以支援同時監控超過300臺以上挖礦算力狀況。
    8、開發中鋼集團的FLIR、Fluke熱影像管理軟體。
    9、窗簾業、布業、地板業管理系統研發投入。
    10、南部團隊-K書中心出入管理系統導入。
    11、南部社區大樓太陽能監控平台開發。
    12、印尼台商-模具工廠 ERP 系統導入。


2019 年,將面臨更多挑戰,也會針對窗簾、家具、地板、壁紙、室內裝修產業領域,更深入進行軟體研發,讓更多中小企業、店面有合適的資訊系統可以使用、並更深入中南部進行優質服務。











網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105








2018年11月15日 星期四

ERP Plus AI 對紡織業龍頭大廠的關鍵角色

   我曾經在成衣上市知名公司軟體開發部門服務過,特別體會到人人說的夕陽產業,但確能如此獲利驚人,其中主要的關鍵因素,就是掌舵者如何帶領企業與時俱進地調整企業策略來快速調整企業營運方向,才可以面對產業競爭日益激烈。


article_scheme


   這當然一個重要成敗關鍵要素,就是好的ERP管理系統,可以迅速了解在世界各地的工廠,哪裡生產成本較低廉、產能足夠滿足客戶交貨日、再例如今年發生激烈的中美貿易戰,好的系統應該可以知道那裡生產、那裡採購,可以有效降低關稅成本、運輸成本、如何不同區域生產再進行合單,(題外話,中美貿易戰,讓我越南的客戶轉單效益明顯增加XDXD) ,今天就看到成衣大廠出現一個ERP + AI 的應用提升了,公司的訂單能見度、透過AI自動辨識各種訂單來源並轉至各個子系統。

    企業董事長進一步解釋,紡織業的訂單其實非常複雜,不像一般訂單只有品名和數量,而是隱含非常多的資訊,例如:織法、顏色、原物料、洗標上的資訊…等,再加上訂單本身格式也不一致,有些是 Word 檔、PDF 檔或是一封電子郵件。


     如此複雜多元的訂單來源與格式,導致儒鴻在接到客戶訂單後,須仰賴專員人工判讀、手動輸入再加以彙整,才能將訂單上的各式資料轉至 ERP 系統,產出工單、採購單…等等單據,進行後續的生產排程作業。

   「儒鴻的目標是 2020 年前,所有的管理系統都能智慧化,也就是做到資訊自動拋轉,」洪鎮海說,因為目前的管理系統是以財務會計為核心去設計,為了配合財會作業,導致很多作業流程不順暢,未來希望能結合 AI 技術優化流程,讓資訊可以自動拋轉至相關系統。再接下來,則是 2022 年走向生產製造智慧化,將 AI 技術大量導入工廠,並將各個作業站點整合起來,實現工業 4.0 的目標。


    綜觀現今歐美各國製造大廠,皆紛紛透過智慧化及大數據分析的轉型,創造出更多服務價值,台灣製造業若是要繼續保持競爭力,勢必得向儒鴻一樣,積極擁抱科技創新,才能在國際市場上永保領先地位。


部分來源是來自
https://buzzorange.com/techorange/2018/11/13/textile-industry-in-transformation/?fbclid=IwAR1--REv_GPwT-PzXqfHviIGLy0sO61EQfb309XLuNEBHpzUI99t-vbibr4




(筆者自行撰寫參考文章)
 MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)




網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

 my_qrcode_1519621481105

ERP 對企業競爭力提升的案例分享(ERP客製化、大數據分析)

    晚上和一家在北部經營多家連鎖店的建材行與木材業老闆討論ERP系統下一階段的導入程式開發與流程功能面,這個老闆很有思維從DOS時代就知道管理軟體對企業的重要性,所以在他的產業還沒有人用電腦軟體時,他就編列預算導入會計軟體、進銷存軟體,隨之經營觸角越來越廣,連鎖店面與倉庫越來越大,2~3年前就找上我,要將現在所有店面的套裝軟體全部捨棄,請我們開發從無到有的量身定做的管理軟體,每年都編列一定預算作進一步的階段流程與管理思維導入至系統。





 

     例如他的公司有好幾位業務銷售人員、門市人員,他與公司經營層內部擬定銷售績效獎勵方案、報價利潤計算、財務收款稽核準則,他都會自行要求我們透過管理軟體進行整合,他只要一個結果,每天看系統畫面,就知道今天那位銷售人員業績達成率多少、款項未收比例、呆賬比率、新客戶成交率、庫存周轉率、產品熱銷排行榜,他說這樣才叫做真正有制度的管理。

     未來數據量越來越龐大,他還有請我們軟體開發團隊,進行數據分析預測,來提早企業進行決策因應,重點今天 ALLEN 我也與總經理開會討論過程,他竟然提到以前我沒思考過的維度,他說未來如果有其他財團要收購他們公司,事實上會觀察他公司如何經營,如何控管庫存、如何控管應收款項、帳面財務是否透明,以及管理制度面是否具有競爭效益,所以有了好的管理軟體,事實上就是提升公司的無形資產與價值,我聽到事實上超級有成就感,花那麼多時間開發軟體協助客戶導入上線,為了就是可以看到很多人依賴系統,事實上每次如果過去他們任何一家分店,都看到客戶的員工在使用我們的系統,這也是我們幫客戶最開心的一件事情。

網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。


(其他參考文章) MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)



網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

 

my_qrcode_1519621481105
 
 
  




2018年11月13日 星期二

傢具批發業 B To C 貿易業軟體(軟體開發、客製化軟體、軟件開發)

       上個星期在台中一個從事家具貿易業(上得國際貿易股份有限公司)的老闆聯繫我,說他找了很多家軟體,包含 X航、X越 等知名進銷存套裝軟體(事實上我對這些套裝軟體是給予正面評價,任何軟體一定有它生存地優勢),但都無法符合他的公司的運作流程,因為他們在大陸有工廠合夥公司,所以需整合大陸的流程,而客戶的下單確實屬於 B to C模式,也就是跟市面上所有知名套裝軟體流程都不一樣,客戶(上得)公司本身不輸入訂單,訂單是開放給第三者(也就是此貿易商的客戶,例如大型傢具業、跑單幫客戶、知名連鎖店等),在網路下單並由這些第三者客戶指定此(上得)貿易商如何多批出貨,也就是貿易商也同時是物流配送角色,所以貿易商的客戶群是訂單的下單者、出貨排單者,卻更具有挑戰性地系統功能是,庫存量查詢必須是針對這些客戶,可以查詢各自的已下單未出貨的產品庫存量,這流程是屬與 B to C範疇,一般這些套裝軟體根本無法支援,所以客戶正式委託我們進行量身客製化的軟體設計與程式開發,並未來計劃再分不同階段進行系統開發。 




                       





網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。






網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

my_qrcode_1519621481105

2018年11月5日 星期一

模具行業管理軟體-ERP軟體開發、客製化軟體


            上個月一家在印尼多年(印尼石通企業),再從事生產模具開發、維修服務的台商找上我 Allen,希望我可以協助量身定做模具行業的生產管理流程,開發符合他們的軟體系統,因為之前他們委託過其他軟體合作廠商,但總覺得系統無法真的流程整合,因此該公司總經理在印尼9月份就透過Line 與我聯繫,先確定我是否在行業的流程整合可以給予整合意見,並提供他們現在的軟體系統畫面給我,告知他們使用上遇到的瓶頸,線上討論幾次確認我們是可以提供客製化服務,就回台灣時與我們當面討論許久,並正式分多次階段委託我們正式進行客製化軟體開發,幫工廠端可以提升資訊化管理能力。










網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。





網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

my_qrcode_1519621481105



2018年9月6日 星期四

K書中心自動控制系統與兌幣機整合系統(軟體開發、Arduino整合)

我們網智數位-軟體開發顧問團隊,今年在南部受委託承接K書中心的自動控制系統,完整的功能規劃包含,可以控制每個座位的無線電力控管、出入口閘門控制、入口觸控劃位系統、櫃台中控系統、以及收銀系統、連客戶的兌換機系統,都是我們完全從無到有開模、嵌入Arduino板子、以及研發軟體來控制,讓客戶可以從硬體到軟體的整合全部交給我們去規劃。

量身定做的兌幣機系統
          可以整合國內國外的設備、或針對客戶量身定做開模自行設計投幣式設備 

閘門半成品
41344613_235574300419715_6151643690549903360_n 


我們軟體開發團隊,擅長利用 Arduino、3D列印、模型輸出、以及軟體客製化,來協助客戶一條龍服務,









網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105




2018年7月25日 星期三

軟體派遣人力、專案軟體開發

軟體派遣人力
網智數位-軟體開發擴大合作團隊,現在可以提供企業人力駐點服務、提供 .Net 和 Java 技術入力駐點服務,我們的人力可以駐點於客戶處,與客戶技術團隊共同進行專案開發,並於專案結束後技術移轉並交接給客戶。       







專案軟體開發
我們更專注于解決客戶的需求,利用專業的資訊IT技能,協助客戶量身定做軟體開發、專案承接。
我們已開發過 圖控軟體、各產業ERP系統、POS系統、Arduino開發、簽核系統、進銷存軟體、電子發票系統、VR軟體。
橫跨產業:窗簾業、拉門、衛浴、地板、貿易業、醫療業、電子業、馬達知名廠商、汽車維修業。



 








網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

my_qrcode_1519621481105

2018年7月11日 星期三

越南-惡魔雞排連鎖店委託開發餐飲管理系統

       去年台商引進知名的惡魔雞排在越南擴展了許多複合式餐飲連鎖分店,因為該台商之前委託網智數位-軟體開發團隊開發量身客製化的軟體,運用在工廠端管理系統,因此對我們有信心,又再次委託我們開發中央餐廚管理系統,讓我們的知識領域又有機會接觸餐飲產業。


cm20160403___ba9b53c19c2419ca88452c065ccf5818954


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2018年6月19日 星期二

報價系統、估價系統、收款系統(軟體開發/客製化軟體)

      網智數位軟體開發團隊,因為協助多家室內裝修、壁紙、窗簾、地板、磁磚、工程建設等行業,開發一系列管理軟體,也深知該行業群,一直有頻繁的估價/報價需求,而大多數都是使用紙本抄寫,或者好一點的是使用Excel進行報價管理,但因為沒有好的軟體系統可以使用,顯得耗時、不專業、甚至款項常常是否有正確都發生爭議,也無法立刻追溯客戶歷史的報價成交資料,所以我們特別針對室內設計業、裝潢業、木工裝修業等開發出專屬的報價收款管理系統我們的報價單可以根據自行定義的工程施工類型(例如,木作、油漆、水電等),進行類型集中估價(報價),也可以再細分估價的區域位置(例如,廚房、玄關、臥室、廁所、客廳..等),只要輸入數量、單位、價格,系統都會自動統計金額,如下系統部分截圖。


估價-報價主畫面
image

主畫面,系統都會自動計算,估價總金額…


報價細項輸入
image



可以選取工程類型
image


可以選取施工區域
image


系統會自動統計,各工程的金額
image


系統自動計算、已實際收到的款項、最後收款日期、後續工程追加金額
、未收金額,是否已結案(只要款項都收齊,系統自動結案),這樣內部收款負責人,可以很清楚地藉由系統來了解哪些工程案未結案、款項未收齊。
image





系統也可以直接列印報價單給客戶進行確認回簽,使得可以呈現更專業的一面
image

image










目前呈現部分系統軟體的畫面,更完整的流程功能,請洽詢我們,我們也可以量身定做符合您的軟體功能。








網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

my_qrcode_1519621481105

2018年4月20日 星期五

ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)

      今天下午Allen我跑到新店拜訪一個從事30幾年的服裝製衣廠,該客戶使用某國內的知名套裝軟體多年,但客戶在需求討論一直說庫存不準確、生產工序流程無法符合該公司的營運管理面,所以他們使用管理系統跑出了的財務報表、生產報表等等,事實上大家都知道無法信賴,甚至客戶提出一個明顯例子,就是現有套裝軟體跑出的產品生產成本過度高估,導致於他們業務進行報價時,產生價格嚴重高估,跟其他競爭廠商產生巨大落差,而報價完全失去競爭力,因而損失了龐大的訂單,故內部一直有個聲音,想要找量身定做的ERP客製化軟體,所以找上我。





















      不是這套知名的套裝軟體不好,事實上我一直也很欣賞這國內的套裝軟體,但畢竟套裝軟體就是大眾市場所推出的管理系統,不可能可以根據某產業、甚至某特定公司進行修改流程、表單欄位,套裝軟體事實上它適合初期創業得中小型企業、店面,快速導入資訊化系統,好處就是非常便宜,不需要再等待程式研發過程,就可以有現成的軟體可以用,但一切的開始到最後就是您必須去完全適應遷就軟體功能與流程,而公司經營一段時間後,漸漸有了自己的企業文化、流程、獨特優勢、管理流程,就會發現跟套裝軟體格格不入越來越明顯,內部就會產生我們需要一個屬於自己量身定做的ERP系統。

       在導入一個新的軟體管理系統(進銷存、ERP、CRM、SCM等等),事實上是需要耐心與時間的,因為管理系統是需要深入客戶的流程、管理思維,而不斷的討論再討論,所以需要雙方(企業使用端與軟體開發商)都需付出極大的腦力、時間、體力與耐心,創造出一個對客戶有用的管理系統。
        但評估導入一個全新的軟體系統時,事實上需要時間、人力、預算,那麼這邊我也簡單描述,導入管理系統的效益評估成敗問題,在做不做投資效益分析問題上業界有很不同的看法,有人認為ERP項目主要追求的是長期效益,為企業奠定一個競爭優勢的基礎,不能要求立竿見影,當然也有人認為投資回報很難計算出來,不能用投資回報來考核ERP的成敗。
         

        效益是在深化應用中逐漸體現出來的,“上線”時還見不到效益的情況確實存在。很多項目可能要等若干年後才能收回投資,因此投資回收期會有長短,無非是收益多少和回收期長短的問題。任何一項投資項目必須做可行性研究,而投資效益分析是可行性研究報告的重要內容之一,是立項決策前必須做的一項不可缺少的重要工作,如果投資長期見不到效益,誰也不會做這種打水漂式的賠本買賣。
         投資效益分析首先要確定投入的資金數額,在資金投入方面,通常要考慮以下各項,但不一定每個ERP項目都樣樣需要,要根據企業的具體情況。為了避免疏漏,這裡列舉了所有可能的支出,供參考。
        *調查問卷、接待、差旅費用;
        *諮詢、教育訓練等售前服務費用;
        (以上兩項應列入ERP項目開支,不要分攤到行政辦公費用中。)
        *ERP產品費用(軟體使用許可費、資料費、雲端的租賃費用);
        *電腦、終端機、印表機、伺服器、各種網路通訊設施、條碼成套設施、數據採集器等各種硬體費用;
        *新建機房、添加的辦公費(如電腦桌椅、文件櫃)的費用;
        *導入顧問、售後服務費用;
        *監理服務費用;
        *二次開發和使用者授權費用
        *日常維護費用(耗材、網路通訊費用、工資等);
        *升級費用及每年需支付的相關費用(ERP產品公司有相應的規定)
        *在線服務費用;
        (以上是比較不容易忽略的支出)
        *延誤資訊化應用造成的損失(也就是推遲獲益的損失,如何計入資金投入比較難估算,要和收益結合起來研究) 


         這裡,我們也不妨引入總體擁有成本的概念,就是把系統生命週期的一切費用,包括選型、安裝、應用、維護和管理都考慮進去,而不僅僅考慮初次投資。



(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen
my_qrcode_1519621481105

2017年12月4日 星期一

Java Script D3 資料過濾教學(軟體設計、軟體開發)

       我在網頁繪圖時,現在常使用 D3 來幫客戶做成統計視覺圖表,但一定會遇到客戶要求在使用者界面上可以進行某些條件的過濾篩選,例如根據勾選或者執行某個按鈕(Button)時,可以顯示或隱藏網頁部分元素圖表,而這樣需求條件,我們就可以利用 Java Script D3 支援的 Filter 函數來實作此需求案例。

案例執行畫面如下

2017-12-04_11-11-28

//完整程式碼如下:

<!DOCTYPE html>
< html>
< head>
    <meta charset="utf-8">
    <title>網智數位 Java Script D3 過濾資料技巧</title>
    <link rel="stylesheet" type="text/css" href="styles.css"/>
    <script type="text/javascript" src="d3.js"></script>
< /head>

<body>

<script type="text/javascript">
    var data = [ // <- 程式碼註解 A
        {price: 200, category: "捲簾"},
        {price: 300, category: "直立式軌道"},
        {price: 350, category: "木片百葉窗"},
        {price: 500, category: "木竹簾羅馬"},
        {price: 1000, category: "電動軌道"},
        {price: 800, category: "蜂巢簾"},
        {price: 900, category: "百葉窗"},
        {price: 500, category: "壁紙"},
        {price: 300, category: "耐磨地板"},
        {price: 700, category: "衛浴"},
        {price: 400, category: "馬桶"}
    ];

    function render(data, category) {
        d3.select("body").selectAll("div.h-bar") // <- 程式碼註解 B
                .data(data)
            .enter()
            .append("div")
                .attr("class", "h-bar")
             .append("span");

        d3.select("body").selectAll("div.h-bar") // <- 程式碼註解 C
                .data(data)
            .exit().remove();

        d3.select("body").selectAll("div.h-bar") // <- 程式碼註解 D
                .data(data)
            .attr("class", "h-bar")
            .style("width", function (d) {
                 return (d.price) * 0.6 + "px";}
            )
             .select("span")
                .text(function (d) {
                     return d.category;
                });

        d3.select("body").selectAll("div.h-bar")
                .filter(function (d, i) { // <- 程式碼註解 E
                    return d.category == category;
                })
                .classed("selected", true);
    }

    render(data);

    function select(category) {
        render(data, category);
    }
< /script>

<div class="control-group">
    <button onclick="select('耐磨地板')">
        耐磨地板
    </button>
    <button onclick="select('電動軌道')">
        電動軌道
    </button>
    <button onclick="select('壁紙')">
        壁紙
    </button>
    <button onclick="select()">
        取消選取
    </button>
< /div>

</body>

</html>

重點程式碼講解:

1. 程式碼註解 A ,我在這邊宣告了 一個 data 變數,它存放了一系列 json 格式的物件,該物件 有 2個屬性 分別為 price(記錄價格)、category(記錄類型)。

     var data = [ // <- 程式碼註解 A
        {price: 200, category: "捲簾"},
        {price: 300, category: "直立式軌道"},
        {price: 350, category: "木片百葉窗"},
        {price: 500, category: "木竹簾羅馬"},
        {price: 1000, category: "電動軌道"},
        {price: 800, category: "蜂巢簾"},
        {price: 900, category: "百葉窗"},
         {price: 500, category: "壁紙"},
        {price: 300, category: "耐磨地板"},
         {price: 700, category: "衛浴"},
         {price: 400, category: "馬桶"}
     ];

2.程式碼註解 B,透過 D3 的選取方式

d3.select("body").selectAll("div.h-bar").data(data).enter()

這行程式碼,透將會將 所有數據與 網頁的 <div id=’h-bar’> ,做交集的動作,使得每個數據可以對應各自的 <div id=’h-bar’> 元素。

3.程式碼註解 D,將選取的  <div id=’h-bar’> ,根據 data 的 price 價格 用公式來設定長度,以及透過 text() 來設定文字。

d3.select("body").selectAll("div.h-bar") // <- 程式碼註解 D
                 .data(data)
             .attr("class", "h-bar")
             .style("width", function (d) {
                 return (d.price) * 0.6 + "px";}
             )
            .select("span")
                 .text(function (d) {
                     return d.category;
                 });

4.程式碼註解 E,也是最重要的,我根據 d3 支援的 filter()函數,來過濾要選擇的資料。

d3.select("body").selectAll("div.h-bar")
                 .filter(function (d, i) { // <- 程式碼註解 E
                     return d.category == category;
                 })
                .classed("selected", true);

其他參考文章
HTML CSS 動畫教學–【軟體開發(軟件開發)】
繪圖程式-折線圖、區域圖 實作一
產品報告與能源曲線分析系統
利用 JavaScript D3 在網頁動態產生直條圖(軟體開發、軟件開發)
Java Script D3 資料過濾教學(軟體設計、軟體開發)
利用 JavaScript D3 在網頁動態產生直條圖(軟體開發、軟件開發)


網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:
allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-5599-1310
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2017年11月29日 星期三

利用 JavaScript D3 在網頁動態產生直條圖(軟體開發、軟件開發)

       最近因為我再次改版窗簾產業的ERP軟體(窗簾產業真的是產品格式最多樣化,這又是個革命的軟體了,為了這個領域投入許多時間來了解產業知識),以及又承接越南的一系列的工廠生產系統與ERP,讓我沒有多餘時間可以分享技術文章,剛好近來網智數位開發團隊又承接南部大廠、以及群創科技大廠的10個工廠整合數據所需要的軟體開發案,需要用到大量的程式繪圖技術,之前我們如果遇到繪圖技術通常開發團隊都選擇用Windows Form 或 WPF相關技術直接程式繪圖產生,或者如果是企業商業軟體,我們常用報表開發工具,來產生一系列的數據圖表,有利於系統使用者,看圖來判斷數據、以利作決策分析、異常辨識統計,但這次客戶全部要求都是WEB化的資訊系統建置,所以我們全部採用了 Java Script 直接繪圖及時動態產生圖表。 
       也因為這樣所以我選擇寫一篇利用 Java Script D3 程式技術來示範教學,如何動態產生直條圖(當然也可以產生各式各樣的圖表、例如折線圖),不過這篇技術文章,我假設前提是讀者已經非常熟析Java Script 以及 HTML CSS 語法,也對 D3 有初步認識,或許以後我有機會也會補充撰寫 Java Script 與 D3 的文章。


該案例執行結果 畫面
 

image

在這個案例你首先要先下載 D3.js library (可以到 https://d3js.org/ 去下載最新的 D3.js 檔案,來引入在網頁理)
如下列程式碼,我就在 head 直接引用d3.js

<head>
     <meta charset="utf-8">
     <title>利用Java Sciprt Array 來產生圖表(網智數位)</title>
     <link rel="stylesheet" type="text/css" href="styles.css"/>
     <script type="text/javascript" src="d3.js"></script>
< /head>

接下來底下我寫了一個最主要的核心 Java Scirpt 程式碼 
<script type="text/javascript">
    var data = [   // <- 程式碼A
        {width: 30, color: 23},{width: 35, color: 33},
        {width: 50, color: 40},{width: 30, color: 60},
        {width: 60, color: 22},{width: 65, color: 10},
        {width: 65, color: 5},{width: 30, color: 30},
         {width: 30, color: 60},{width: 70, color: 90},
        {width: 15, color: 10}
    ];
   
    var colorScale = d3.scale.linear()
        .domain([0, 100])
        .range(["#add8e6", "blue"]);   // <- 程式碼B
    function render(data) {
        d3.select("body").selectAll("div.h-bar")
            .data(data)
            .enter().append("div")
                .attr("class", "h-bar")               
            .append("span");
        d3.select("body").selectAll("div.h-bar")
            .data(data)
            .exit().remove();
        d3.select("body").selectAll("div.h-bar")
            .data(data)
                .attr("class", "h-bar")
                .style("width", function (d) { // <-程式碼 C
                     return (d.width * 5) + "px"; // <- 程式碼D
                 })
                .style("background-color", function(d){
                     return colorScale(d.color); // <- 程式碼E
                 })
            .select("span")
                .text(function (d) {
                    return d.width; //  <-程式碼 F
                 });
    }
    function randVal() {
        return Math.round(Math.random() * 100);
    }
    setInterval(function () {
         data.shift();
        data.push({width: randVal(), color: randVal()});
        render(data);
    }, 1500);
    render(data);
< /script>

程式邏輯講解
程式碼A,主要是一堆有 Json 物件組成的陣列,而存在在變數 data 裡,這邊我只是單純為了講解,所以直接在程式開頭就把數據全部宣告起來,實務上在開發中,應該及時讀取後端資料庫、或者 WebAPI,取得 Jason 物件陣列.



程式碼B,主要是利用D3的一個 Scale 函數,這個函數可以接受一個數字參數,而轉換為標準的 CSS 顏色值。這個可以在程式碼E區段,套用漸層顏色的效果。

程式碼C,主要是利用 D3的選擇函數傳回的所有集合物件(就是網頁的HTML 標籤元素,在這邊是 div),套用在每個DIV的 Style 屬性,這邊我直接控制 Width 屬性,這樣就可以變更每個div元素的寬度尺寸。
程式碼D,宣告了一個function(d),而這個 d 參數實際上就是代表程式碼A裡 data 變數陣列的每個數據物件(Json)
function (d)
{
    return (d.width * 5) + "px";
    //這邊我可以直接使用 d.width ,因為 d 就是個jason物件, 而且擁有 width 屬性
}
程式碼E,套用 D3的 Scale函數,使得有漸層效果。
程式碼F,在透過 D3的 Select 函數,選取 <div> 裡面的子元素 <span>,然後在透過標準的 HTML DOM 支援的 text() 函數,動態設定數字文字。






其他參考文章
HTML CSS 動畫教學–【軟體開發(軟件開發)】
繪圖程式-折線圖、區域圖 實作一 
產品報告與能源曲線分析系統
       
       






網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-5599-1310
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2017年11月9日 星期四

ERP 系統在中小企業如何有效利用條碼與QRCode(軟體開發、軟件開發、客製化軟體)

       現行QRCode與條形碼技術都是一個有效整合編碼、印刷、識別、資料採集和處理於一身的新型技術,目前已被廣泛應用於商業、郵政、圖書管理、倉儲、工業生產、過程控制、交通等領域。




        QRCode與條碼都具有輸入速度快、資料採集量大、可靠性和準確度高等優點,是一種最經濟、最實用的自動識別技術。
 
        而目前為止,中小企業幾乎都會積極進行ERP 的導入與建置,但是成功上線的公司卻鳳毛麟角。而造成系統不能成功上線的原因大部分都是資料收集問題,所謂三分軟體,七分資料,可見資料對於整個系統導入成功的影響至關重要,如何將條形碼技術嵌入到ERP 系統中或使用QRCode來快速整合應用,進而提高ERP 系統基礎資料的採集效率,是擺在企業ERP 資訊部門面前的新課題。



        網智數位-軟體開發團隊,專門協助中小型企業,成功將量身開發的ERP 軟體與條碼技術、QRCode 進行整合,實現了ERP 系統部分資料輸入、輸出流程,從人工操作到條碼化操作的轉變,從而提高了人工的效率,確保了ERP 主要資訊的統一性和準確性。
 
1 圖形條碼技術的原理和過程
 
目前,常見的條碼是由寬度不同、反射率不同的條和空按照一定的編碼規則編制成的,用以表達一組數字或字母符號訊息的圖形識別碼。即:條碼是一組粗細不同,按照一定的規則安排間距的平行線條圖形。產檢的條碼是由反射率相差很大的黑條和白條組成的。由於不同顏色的物體,其反射的可見光的波長不同,白色物體能反射各種波長的可見光,黑色物體則吸收各種波長的可見光,所以當條碼掃描器光源發出的光,照射到黑白相間的條碼上時,通過反射使光電轉換器接收到與白條和黑條相應的強弱不同的反射光信號,並轉換成相應的電信號輸出到放大整形電路。這樣,便得到了被辨讀的條碼符合的條和空的數目及相應的寬度和所用碼製,根據碼製所對應的編碼規則,便可將條形符號換成相應的數字字符訊息,通過接口電路送計算機進行資料處理與管理,便完成了條碼辨讀的全過程。
 
2 幫中小企業ERP 建設中遇到的資料問題
 
資訊化時代下,無論大中小企業都在進行資訊化與行動化建設,尤其對於許多企業在庫存物料種類多達 5000 ~ 8000 種,甚至上萬種物料,出入庫也很頻繁,僅僅依靠原來的人工錄入資料,資料的質量可想而知,肯定會有很多錯誤和缺陷。在生產方面,產品種類多,結構複雜,產品更新速度加快,對於產品質量的跟踪僅僅依靠ERP 系統也不能達到很好跟踪效果。在銷售方面,不同型號的產品源源不斷地投向市場,流向台灣各個縣市甚至其他國家區域,這些產品的跟踪記錄也是對中小企業資訊系統建置的一個考驗。而在庫存盤點方面,面對龐大的資料,倉庫管理人員通常都是抓大放小,造成庫存部門物料資訊不準確,進而是MRP 的運算不能發揮功效;要嘛花費大量的時間盤點整理資料,在盤點和整理資料中也會出現很多人為的錯誤。圖形條碼技術在ERP 中的應用,有效地解決了上述問題。



    
3 條碼技術在企業ERP 中的具體應用


    
 
3.1 條碼技術在倉儲管理模組的應用
 
在倉儲管理模塊中,可將庫存的物料訊息、貨位訊息打印製作成條形碼,即將物料按物料屬性、功能參數、價格高低、放置的合理貨位進行記錄,這樣,就可以將物料訊息和貨位訊息進行綁定。整理物料和貨位訊息是訊息化建設的基礎,沒有準確的物料訊息,訊息化建設就是一張白紙。而將物料訊息和貨位訊息綁定後,就可以對庫存的物料進行盤點。這樣,不但可以按貨位盤點,也可以按物料屬性進行盤點。盤點時,掃描條形碼即可調出物料名稱、規格型號、貨位、庫存數量、批次、盤點數量等訊息,然後將盤點資料輸入、保存即可完成對該條資料的盤點。另外,用入庫掃描機製作二維代碼,當物資和設備被調入庫時,操作人員將待存儲物資的名稱、規​​格型號、日期、批次、使用情況等訊息輸入PC 機,經過PC 機管理軟件製造出二維條碼並通過條碼打印機打印,然後粘貼在待入庫物資的表面。而掃描出庫時,物資需要出庫並登記時,由PC 機調集資料,向二維掃描槍發送出庫單,由掃描槍掃描物資上的條碼,完成後再將資料返回到PC 機,計算機收到訊息後,通過局域網送到資料庫,就可以更新庫存,完成出庫。而移庫管理時,倉庫對實物按庫位進行管理,統提供移庫管理功能,可實現庫位間的相互移動,以達到各庫位間商品的準確性。因此,出入庫、移庫、庫存盤點等功能的訊息輸入,就不需要依靠手工輸入,從而大大簡化了倉庫人員的操作難度和強度,為基礎訊息資訊的建設打下了堅實的基礎。



3.2 條碼技術在採購模組的應用
 
有了準確的庫存訊息、生產的產品計劃、產品的BOM 訊息,物料的在途、已佔用訊息,通過MRP 運算就能提供一份準確的物料需求計劃。根據這份物料需求計劃,採購部門就能製定相應的採購計劃進行採購作業。值得注意的是,當採購人員與供應商進行訂單及合約簽訂時,將物料的訊息屬性也傳達給了供應商。供應商提供出庫清單時,即包括本單位的物料條碼,此訂單號將作為該物料的批次進入來料接收、產品檢驗入庫、產品入庫各個環節,該批次條碼也在入庫、出庫,半成品、部件、產品中流轉。


 
3.3 條碼技術在生產模塊的應用
 
在生產環節,部件是由一個個原材料部件組成的,對於關鍵原材料都有對應的批次代碼,能追溯到採購的批次,同時部件本身也有批次碼,用於記錄生產該部件的時間及生產人員。依此類推,產品主機中又有大量的部件批次代碼。掃描主機就能調出關鍵部件的批次及生產時間,依次能展開這個產品的樹狀結構,直至用到那個批次的原材料。條碼技術的應用為產品質量的跟踪打下了基礎,實現了正向追溯和反向追溯,關注於從原材料採購到形成最終產品的可追溯性。通過分析最終產品與其組成部分(原材料、零件、部件和組件等)的批次組成關係,追溯產品批次及其加工歷史,以確定缺陷產品的分佈情況並找到缺陷產品產生的原因,進而對缺陷產品進行召回。


 
3.4 條碼技術在銷售模組的應用
 
產品在銷售環節,也要將唯一的產品機號與客戶的訂單綁定,由此從供應商到客戶的整個物流鏈通過一個個條形碼連接起來。產品包裝​​上的條碼訊息,可通過條碼掃描槍或者資料採集器採集該貨品條碼,實時核查本批產品所屬訂單號、產品代碼、明細規格、訂單數量及發貨日期等訊息。當客戶產品出貨時,用掃描器掃描出貨產品條碼,自動生成ERP 系統銷售出庫單,出庫單關聯銷售訂單號、客戶資訊等。


 
4 結論
 
條碼技術在ERP 中的應用,彌補了ERP 偏重對計劃的管控而無法監控物流現場執行情況的缺陷,也是企業物流過程透明化管理的有效途徑。一個個條碼從出入庫指令下達到產品完成,從供應商的採購到銷售環節的客戶的大物流中流轉,使整個過程清晰可見,可對產品的質量進行控制,同時也可對整個物流進行優化。通過一個個條碼,可實時獲取現場在製品、物料、物流過程各個環節的各種資訊。




網智數位-軟體開發,專門針對客戶進行量身設計的客製化軟體,已有多年經驗,也在不同產業領域都有實作成功案例。

(作者其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
庫存目標6大範疇(程式開發、程式設計、軟體開發、系統開發)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) - 專文介紹
如何利用軟體來協助企業銷售統計和分析
開發進銷存、ERP、PDM,物料欄位收集與建立重要性(ERP開發、軟體開發、進銷存)
ERP 各種計劃階段的差異
ERP 系統的淺談與優勢
ERP 系統在中小企業如何有效利用條碼與QRCode
[ ERP/MRP 系統 ] - 專案導入深入剖析
ERP 導入的投資報酬評估(ERP客製化、進銷存軟體)
ERP 與 CRM 整合對企業的重要性(軟體開發、ERP客製化)
ERP思維突破:啟動企業智能革命,引領未來行銷新浪潮
AI時代的ERP:釋放企業潛能的新革命



網智數位-開發團隊

一直突破開發技術、累積各種產業知識,而且在出版業、室內設計裝潢業、製造業、機電顧問、貿易、地板、窗簾、窗材、拉門、布料業的商業管理軟體投入有特別的領域知識、也在圖控軟體(圖控軟件)、機械手臂、 Android APP 、iPhone APP、3D列印 開發一直突破再創新,我們也堅持相信好的軟體可以協助企業,不管在管理營運角度、商品創新、決策分析等都絕對是不可缺少的關鍵因素,如果客戶您有任何軟體開發、程式開發委外需求,請聯繫我們讓我們協助您一起討論如何開發一個好的軟體來協助您。




網智數位-軟體開發(軟件開發) 

針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen








2017年9月27日 星期三

(軟體開發、軟件開發、程式開發)產品報告與能源曲線分析系統

       我們軟體開發團隊協助台灣最大的泵浦、機械軸封及聯軸器廠商,開發一個各種設備能源評估、價格建議的系統平台,協助客戶的業務可以精確地輸入潛在消費者的需求建議與評估,進而推薦可以使用的產品設備。
        
       該平台我們也採用了微軟雲端的解決方案,協助客戶可以不用投入過多的電腦設備、以及IT人員維護,而且也可以隨著使用人數的遞增自動的加強雲端的效能,在不是尖峰使用時刻,自動降低系統效能,來節省整體的系統預算。

a26fbe53-b04e-4e97-8dba-c0d0a33db648

aaa
    
   

詳細更完整的功能說明,可以聯繫我們….



網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen

2017年9月6日 星期三

【軟體開發、系統開發、程式開發】多執行緒多任務存取相同變數,隔離保留各自任務的值 ThreadLocal 技術講解

      在講解幾篇關於多工、多執行緒、平行作業的技術文章後,想來談談另外一個深入的關鍵多多執行緒的問題,那就是多執行緒(多工)作業模式下,如何存取相同變數值,而且又希望各自的執行緒對相同變數又有各自的“值”。 
      在 .Net 技術平台下,有個 ThreadLocal<T> 的泛型類別,這個類別可以專門用於有多個執行緒需要共同存取一個變數,但每個執行緒對這個變數的值,又個別記錄隔離儲存,互不影響。我舉個例子來說明,有執行緒A、執行緒B、執行緒C、執行緒D,這四個執行緒平行作業,將共同存取一個變數 X ,但在執行緒A存取變數X時,設定值為 10;執行緒B存取變數X時,設定值為 20;執行緒C存取變數X時,設定值為 30;執行緒D存取變數X時,設定值為 40; 在執行緒A設定 X變數值為 10時,並不會影響到 執行緒 B/C/D 各自設定的 X 變數值。 
     一樣在此,我透過一個程式範例來進行實例說明,這個專案類型就簡單用 Console 控制台類型來引導… 
完整程式碼如下: 
namespace NetQna.Demo
{
    /// <summary>
    /// ThreadLocal 示範教學(網智數位-軟體開發)
    /// </summary>
    public class Program
    {
        /// <summary>
        /// 所有執行緒共同存取的變數值
        /// </summary>
        static ThreadLocal<int> X = new ThreadLocal<int>();


        static void ExecThreadTask(object obj)
        {
            ThreadEntity currThread = (ThreadEntity)obj;
            //在各自的執行緒環境設定 X 變數值,觀察各自的執行緒下,X 變數值各自記錄
            X.Value = currThread.ThreadValue;


            //顯示出 目前所在的執行緒 的值
            Console.WriteLine($"現在的執行緒 ID:{Thread.CurrentThread.ManagedThreadId},{nameof(X)}變數值為:{X.Value}。");
            //顯示出 目前所在的執行緒 的值
            Console.WriteLine($"現在的執行緒 名稱:{currThread.ThreadName},{nameof(X)}變數值為:{X.Value}。");
            Console.WriteLine();
        }


        static void Main(string[] args)
        {


            Dictionary<string, int> threadABCD = new Dictionary<string, int> { { "A", 10 }, { "B", 20 }, { "C", 30 }, { "D", 40 } };

            //分別啟動 A、B、C、D 執行緒,並執行 存取 X 變數值
            foreach (var t in threadABCD)
            {
                ThreadEntity obj = new ThreadEntity { ThreadName = t.Key, ThreadValue = t.Value };


                //Action<string, int> action = ExecThreadTask(t.Key, t.Value);
                Thread currThread = new Thread(ExecThreadTask);
                currThread.Start(obj);


                //這邊我刻意停頓 1 秒,以利顯示各自執行緒
                Thread.Sleep(1000);
             }


            Console.Read();

            X.Dispose(); //X 變數 釋放
        }



        public class ThreadEntity
        {
            public string ThreadName { get; set; }
             public int ThreadValue { get; set; }


        }
    }
}


程式說明講解
1


一開始我宣告一個屬性變數為 X ,也就是今天講解主要的類別 ThreadLocal,
待會就是用 這個 X 變數,來讓所有執行緒進行存取設定 X 變數值。
 


2 

宣告一個帶有 object 參數的方法,待會就是要讓所有執行緒去各自執行這個方法,這個方法主要我將  object 型態 的 參數 obj 轉型為我自己宣告的類別 ThreadEntity 類別(PS:因為 Thread 建構子對應的方法的參數只能是 object 型態,所以我透過轉型來避開這限制)。

public class ThreadEntity
{
    public string ThreadName { get; set; }
     public int ThreadValue { get; set; }


}

最關鍵的地方,我在這個方法設定了各自執行緒要對應的 X 變數值 
//在各自的執行緒環境設定 X 變數值,觀察各自的執行緒下,X 變數值各自記錄
X.Value = currThread.ThreadValue;

3 

我這邊分別建立 A、B、C、D 四個執行緒,然後分別設定他們待會要指定 X 變數的值為(10、20、30、40)。 


程式執行結果如下圖
d
 

可以看出 A、B、C、D執行緒各自維護自己 X 變數的值。


參考文章 C#多工作業與平行處理技術講解
1.透過 Thread 類別撰寫多執行緒多工作業。
2.透過 Delegate 委託支援的方法,撰寫非同步任務。
3-1.透過 Parallel 類別操控多任務平行作業(一)。
3-2. 透過 Parallel 類別操控多任務平行作業(二)。
4.使用 Task 自行控制非同步任務作業。
5.在非同步作業時,如何取消非同步任務。
6.多執行緒多任務存取相同變數,但卻各自隔離保留各自任務的值。
7.非同步存取變數的問題。
8.非同步資源鎖定解決方式。




網智數位-軟體開發(軟件開發)
針對各特殊產業都可以量身定做符合貴公司的需求,別人無法克服的就是我們的挑戰
業務合作、軟體委外開發
業務窗口:allen@netqna.com
聯繫電話:0920-883-870
公司電話:02-55991310
公司地址(業務營運處):台北市中山區錦州街 25 號 5 樓
skype: netqna
line:netqna
微信:netqna
黃先生 Allen