標籤: 軟體

進銷存-進口買賣業解決方案 (軟體開發、客製化軟體、程式開發、程式設計)

     去年被一家經營國際貿易美妝護膚用品的客戶委託開發符合該客戶營運流程與產品特性的進銷存管理系統委託案,該客戶事實上很久以前就找過網智數位進行量身定做的軟體開發要求,但因為當時我們與一家國外知名玩具的代工廠合作一系列的工廠自動化、MRP/ERP軟體開發案,因為時程問題覺得無法在時間點協助客戶完成軟體客製化需求,所以遲遲沒有承接,而經過1~2年該客戶還是找上我們,因為這期間客戶找了好多家市面上的套裝進銷存軟體、庫存管理軟體,但就是都無法滿足客戶在處理進出口成本計算、庫存銷量的分析角度來輔助跟國外進口物品的參考統計數字,所以又再次與我們細談,覺得我們量身定做可以滿足客戶的需求,合作案就正式開始了…

 

進貨單-部分功能畫面

image

進貨多筆新增-便利操作

image

週期性庫存銷售量分析

image

 

    今天,我帶工程師正式將開發完畢的軟體上線,到客戶端進行教育訓練,看到一個好的軟體可以真的讓客戶滿足、協助客戶的管理、分析、流程整合, 也可以進行各種成本、不同角度的成本查看、不同週期的銷售量分析、業務負責區域業績查看,這也是軟體所帶來的一種無形的價值,我與客戶也深信我們的用心開發,未來客戶的軟體需求只會不斷的加強、藉由軟體的管理輔助,客戶提高管理績效、我們也有軟體開發的成就感,這就是打造雙贏的合作案。

    網智數位-軟體開發團隊成員幾乎以前都是在知名軟體公司、上市公司服務超過10年以上的經驗,在商用軟體、工業軟體、系統整合都有非常好的經驗,也是知名航空公司的教育訓練委託合作案、電腦大廠清華同方的軟體開發解決方案合作廠商等等。

 

 

 

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

ERP 各種計劃階段的差異

      企業資源規劃(ERP)就是通過資訊科技技術等手段,實現企業內部資源的共享和協同,克服企業中的官僚制約,使得各業務流程無縫平滑地銜接,從而提高管理的效率和業務的精確度,提高企業的盈利能力,降低交易成本。 ERP系統是由計劃驅動的。它有5個層次:經營規劃、銷售與運營計劃(生產規劃)、主生產計劃、物料需求計劃和車間作業計劃(或採購作業計劃),如圖1所示。其中,經營規劃和生產規劃屬於宏觀層次,主生產計劃是宏觀向微觀過渡的層次,物料需求計劃是微觀計劃的開始,車間作業計劃(或採購作業計劃)則是​​進入執行或控制計劃的階段。通常把前3個層次稱為主控計劃,說明它們是製定企業經營戰略目標的層次。

christina-wocintechchat-com-Q8IgAlmHAUA-unsplash

    一、經營規劃

    企業的計劃是從長遠的戰略規劃開始的,這個戰略規劃在ERP系統中稱為經營規劃。企業的經營規劃是計劃的最高層次,是企業總目標的具體體現。企業的高層決策者,根據市場調查和需求分析、國家有關政策、企業資源能力和歷史狀況、同行競爭對手的情況等有關信息,制定經營規劃。它包括在未來2~7年的時間內,本企業生產產品的品種及市場定位、預期的市場佔有率、產品的年銷售額、年利潤額、生產率、生產能力規劃、職工隊伍建設等。

    企業經營規劃的目標,通常以貨幣或金額表達。這是企業的總體目標,也是ERP系統其他各層計劃的依據。所有層次的計劃,歸根結底,只是對經營規劃的進一步具體化,而不允許偏離經營規劃。經營規劃的製定要考慮企業現有的資源情況以及未來可以獲得的資源情況,具有較大的預測成分。

    二、銷售與運營計劃

    銷售與運營計劃S&OP(Sales and Operation Panning)也叫生產規劃,是根據經營規劃的目標,確定企業的每一類產品在未來的1―3年內,每年每月生“多少及需要哪些資源。其作用是:

    1. 將經營規劃中用貨幣表達的目標轉換為用產品系列的產量來表達。

    2. 制定一個均衡的月生產率,以便均衡地利用資源,保持穩定生​​產。

    3. 控制拖欠量(對MTO)或庫存量(對MTS)。

    4. 作為編制主生產計劃(MPS)的依據。

    此外,銷售與運營計劃還要整合規劃過程。這是因為,銷售規劃並不一定和生產規劃完全一致。例如,有些產品的銷售規劃要反映季節性需求變化,而生產規劃則要考慮生產線的均衡生產。另外,在不同的生產銷售環境下,生產規劃的側重點也會不相同,例如,對現貨生產(MTS)類型的產品,生產規劃在確定月產率時,需要考慮已有的庫存量。如果要提高成品庫存資金周轉次數,年末庫存就要低於年初,那么生產規劃的月產量就必須低於銷售規劃的預測值,不足部分用消耗庫存量來彌補。

    三、主生產計劃

    主生產計劃MPS(Master Production Schedule)是以生產計劃大綱為依據,按時間段計劃企業應生產的最終產品的數量和交貨期,並在生產需求與可用資源之間作出平衡。

    四、物料需求計劃

    物料需求計劃是根據主生產計劃對最終產品的需求數量和交貨期,推導出構成產品的零部件及材料的需求數量和需求日期,直至導出自製零部件的製造訂單下達日期和採購件的採購訂單發放日期,並進行需求資源和可用能力之間的進一步平衡。

    五、車間作業計劃與採購作業計劃

    車間作業計劃也叫車間作業控制PAC(Production Activity Control),是企業計劃的最底層。其任務就是根據MRP生成的零部件生產計劃編制出工序排產計劃。對於採購件,則編制出物料採購計劃,但採購作業計劃不涉及企業本身的能力資源。

    總之,ERP任何一個計劃層次都應包括需求和供給兩個方面,也就是需求計劃和能力計劃。要進行不同深度的供需平衡,並根據反饋的信息,運用模擬方法加以調整或修訂。上一層的計劃是下一層計劃的依據,下層計劃要符合上層計劃的要求。如果下層計劃偏離了企業的經營規劃,即使計劃執行得再好也將是沒有意義的。整個企業遵循一個統一的計劃,只是ERP系統最基本的要求。劃分ERP系統計劃層次的目的是為了體現計劃管理由宏觀到微觀、由戰略到戰術、由粗到細的深化過程。計劃和控制是ERP的目標手段。計劃是為達到一定的目標而製定的行動方案;控制是為保證計劃完成而採取的措施。

(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) – 專文介紹
ERP 系統的淺談與優勢
庫存目標6大範疇

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

 

VR/AR 軟體開發 ,CES國際展覽

      今天下午客戶傳訊息給我,告知我們參與開發的 VR/AR 虛擬實境管理軟體,在國際的 CES(全球最大科技展消費性電子展(CES)) 進行展覽,事實上看到這段國際展覽影片還滿開心,公司團隊開發的產品能夠幫助客戶在CES展覽有幫助,也是一點點的小成就感,希望網智數位-開發團隊,在各開發領域能夠繼續一直不斷向前、研發能力也能夠繼續突破,用資訊技術幫客戶達到各種企業競爭力、整合能力。

 

article-586f03d485601

 

  下列的 VR / AR 互動控制,就是我司團隊參與軟體開發

https://www.youtube.com/watch?v=PWiRs86DuKk

 

 

 

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

 

軟體公司與網路(互聯網)公司之差異性(軟體開發、客製化軟體、程式設計)

    在現行許多軟體公司與網路(互聯網)公司在客戶面、獲利來源、以及市場區隔性、差異性,讓很多人有點分不清楚,這兩者在本質上是有一定的落差,不論是商業模式、獲利來源、團隊人才取捨,而 Allen 我自2003年進入.NET程式平台開發領域(早起是開發 LAMP,Linux + Apache + MySQL +PHP),這快15年的.Net技術迭代更新,我能跟隨學習的就盡力,當然也犧牲了生活品質質量,我期間經歷過專業的管理軟體公司、網路公司,也有國內上市企業服務、傳統產業擔任資訊部經理,深感其中的差異,撰寫文件分析兩者的聯繫和區別,供其他疑惑者的朋友可以進行思考我的論點(當然不一定是對)。

LINE_ALBUM_AI產生圖_240212_750

IT 技術的選擇差異性

(一)管理軟體公司著重於業務實現、產業領域知識的導入、企業流程的整合,網路公司著重於高並發、高可用、使用者體驗、操作介面友善性等;在企業管理軟體的使用者一般是企業或各工廠各部門行政人員,一個大公司也不過10~300個使用者同時上線,所以相對一定是對與企業的業務流程的實現與整合相對要求高,這樣才可以節省人力、降低人事成本,而不是增加成本,當然有的管理軟體提供了大量的簽核審批的機制、功能,每走一個流程,每確認一個步驟(下訂單,發貨,產生發票,請收款)都要審核,我個人認為這樣的管理軟體是增加使用者的成本,進而降低效率,我們把企業、工廠當成一個合作的整體存在,業務部負責下訂單,生產部負責在規定的時間完成訂單生產,採購負責及時的購買所需要的生產物料,這是一個密不可分的整體化運作,任何一個環節卡住會造成訊息溝通的不流暢,更甚至會導致生產停滯、呆料,我在多年以前,我們在網上註冊一個帳號,輸入帳號、密碼等,提交時提示電子郵件必須輸入,這時我們輸入的密碼也會被清空,對於非常重視使用者經驗的網路公司,勢必一定會考慮到這種案例,系統需要幫忙我們記住之前輸入的密碼,這時只需要輸入電子郵件即可再次發送。

(二)單純的軟體開發公司用的技術相對來說一般是比較老的,穩定的,成熟的技術。比如.WCF、Windows Forms、WPF、Web Forms、ASP.MVC,而網路公司走向一般會追求新的技術,比如Spark、Redis、Micro Servie(所謂的微服務)、Hadoop、Node.js 等。單純軟體公司會使用 SQL Server Analysis Services作為 OLAP 的分析工具,而新的網路公司可能會採用 Spark + Hadoop 等大數據技術來達成實作的可能性,如果工程師在喜歡搞技術創新的管理軟體公司上班,常常會活的比較痛苦。如Linq to SQL出了沒多久,Entity Framework出現,Silverlight,WPF後來也是逐漸從公眾視野中消失。 ASP.NET MVC的出現,大批Web Forms程序員找工作變難了。現在ASP.NET Core 的又出現,不曉得會不會導致ASP.NET MVC 程式設計師的資訊焦慮症候群。

(三)管理軟體公司的技術升級常常來自於內部本身的程式開發人員,而網路公司的技術變更多的來源於客戶、業務需求。正所謂成也蕭何,敗也蕭何;但處於軟體行業頂端的軟體公司創造技術解決問題,提供開發工具維持企業利潤,中小公司則應用技術解決業務問題。軟件業相當頻繁的技術更新,造成了大批老技術程序開發人員失業,從而進一步增加了軟件公司的生存成本,例如現在市場上幾乎找不到或是很少能找到VB6 或 Cobol 程式設計師,還有一些我們沒有聽說過的技術(他們的確存在於現實的公司中、例如 cobol,今年我們就有要評估一個大型系統是 cobol要轉變為.Net平台的評估案),VB6 開發人員要嗎失業,要嗎轉型,那麼軟體公司呢,大量的用Delphi開發人員的,非常優秀的VB6 開發還是需要人員維護,軟體公司面臨兩個選擇:要嗎用新技術重寫,要嗎養幾個老開發人員一直做維護。軟體公司的老闆都是人精,不可能將公司的未來受一兩個程序開發人員控制,所以就用前一種方案,用新技術改寫,這樣的目的主要是好招人,老程式員離職了再招新開發人員,努力將公司的命運控制在自己手中。以前我們公司的C/S(Windows Forms、WPF)程式開發人員常常會擔憂以後找不到工作,當時身為他們的直接主管,常常需要體會他們的這種壓力。技術上要將一些通用的重要的技術方案交給他們做,讓他們建立信心,同時也給他們安排一些熱門技術的培訓課程,作為管理人員,也需要對他們的未來負責,對他們的績效給予一定的相對優質的評定。網路公司的IT技術變更,比如大數據的需求,數據的來源形式和格式多種多樣,原有數據挖掘方案解決不了,迫切需要做技術變更以適應這種變化。於是就有對Hadoop,Spark這種大數據技術的需求,更厲害的網路公司甚至於重建一套大數據平台,以保證一直處於行業領先地位。

團隊組織文化的差異性

(一)軟體公司適合純技術人員生存,網路公司則相對重運維+技術。比如上一節我提到的緩存技術,網路公司將此發揚光大,提供一整套的分散式解決方案(Redis,MongoDB)。程式開發人員不僅僅要會調用API,還需要Deploy部署服務器,理解它們的內部運作機制原理,而在軟體公司,為了增加產品的高可用性,我們提供集群,鏡像,資料庫複寫,資料庫記錄檔(日誌)等技術,我們可以保證系統 7*24 不間斷運作。而網路公司對此要求更高,他們還要求高並發。我們知道資料存在硬碟上,讀取資料或保存資料是一個很合理的操作,管理軟體增刪查詢修改都是這樣模式,但網路公司對此還不滿意,因為多人並發的存在,資料必須要保存在記憶體中才能滿足快速的高並發地需求,當然還有高可擴展性,為了升級管理軟體,我們停止伺服器程式,或者直接重新啟動下機器是很常見的操作,但網路公司對此零容忍,他們要求更新系統時,不能停止服務,或是非常短暫(秒級)的停止服務。後者要求系統可以做到熱插撥,這跟USB接口做到熱插撥並成為業界標準是同一個趨勢,我們知道Oracle升級補丁包時,可以不用停止資料引擎服務,這個特性對網路公司非常重要(SQL Server用鏡像技術也可以達到此目的)。總體來說,管理軟體公司只需要把技術做好,而互聯網公司要求在技術之外,還需要了解運維層面的知識。

( 二)單純的軟體公司的同事頭腦相對固定(當然也聰明,能從事軟體業,相對一定是邏輯思維能力一定不錯),網路公司則靈活一些,它們存在的理由是創新。管理軟體作為一種管理思想的軟體整合實現,應該是一種管理模式,方法和思路與流程的固化,不允許或是少量允許變化。試想一下,規定的流程不跑,數據沒經過運算,自然沒有想要的結果。舉例說明,大部分的ERP軟件約定的流程,客戶下訂單,物控部跑MRP計劃,產生物料採購需求和半成品的加工需求,最後成品完成入庫,向客戶發貨,財務結算等。這是製造業ERP的基本流程,不過貿易公司的ERP則可以不這樣跑,可以直接向供應商下訂單,然後發貨到客戶,自己甚至都不用租賃倉庫,直接提供供應商到用戶的端到端(直運業務)業務模式。這些思路決定了管理軟件不需要創新,按照約定俗成的或是上司規定的流程完成即可。常此在這樣的思路下工作,人會失去創新血液。管理軟件的員工常常會被產品設計人員的思路導向,創新會自食惡果。而網路公司則相對充滿著創新的動力。

(三) 在管理軟體公司是人才培養的搖籃,通常軟體公司規模也偏小,但確實是產生高級工程師的地方。網路公司因為業務變更頻繁,技術更新迭代快,不適合純技術人員生存,常常是技術人員走管理,轉業務銷售的地方,在軟體公司有明確的人才培養方案,一個資深開發人員帶幾個年輕程式設計師,像老母雞帶小雞一樣,一步步教導這個怎麼實現,那個如何設計會更有效率一些,直到新人變老手,初級程序員變中級工程師。比如我們在管理軟體公司學到的,借助於緩存可以提高效率,改善性能,用反射技術可以做成插件式系統,用動態語言可以把系統做成可擴展的,這些技術隨著程序員年歲的增長,慢慢學會並靈活應用。網路公司因為技術變更快,Web 2.0、雲計算、物聯網、車輛網,大數據,技術更新非常頻繁,只有達到壟斷級別的公司才可以生存。我們都是凡人,能進入各個領域的壟斷級別的公司都非常不容易,即使進入,項目迭代周期短,KPI壓力大。 (我這裡說的適合於中小公司,大公司不適合於此小節描述。)

銷售模式與市場競爭差異性

(一)單純軟體公司的人員相對比較起來缺少銷售觀念,而網路公司員工更多的會關注到到商機,常常會考慮把技術轉化為價值,而管理軟體公司的員工則比較缺乏市場的積極性、參與了解動能不足,他們可能還在研究新版本的開發工具有哪些產品特性,期待以拖放的方式就能設計出工作流的軟體廠商,所以如果能把幾年工作的成果抽象提煉出來,形成一些公共的開發類庫,方便以後的開發,這是一個小小的進步。進一步的,能把管理軟體中相同的操作界面和模式總結出來,做出一些相對通用的界面和控制箱,比如資料的輸入Entry,資料的查詢Query,資料的清單 List,設計報表Report,資料查找Lookup,自定義查詢Query等,初步形成一個開發框架。再進一步,我們用自己提煉的開發框架,用自己參與和理解的技術理念,做出一套產品,這也算是一個小小的進步。技術進步的每一個階段都可以為你的職業發展帶來無窮的好處。熟練的程序員再也不擔心找工作沒人要。成為一個領域的資深開發人員,可以為自己贏取技術主管或經理的職位。做出一個領域或行業的產品,如果在合適的時機碰上會做市場的銷售人員,創業也是非常有可能的,記得一句話,夢想是要有的,萬一實現了呢?

(二) 網路公司相對容易產出新概念,新名詞以吸引大眾眼球,以此創造概念經濟,而單純軟體公司相對比較墨守成規,比如我在2006年所經歷的Web 2.0,那時滿大街的都是這種宣傳材料,沒過多久這種概念就過時了。正如現在鼓勵創業氛圍,雲計算服務,物聯網、車聯網、智慧家庭以及大數據等等,相信不久也會從我們的公眾視野中消失,當然也可能產生非常大的市場規模,但我相信市場一定會大洗牌,取而代之的是大批的網路公司、物聯網消失不見,而管理軟體公司則很少會這樣,MRP,ERP還是上世紀90年代的概念,現在仍然適合於企業管理軟體的設計思路。儘管ERP之後還有產生ERP II概念,不過也不怎麼流行。管理軟件公司相對務實,能把物料需求計劃(MRP)跑流暢,基本上公司的信息化水平就上了一個大台階,也不會再去追求管理創新。金融也是一個不適合創新的領域,記得 一個經濟學家說過,我們應該將所有的經濟學家從社會上去除,因為金融改革就是擾亂社會秩序。國際金融炒家索羅斯的至理名言也曾表述,我們就是為了創造一種假象,然後在人們認識到真相前提前退出遊戲。

     在這幾天連假看到網路詢問未來趨勢、以及思考許多資深從業人員後,隨意整理撰寫的文章,希望新的2017年有嶄新的開始,軟體業、網路業、IT技術 我依然熱愛,一生與它為伍。

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

感謝2016年,邁向2017年新目標(軟體開發、客製化軟體、系統設計)

       新的一年2017年的開始,我非常感謝我團隊的付出,去年成績成長了許多,也因此積極擴充了團隊人數(也歡迎相關人才加入我公司團隊),尤其最讓我開心的是委託我們進行軟體客製化服務的幾乎都是該產業領域的佼佼者,例如地板業企業管理軟體、窗簾業ERP、馬達業-產品選型系統、機電顧問業-紅外線與局部放電測試管理軟體、醫療生技上櫃公司、大陸集團清華同方、以及工業冷凍空調設備、全凍式儲冰的領導廠商進行-圖控軟體開發功能擴充專案、還是其他林林總總的進銷存、網頁設計委託案,這都是客戶對網智數位的信任,當然還有許多還必須繼續開發改進的。

LINE_ALBUM_AI產生圖_240211_88

        在這邊我也代表網智數位-軟體開發團隊,感謝客戶的信任,專案開發過程中會有問題的產生、時間的磨合、知識的互相學習,我也期待內部團隊在經歷各種專案壓力下,吸收各客戶的經驗,保持開發一個好的軟體,為客戶帶來實際的效益。

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

ERP 系統的淺談與優勢 (軟體開發、客製化軟體、程式開發)

ERP已經是一個成熟多年的老詞彙,而ERP的全稱是Enterprise Resources Plannig,中文又叫企業資源管理計劃系統;它是基於先進的企業管理理念下研發出來的一款應用資訊花技術系統,它可以對整個企業與組織,來實現資源整體化、一致化管理的企業管理工具。

LINE_ALBUM_AI產生圖_240211_46

它自從在90年代後期ERP從美國流傳到台灣,為國內的傳統企業管理體制改革注入了一種新的活力。目前ERP已經成為了各大中型企業不可或缺的重要管理工具,也是企業是否進行資訊化、系統化和企業化現代化的的重要衡量標準。 ERP專案是一個企業管理系統工程,而不是一般意義上的企業管理資訊系統工程或者是企業資訊化建設工程,這是因為整個管理系統不但基於ERP、系統工程和資訊技術等現代科學技術的思想、原理和方法,而且還從本質上充分地體現了企業應用ERP與開展企業管理創新、推進企業管理現代化和提高企業競爭力的必然關係。

1、銷售:銷售部門接客戶採購計劃,根據客戶要求,查看是否有庫存,有-即給客戶發貨;無-即下生產任務給生產部門,要求安排生產;待成品機器完工後,即可給客戶發貨。

2、生產:生產部門接銷售部任務,向生產車間下達生產任務,可依據庫存,向採購部門請購有關零部件。完工後,入庫供銷售部發貨。

3、採購:採購部門依據所接請購任務和庫存情況,向材料供應商採購料品。

4、庫存:倉庫根據零部件的安全庫存量向採購部門請購零部件。依據生產車間的生產領料單給車間發料。

5、財務:進行成本計算、稽核財務支出是否有異常。

我簡單的來說,ERP 就是一個企業資源計劃系統.它是由美國著名的計算機技術顧問和評估集團Garter Group 公司提出的一整套企業管理系統體系標準,是指建立在資訊技術基礎上,以提高企業資源效能為系統思想,為企業提供業務集成運行中的資源管理方案。

所以事實上 ERP 絕對並不單單是一個軟件工具,它的核心是一個個先進的管理理念,它的出現實現了企業資源的整合、分析和高效的利用。通過它我們可以將公司的人、財、物、產、供、銷及相應的物流、信息流、資金流、管理流、增值流等緊密地集成起來,實現資源高效化和效率化,這就是ERP。

那麼我們再來想想,ERP 具備哪些明細優勢呢?

1、實用性

企業實施ERP系統的本質就是提高企業的核心競爭力,為企業實現效益最大化,這些特點都可以體現ERP的本質。 ERP的宗旨就是對企業現有的人力、物力、財力等資源進行綜合管理優化,ERP系統對各部門進行協調管理,以市場需求為導向開展企業的一切營銷活動,幫助企業實現核心競爭力的提高,效益最大化。

2、整合性

ERP最大的特色是使整個企業信息系統整合,比傳統單一的系統更具功能性。

3、彈性

採用模塊化的設計方式,使系統本身可因企業需要新增模塊來支持並整合,提升企業的應變能力。

4、集中的數據資料儲存

將原先分散企業各角落的數據整合起來,使數據得以一致性,並提升其精確性。

5、便利性

在整合的環境下,企業內部所產生的資料訊息透過系統將可在企業任一地方取得與應用。

所以我來總結以下論述,ERP提供了一個跨地域、跨部門甚至跨企業實時整合分析信息的企業管理應用。它可以在企業資源最優化配置的基礎上,協助企業整合日常的管理需求和所有的運營,包括了財務管理、進銷存管理、生產計劃及管理、物料管理、銷售與分銷等主要功能模塊,以達到提高目標運作效率的效果。

(其他參考文章)
MPS主生產計畫專文介紹(一)
MRPⅡ/ERP 能力需求計畫原理
庫存管理-概念與釐清
庫存管理探討-VMI
真正的庫存量形成探討
庫存管理的中樞控管法則(上)
庫存管理的中樞控管法則(下)
BOM表管理與設定﹣輔料是否需輸入BOM
何謂 進銷存、ERP、WMS?三者差異性【軟體開發、軟件開發、程式設計】
ERP 產品成本管理與計算
庫存量正確性衡量法則
粗能力需求計畫(RCCP) – 專文介紹
ERP 系統的淺談與優勢 (軟體開發、客製化軟體、程式開發)

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

地板/磁磚 管理軟體導入 (程式開發、軟體開發、程式設計)

      這個月在多次跟經營30幾年的地板多家連鎖店老闆進行實際現場討論,因為該客戶在經營公司的作業流程與管理目前效率人工過於頻繁,所以找上我們網智數位軟體開發團隊進行改善建議,而 Allen 我發覺事實上一家公司如果老闆認真投入公司的人事、庫存、財務、業務績效、產品品質管理面向時,公司發展到一定程度一定會想透過一個好的資訊系統、管理軟體來進行協助公司的作業標準化,當然在多次討論客戶的企業經營管理思維過程中,我學到產業的知識、客戶的經營理念、面對客戶的產品介紹、面對客戶的敬業態度,都是我無形中累積的知識。

LINE_ALBUM_AI產生圖_240211_224

      該客戶因為擁有特殊的人事管理思維、銷售管理制度,只是都是人工計算、Excel作業,市面上根本也沒有任何一套套裝軟體可以符合客戶的需求,因為客戶的銷售獎金算法、產品估價方式、人事管理制度面,都是具有該地板產業獨特的競爭優勢,所以客戶評估我們擁有多年在不同產業領域上可以完全從無到有客製化的軟體開發能力,確定正式委託我們進行軟體開發案。

      而因為該軟體開發案,我評估跟以往我在協助導入其他廠商時給予輔導的方式不同,該客戶具有特殊的Domain Know-how,所以我特別另行保密管理軟體使用權,來保障該客戶多年的管理制度,也作為雙方合作信任的基礎,這樣客戶可以安心的享有自己特殊的營運管理方式,完全透過軟體來建立標準流程,就是老闆在外面也可以透過資訊系統,馬上知道公司所有業績表、財務成本、庫存管控,又不用擔心自行創立的業績績效算法、組織擴展方式被其他競爭對手學習。

好的管理軟體,可以協助企業進行【數字管理】- 績效管理,任何歷史資料都可以分析協助作決策。

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

繪圖程式-折線圖、區域圖 實作一(軟體設計、軟體開發、程式開發)

        這半年來一直不斷被客戶要求開發相關繪圖功能的程式,礙於現在很多程式開發人員,已經越來越多人只會資料庫的CRUD,對於繪圖程式撰寫掌握度不是很好,甚至基本觀念也沒有,所以大多數程式開發人員都是去找相關的Chart套件,也很少有人示範在 Windows 10 APP 如何開發相關繪圖程式功能(很抱歉目前Windows 10 似乎沒有提供相關繪圖控制箱可以直接使用,所以要真的自己寫繪圖功能),所以我這篇就來教導如何在 Windows Universal APP 開發一個 折線圖功能,折線圖在軟體應用上面常用於股票分析、統計分析、銷售分析、趨勢走向等圖表展現。

(折線圖)

r-data-exploration-and-visualization-line-plot-1

(區域圖)

886d1a27-3744-417b-a3e5-e9b9878e5760

 

折線圖原理其實就是在一個二維的空間(平面)中,利用多個 【X,Y】坐標點透過直線連結起來,所形成的趨勢圖形,通常 X 軸代表一個某種類別例如月份、年份、型別等,而Y軸代表某類別的實際值,例如業績、銷售量、收入、人數等。在折線圖中,X軸都呈現等量(距)的增加。

現在我們知道了簡單的折線圖原理後,在Windows 10 (UWP)平台開發上,是必須使用 Polyline 繪圖技術來進行開發,可以在界面直接選告 XAML 語法,例如底下Code:

<Polyline Stroke=“Blue” StrokThickness="3”Points=”5,10 20,30 25,40 100,120”/>

其中最重要的來自于 Points 屬性 ,5,10 =》代表一個點 [5,10] =>X=5,Y=10

但通常在開發繪圖功能時,都是動態繪圖產生,所以在這邊我也示範如何完全在背後使用程式開發一個折線圖功能,我在界面上我簡單的設計2個按鈕,分別作為繪製 折線圖跟區域圖,前端界面如下

 

image

 

//XAML Code

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <Grid.RowDefinitions>
            <RowDefinition Height="100″/>
            <RowDefinition Height="Auto"/>

        </Grid.RowDefinitions>
        <StackPanel  Grid.Row="0″ Orientation="Horizontal">
            <Button Content="折線圖繪製" Click="DrawChart_1″ Margin="12″ Background="AliceBlue"></Button>
            <Button Content="區域圖繪製" Click="DrawChart_2″ Margin="12″ Background="Wheat"></Button>
        </StackPanel>
        <Grid x:Name="gdChartCanvas" Grid.Row="1″ Height="auto" HorizontalAlignment="Center" VerticalAlignment="Center">

        </Grid>
</Grid>

 

 

在後端的程式碼,分別設計了 GetAllPoints()方法、與對應的 DrawChart_1 、DrawChart_2 事件方法

       /// <summary>
       /// 取得所有折線圖、區域圖的 Y值清單
       /// </summary>
       /// <param name="yValues">Y值清單</param>
       /// <param name="perWidth">X等距寬度</param>
       /// <param name="yStartValue">Y起始值</param>
       /// <returns></returns>
       private PointCollection GetAllPoints(List<double> yValues, double perWidth, double yStartValue)
       {
           PointCollection points = new PointCollection();
           double x = 0;

           foreach (double yVal in yValues)
           {
               double y;

               //判斷 Y 值是否小於 Y坐標起始值,因為畫布是從 100 開始
               if (yVal < yStartValue)
               {
                   y = 100;
               }
               else
               {
                   //可以套用自己的公式來設定Y值
                   //y = Math.Floor((500 – (yVal * 200) / 300));
                   y = yVal;
               }

               Point point = new Point(x, y);
               points.Add(point);
               x += perWidth;
           }

           return points;
       }

 

      /// <summary>
      /// 繪製折線圖
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
      private void DrawChart_1(object sender, RoutedEventArgs e)
      {
          //清除畫布
          this.gdChartCanvas.Children.Clear();

          //Y值清單
          List<double> datas = new List<double> { 185, 130, 230, 140, 200, 60, 170, 150, 190, 150, 110, 220, 130, 190, 150 };

          //取得套用公式的Y轉變值
          PointCollection pointCollection = GetAllPoints(datas, 45, 100);

          Polyline polyline = new Polyline { Points = pointCollection, Stroke = new SolidColorBrush(Colors.Red) };

          this.gdChartCanvas.Children.Add(polyline);
      }

 

上述程式撰寫完畢後,就可以直接點選【折線圖繪製】按鈕,畫面馬上呈現折線圖,如下執行結果

image

image

 

 

 

 

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

Windows 10 UWP 存取 JSON 格式 – 程式實作講解(軟體開發、客製化軟體、程式設計、程式開發)

      在我們開發各種專案時,一定多少都會需要存取各種跨平台傳輸的資料,目前最普遍的傳輸格式為 XML 與 JSON , 而今天我想要深入講解在 Windows 10 Universal APP (UWP)平台下,如何讀取跟儲存 JSON 格式資料。

      images

    JSON 的全名為 Java Script Object Notation , 它是一種輕量級的資料傳輸交換格式語言,特點是容易閱讀、依字串為基礎,格式都是經過壓縮地所以在網路傳輸過程,佔用的頻寬極小,因此被廣泛地應用在跨平台、跨程式語言。

JSON 的格式在宣告一個類別/物件,是用 大括號 { };宣告一個陣列使用 中括號 [ ] ;而在大括號裡面,是使用 名稱 :值 ,例如官方的範例圖

1356331778-696014507

例如 我在此 有個 員工類別 ,分別屬性有員工編號、姓名、職位、學歷,則對應的 JSON 格式為

(JSON Code)

var empJsonObj = { “員工編號”:“emp001”, “姓名”: “台灣李奧納多,”“職位”: “技術總監”,"年齡”:33 } ;

接下來,就是要開始講解如何在 Windows 10 Universal APP (UWP)平台,存取 JSON 格式的支援與程式開發技巧。

在 Windows 10 UWP 平台,主要有 2 種技巧來存取 JSON 格式,第一種是使用 DataContractJsonSerializer (MSDN 介紹),透過 DataContractJsonSerializer 來對 JSON 數據進行序列化與反系列化動作 ;而第二種是使用 JsonObject 類別來自行定義 JSON 物件。這兩種方式我都會在這篇完整介紹。

 

1.透過 DataContractJsonSerializer 對 JSON 資料進行序列化與反序列化

      使用 DataContractJsonSerializer 類別來對 JSON 數據進行序列化與反序列化,這是最簡單的方式,所謂序列化過程就是把 實體類別物件 轉成 JSON 格式化的字串,反之 反序列化 過程,就是把 JSON 物件字串({ 名稱:值,名稱1:值1….}) 轉換成對應的 .NET 類別。

下圖,是實際程式範例

image

image

 

2.透過使用 JsonObject 類別來自行定義 JSON 物件

這個就讓我直接用實際程式碼來講解….

首先我先新增2個類別 ,分別為 員工類別 (Employee)和研發群組類別(RDGroup),在此我假設一個員工可以同時歸屬多於于一個研發群組以上。

底下為 員工類別程式碼:

   /// <summary>
   /// 員工類別
   /// </summary>
   public class Employee
   {
       private const string idKey = “id";
       private const string nameKey = “name";
       private const string rdKey = “rd";
       private const string ageKey = “age";
       private const string enableKey = “enable";

       public Employee()
       {
           Id = “";
           Name = “";
           RDGroups = new ObservableCollection<RDGroup>();
       }

       public Employee(string jsonString) : this()
       {
           JsonObject jsonObject = JsonObject.Parse(jsonString);
           Id = jsonObject.GetNamedString(idKey, “");
           Name = jsonObject.GetNamedString(nameKey, “");
           Age = jsonObject.GetNamedNumber(ageKey, 0);
           Enable = jsonObject.GetNamedBoolean(enableKey, false);

           foreach (IJsonValue jsonValue in jsonObject.GetNamedArray(rdKey, new JsonArray()))
           {
               if (jsonValue.ValueType == JsonValueType.Object)
               {
                   RDGroups.Add(new RDGroup(jsonValue.GetObject()));
               }
           }
       }

       public string Stringify()
       {
           JsonArray jsonArray = new JsonArray();
           foreach (RDGroup group in RDGroups)
           {
               jsonArray.Add(group.ToJsonObject());
           }

           JsonObject jsonObject = new JsonObject();
           jsonObject[idKey] = JsonValue.CreateStringValue(Id);
           jsonObject[nameKey] = JsonValue.CreateStringValue(Name);
           jsonObject[rdKey] = jsonArray;
           jsonObject[ageKey] = JsonValue.CreateNumberValue(Age);
           jsonObject[enableKey] = JsonValue.CreateBooleanValue(Enable);

           return jsonObject.Stringify();
       }

       public string Id { get; set; }
       public string Name { get; set; }
       public ObservableCollection<RDGroup> RDGroups { get; set; }
       public double Age { get; set; }
       public bool Enable { get; set; }

   }


 

底下為 研發群組類別(RDGroup)程式碼:

  /// <summary>
  /// 研發群組 類別,一個員工可以歸屬多個研發群組
  /// </summary>
  public class RDGroup
  {
      private const string idKey = “id";
      private const string rdKey = “rd";
      private const string nameKey = “name";

      public RDGroup()
      {
          Id = “";
          Name = “";
      }

      public RDGroup(JsonObject jsonObject)
      {
          JsonObject schoolObject = jsonObject.GetNamedObject(rdKey, null);
          if (schoolObject != null)
          {
              Id = schoolObject.GetNamedString(idKey, “");
              Name = schoolObject.GetNamedString(nameKey, “");
          }
      }

      public JsonObject ToJsonObject()
      {
          JsonObject schoolObject = new JsonObject();
          schoolObject.SetNamedValue(idKey, JsonValue.CreateStringValue(Id));
          schoolObject.SetNamedValue(nameKey, JsonValue.CreateStringValue(Name));

          JsonObject jsonObject = new JsonObject();
          jsonObject.SetNamedValue(rdKey, schoolObject);
          return jsonObject;
      }

      public string Id { get; set; }
      public string Name { get; set; }
  }

 

再來我設計一個前端UI界面,作為讀取與寫入 JSON 的案例實作

前端界面

image

 

在執行存檔時,我們將新增一個 Employee 類別,並透過 JsonObject 轉成(序列化)為 JSON 字串,儲存在設定檔。

image

 

而在【讀取資料】時,是透過 JsonObject 進行反序列化,將 Json String 轉回成 .Net 的 Employee 類別(Class)

image

 

程式執行結果畫面

存檔

image

讀取資料

image

 

 

 

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

 

 

機電行業-軟體解決方案(紅外線、局部放電、點料表)

        今年我公司針對機電行業領域,開發出一個針對紅外線、局部放電檢測的測試報告,轉為一個獨立的專案管理報告,該管理軟體可以協助將客戶歷年來的紅外線、局部放電的報告資料,如拍攝位置、拍攝盤名、檢測人員、天氣狀況、環境溫度、濕度、相關電流(R、S、T、N)、額定電流、檢測照片、可見光圖片等欄位作有效資料管理。

image

        

 

 

 

 

 

 

 

並且針對每個檢測報告的的【判定結果】也會根據溫度、電流等條件進行結果的系統判定,可以大幅減少人工判定作業的誤差與錯誤,如下圖

image

           在每個報告項目我們都可以指定報告是否有異常原因、異常項目(後續我們的管理軟體,都可以針對所有異常原因、異常項目)進行分析統計趨勢報表,作為管理層級人員的追蹤檢討事項、以及執行面的調整。

image

管理軟體部分統計圖表

image

image

image

image

image

 

以上所有功能皆可匯出 Excel 檔作為報表、提供給客戶,提升機電產業的管理績效,以往我們的客戶在還沒有使用我們的管理軟體時,每次產生一個報告都需要人工在 Excel、Word作業,行政助理到處複製貼上,初步估計人工花費至少超過10天,現在使用我們的軟體,只需要一個按鈕就可以馬上產出給客戶一個完整的報告),而且案子一多根本無法有效作管理,例如想知道目前有設備過熱的地點有哪些、散熱發生的又有哪些;所以使用我們的管理軟體後,可以有效的跟客戶呈現一個即時的報告,作為提升機電產業的競爭性,目前已經有多家新竹大廠導入我們的軟體,如果您有這個需求,可以聯繫我們,我們可以安排時間到現場Demo我們的系統。

 

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