基于ASP.NET+SQL Server實現(Web)企業進銷存管理系統

企業進銷存管理系統的設計和實現

一、摘要

進銷存管理是現代企業生產經營中的重要環節,是完成企業資源配置的重要管理工作,對企業生產經營效率的最大化發揮著重要作用。本文以我國中小企業的進銷存管理為研究對象,描述了企業進銷存管理系統從需求分析、系統設計、系統實現到系統測試的全周期。在本次設計確定了進銷存系統的基礎功能需求,深入剖析了企業進銷存的業務流程,完成了基礎設置模塊、客戶管理模塊、產品管理模塊、進銷存管理模塊和系統管理模塊的功能設計。分析部分對系統的概念、特點、運行環境及數據庫設計進行了分析描述;設計部分根據系統的總體描述、模塊及結構圖提出了系統的總體設計方案內容;實現部分介紹了系統中各個模塊的實現方法,做到客觀實際,具有通用性。

關鍵詞:進銷存管理系統;.NET;B/S 模式;SQL

二、緒論

2.1 課題背景

隨著現代企業管理理論的發展,以及在新形勢下信息化技術在現代企業管理的不斷應用,許多中小企業在激烈的市場競爭中也開始注意到企業信息化管理的重要性,部署了貼合自身業務的小型管理系統。但當前許多中小企業實現的管理信息系統都是非常獨立的系統,采購、銷售、庫存管理都有獨立的系統。大量的系統不利于數據共享和綜合的統計分析。因此,中小企業迫切需要部署一個綜合的進銷存管理系統以實現數據的統一管理。進銷存管理系統以庫存管理為基礎,主要完成企業的采購管理、銷售管理、庫存管理、客戶管理和產品管理等工作,通過對銷貨進貨、庫存變更等操作過程的管理,為管理者提供詳細企業運營狀況,幫助企業打到采購、庫存、銷售的平衡,降低企業成本。

2.2 國內外現狀

美日韓等發達國家因工業水平和計算機技術起步較早走在了世界的前列。自 20 世紀 60 年代起發展了許多實現企業全面管理的 ERP系統。這些 ERP 系統中均有進銷存管理相關的模塊[1]。但中小企業由于規模與資金限制,只在部分業務普及了信息化。這些軟件系統中均具有進銷存管理的相關業務模塊,例如 COPICS、BPCS、NTT 系統,業務模塊具有較高的集中度,同時也易于擴展,全世界許多企業使用這些管理系統來完成企業的進銷存管理工作。美國的一份數據統計表明采用利用軟件對企業進銷存管理,可減少40%的積壓庫存,12%的企業生產力增[2]。

在經濟化浪潮下國內也涌現出一批優秀的進銷存系統,如用友軟件、金蝶公司、浪潮等的 ERP 系統,都在國內得到了廣應用。但當前我國進銷存管理系統存在的主要缺陷:①軟件功能復雜。許多進銷存管理系統包括從物流、生產到財務等多個領域,但許多功能并不適用于中小企業;②進銷存信息單一,且缺乏對數據的分析功能。無法對進銷存信息進行實時分析;③系統網絡化程度低。許多傳統的進銷存管理系統只支持在局域網中進行使用,更無法滿足當前網絡經濟時代的要求。國內進銷存管理系統的研究已經從點到面,又向細節逐步深入的階段,在各方面細節上不斷完善系統,為企業進銷存管理打造一個堅實的根基[3]。

2.3 課題的目的和意義

本課題的目的是研究設計實現企業進銷存管理系統,并通過該系統實現以下目標:

  1. 界面簡潔明了,模塊分布明確,方便用戶操作。
  2. 合理分配權限,優化管理。
  3. 實現中小企業進銷存管理的持續使用。

本課題的意義如下:

  1. 實時下訂單。
  2. 實時查詢庫存數量。
  3. 為企業管理者提供科學的決策數據

2.4 本文組織結構

第一章為緒論,大致介紹本課題的研究背景以及國內外進銷存管理系統的現狀,以及應用進銷存管理系統的主要意義。

第二章為開發進銷存管理系統的相關技術,本章主要介紹了開發系統時使用的技術、語言、數據庫技術和軟件架構等方面。

第三章為進銷存管理系統的分析與設計,本章主要說明了該系統的需求、系統的模塊規劃,以及系統數據庫的設計及相應的截圖。

第四章為進銷存管理系統的實現,本章主要說明了系統的開發環境,介紹了系統各個模塊所實現的功能。

第五章為總結與展望,本章主要總結了本系統的開發工作,并指出系統存在的不足,有待改進。

三、相關技術介紹

3.1 ASP.NET技術

ASP.NET技術是用微軟開發并推行的,是一種使嵌入網頁中的腳本可由因特網服務器執行的服務器端腳本技術,可用于在服務器上生成功能強大的Web應用程序,是ASP技術的升級版。ASP.NET支持多種類型語言的編程開發,其中包括常用的Visual Basic .NET、C#、Perl等語言。因為ASP .NET是基于通用語言的編譯運行的程序,其實現完全依賴于虛擬機,所以它擁有跨平臺性,ASP .NET構建的應用程序可以運行在幾乎全部的平臺上[4]。同時,ASP.NET還有許多功能強大的組件,例如DataList、DetailList和Gridview等,可以實現快速簡便地與數據庫進行連接,并且它本身還自帶了服務器空間,簡單好用[5]。

3.2 C#語言

C#是微軟公司發布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。它是由C和衍生出來的,同時又綜合了簡單的可視化操作和C++的高運行效率,以其強大的操作能力、優雅的語法風格、創新的語言特性和便捷的面向編程的支持成為開發的首選語言。

3.3 SQL Server數據庫

SQL Server數據庫是一個關系數據庫管理系統,是一個可擴展、高性能、為分布式客戶機/服務器計算所設計的數據庫管理系統。它實現了與Windows NT的有機結合,提供了基于事務的企業級信息管理系統方案[6]。SQL Server數據庫具有如下特點:

  1. 高性能的設計。SQL Server數據庫可以充分利用Windows NT的優勢。
  2. 系統管理的先進性。它支持Windows圖形化管理工具,支持本地和遠程的系統管理和配置。
  3. 強大的事務處理功能。SQL Server數據庫采用了多種方法,以保證數據的完整性。
  4. 支持對稱多處理器結構、存儲過程、ODBC,并具有自主的SQL語言。SQL Server數據庫以其內置的數據復制功能和強大的管理工具,以及其與Internet的緊密集成和開放的系統結構,為廣大用戶、開發人員和系統集成商提供了一個出眾的數據庫平臺。

3.4 B/S結構

B/S結構(即瀏覽器/服務器結構)是WEB興起后的一種網絡結構模式,其主要是利用日漸成熟的WWW瀏覽技術,結合VBScript和JavaScript等Script語言,再加上ActiveX技術,將系統功能實現的核心部分轉移到了服務器上,簡化了系統的開發,是一種全新的軟件系統構造技術[7]。用戶通過自己電腦的瀏覽器就可以在家訪問數據庫,不需要特別安裝軟件,使得系統的拓展十分便利。

3.5 AJAX

Ajax是一種創建交互式網頁的web開發技術。它并不是一種單一的、新的技術,而是由Javascript、CSS、Dom、XMLHttpRequest這四中技術集合而成的。它由JavaScript語言寫成,使用CSS控制頁面的樣式,通過DOM使用模型,通過XMLHttpRequest向后臺發送數據。Ajax技術很多時候被用于實現頁面的局部刷新,大大提高了用戶體驗感。

3.6 Android

Android是一種基于的自由及開放源代碼的,主要使用于,如和,由公司和領導及開發。一個Android 應用是由多個Activity 組成的。這多個Activity 之間可以進行相互跳轉,例如,按下一個按鈕后,可能會跳轉到其他的Activity。和網頁跳轉稍微有些不一樣的是,Activity 之間的跳轉有可能返回值,例如,從Activity A 跳轉到Activity B,那么當Activity B 運行結束的時候,有可能會給Activity A 一個返回值。這樣做在很多時候是相當方便的。

3.7 本章小結

本章主要介紹了在進銷存管理系統中使用的相關技術,例如C#和SQL Server數據庫的相關介紹,B/S結構的簡單闡述以及AJAX的原理。

四、系統分析與設計

4.1 系統需求分析

進銷存管理系統的開發過程中包括了前期準備,市場調研、系統分析、系統設計以及系統實現、測試、評價等步驟。由于調研對象主要集中在中小企業,所以其中的一些功能只做了一些簡單的設計。根據系統開發的大小、規模以及應用范圍的不同,各個步驟的要求和內容可能不盡相同。

4.1.1 業務流程分析

為了使用戶能夠更加直觀地了解整個系統的業務關系、工作順序以及相應的管理信息的流向,在此給出了本系統的業務流程圖,如圖3-1所示。本系統是進銷存管理系統,主要實現企業庫存的信息管理,設定價表、入貨出貨和實時查詢企業庫存[8]。其中,訂單模塊是本系統的重點。

如圖3-1所示,在本系統中,管理員擁有系統全部基礎功能。如新增客戶,新增產品和銷售區域,新增業務代表等基礎信息維護;設定價盤表,可按照不同銷售區域對產品進行差異化定價;調整并審核銷售單、退貨單、收預收款等業務操作。管理員新增業務代表并審核通過后可由業務代表幫助客戶下預售單,預售單在管理員審批通過后可由庫管發貨,審核期間可組合選擇付款方式(預收款付款,先進結款等)。

業務代表在本系統中扮演了重要角色,承擔了企業與客戶溝通的橋梁,在線下跑訂單,下預售訂單等都由業務代表完成。業務代表是可以關聯車輛的,企業的每一輛運貨車可以由一個司機加一個業務代表組合負責。司機負責貨運,業務代表負責在手機APP為客戶下訂單,可下訂單包括銷售單,預售單,退貨單,在手機端業務代表可任意組合自己的付款方式,靈活完成客戶訂單需求。

產品價表是本系統的重點,管理員可針對不同渠道不同區域的不同產品差異化定價,盡可能符合當前區域的經濟需求。管理員亦可對產品設定活動,活動包括買贈和減免,對于同一客戶的下單可直接給業務代表贈送的權利,簡化買贈活動為免費贈送單。靈活的定價方式可滿足不同區域的消費需求。

圖3-1業務流程圖

4.1.2 數據流程分析

從業務流程圖中,我們可以比較直觀地了解到整個系統中各個實體以及各個模塊之間的業務關系,以及作用順序,但是對于各類信息的具體處理、存儲及流向方面,則不是十分詳細。而為了更加清晰地了解一個系統中的數據信息流向和處理存儲過程,本文中給出了數據流程圖。如圖3-2所示,是本系統的數據流程圖,從下圖我們可以比較明確地知道整個系統的數據走向。

圖3-2數據流程圖

4.1.3 功能性需求分析

進銷存管理系統的角色分為系統管理員、業務代表、司機、客戶。

系統管理員可以由系統使用方指定對象擔任,人數由使用方決定,系統管理員不需要注冊。系統管理員主要管理整個系統中基礎信息的調整和訂單審核,包括新增業務代表、新增產品、設定產品價表等。具體功能要求如下:

  1. 管理授權:注冊其他角色時需要在管理員授權。
  2. 修改權限:系統管理員可以根據需求修改系統人員和商品的信息的權限。
  3. 業務權限:系統管理員可以對訂單進行審核發貨和取消。
  4. 信息維護:系統管理員可以對整個系統中的信息進行維護。
  5. 審核功能:根據新增基礎信息需求,審核信息。

業務代表是由管理員添加并審核通過的注冊者,在系統中具有下預售單和車銷單的權限。具體功能如下:

  1. 客戶管理:具有新增客戶、修改已存在客戶資料等功能。
  2. 車銷管理:下車銷訂單。
  3. 預售管理:下預售訂單。
  4. 庫存管理:可申請移庫,由主倉庫移動至車倉庫或由車倉庫退貨。
  5. 退貨管理:可以查看有關自己的留言,回復他人對自己的提問。
  6. 其他信息:訂單查詢等。

司機是由管理員添加并審核通過的注冊者,在系統中具有庫存調撥的權限。具體功能如下:

  1. 調撥管理:車銷移庫或退庫。
  2. 訂單管理:在車銷訂單中收款。

4.1.4 非功能性需求分析

非功能性需求,指的是除了用戶所需的功能要求以外,還應該滿足的一些其他方面的要求。本系統以下幾個方面進行分析:

  • 系統安全性:防止無權限人員進入系統修改相關信息[14]。若操作系統能給數據庫用戶分配角色,則安全性管理者必須要有修改操作系統用戶安全性區域的操作系統權限[15]。
  • 性能需求:用戶在軟件響應速度、結果精度、運行時資源消耗量等方面的要求。如對計算機系統的要求,對工作頻率、容量、存儲量等方面的要求。
  • 易操作需求:界面簡單明了,命名明確易懂。如一些系統管理員不太熟悉電腦操作,系統界面必須一目了然、簡單易懂、容易上手[16]。
  • 適應性:當外部條件有所改變的時候,系統根據外界因素改變。如時間變化,系統根據當前時間刪除發布招募信息時過時時間的選項。

4.2 系統模塊劃分

根據以上分析,可以將庫存管理信息管理系統分為基礎信息管理、采購管理、銷售管理、庫存管理、財務管理、報表平臺等幾個模塊。系統管理員主要有信息的維護、審核、權限管理等功能具體,業務代表具有訂單權限和新增客戶權限,如圖3-3所示:

圖3-3系統模塊劃分

4.3 系統數據庫設計

在一個系統的開發過程中,數據庫設計可謂是至關重要,一個數據庫的設計成功與否,直接關系到整個系統的開發,甚至會影響到整個系統的成敗。

4.3.1 概念設計

概念設計是由分析用戶需求到生成概念產品的一系列有序的、可組織的、有目標的設計活動,它表現為一個由粗到精、由模糊到清晰、由抽象到具體的不斷進化的過程。現在常用的概念模型是E-R模型。在本系統中,各實體直接的關系如圖3-4所示:

圖3-4實體關系E-R圖

4.3.2 邏輯設計

邏輯設計是將概念結構轉變為某個DBMS支持的數據模型,也可稱為優化。將本系統轉換后就得到如下關系模型:

商業客戶基本信息表(ID,客戶編號,全稱,簡稱,行政城市,郵政編碼,客戶地址,送貨地址,聯系人姓名,電話號碼,手機號碼,傳真,Email,企業網址,首要聯系人,客戶開門時間,客戶打烊時間,營業執照號,組織機構代碼證號,稅務登記證號,客戶類型,所有權屬性,所有權人,備注,審核標志,新增日期,新增人,更新日期,更新人);

供貨商合作關系表(ID,客戶ID,供貨商,客戶自編碼,業務人員,客戶合作狀態,開始合作日期,截止合作日期,供貨價盤表,渠道,區域,銷售路線,拜訪順序,拜訪模板,備注,審核標志,新增日期,新增人,更新日期,更新人);

員工信息資料表(ID,姓名,性別,員工編號,身份證號,出生日期,行政城市,地址,郵編,電話號碼,手機號碼,電子郵件,開始工作日期,截止工作日期,管理片區,職務,在職狀態,所有權屬性,所有權人,備注,審核流程,審核標志,新增日期,新增人,更新日期,更新人);

商品基本資料表(ID,產品名稱,產品簡稱,商品編碼(平臺級編碼),規格,整件單位,零售單位,包裝系數,整件商品條碼,零售商品條碼,商品種類,商品品牌,商品類別,段位,整件重量,整件體積,廠家名稱,生產廠商,廠家商品碼,廠家商品ID,標準經銷價,標準分銷價,建議零售價,成本價,狀態,保質期,所有權屬性,所有權人,備注,審核標志,新增日期,新增人,更新日期,更新人);

訂貨單信息(ID,訂單號,供貨商,訂購商,業務員,供貨價盤表,類別,狀態,折扣金額,優惠金額,實際訂貨金額,要求送達時間,要求送達倉庫,提交時間,確認時間,關聯拜訪記錄,備注,審核標志,新增日期,新增人,更新日期,更新人);

發貨單信息(ID,單號,發貨商,收貨商,發貨商倉庫,收貨商倉庫,業務員,送貨人,類別,制單模式,狀態,供貨價盤表,關聯訂貨單,折扣金額,優惠金額,實際銷售金額,送貨車輛,預計送達時間,裝車配貨時間,發車時間,實際到達時間,關聯拜訪記錄,備注,審核標志,新增日期,新增人,更新日期,更新人);

實時庫存表(ID,倉庫,商品,批號,生產日期,數量,價格,最后更新時間,新增日期,備注);

4.3.3 物理設計

物理設計指的是根據數據庫的邏輯結構來選定RDBMS,并設計和實施數據庫的存儲結構、存取方式等。本系統采用SQL Server數據庫,根據以上的分析選取了主要的幾張表展示,表之間的關系如圖3-5所示

圖3-5數據庫表關系圖

4.4 本章小結

本章節作為全文比較重要的一個章節,具體介紹了進銷存管理系統的需求分析,其中包括了功能性需求分析和非功能性需求分析,分別從概念、邏輯、物理這三方面進行了說明。

五、系統實現

5.1 系統開發環境的選擇

本系統的開發是基于.NET平臺,以VS2012為開發環境,將C#作為主要開發語言,SQL SERVER為數據庫軟件。

5.2 系統通用方法的實現

本系統是進銷存管理系統,系統重心在下單及庫存判斷上,但是作為一個應用型系統,其他功能模塊也是必不可少的。系統實現過程中運用了大量的ASP.NET控件,例如AJAX、GridView、DataList等。在本節中將介紹通用模塊的實現方法。

5.2.1 連接數據庫

在一個系統中,數據庫的連接可以說是核心部分,至關重要。在本系統中,通過web.config文件增加數據庫連接字符串[9],主要代碼如下:

<connectionStrings><addname="VolunteerConnection"connectionString="Data Source=UGYRPLW5EAMIHEB;Initial Catalog=Volunteer;Persist Security Info=True;User ID=sa;Password=123456"providerName="System.Data.SqlClient"/></connectionStrings>

并在App_Code文件夾中添加數據庫連接方法connet(),在后續的系統功能程序編寫中,全部通過調用該方法來實現數據庫的連接,主要代碼如下:

privatestaticstring connectString = ConfigurationManager.ConnectionStrings["VolunteerConnection"].ConnectionString;
publicstaticSqlConnection Connect()
{SqlConnection con = newSqlConnection(connectString);return con;}

5.2.2 數據的綁定顯示

作為一個數據管理系統,需要將系統中的部分數據展示出來,因此,數據的顯示操作也是十分重要的[10]。在本系統中,數據的顯示主要使用了DataList和GridView控件,控件類型的不同導致了這兩種控件在使用方法上的差異。在DataList控件中,本文主要采用了DataSet方法來填充數據,該方法處理脫機數據,在多層應用程序中很有用,并且可以在任何時候查看DataSet中任意行的內容,允許修改查詢結果的方法,還可以處理分級數據。在本系統中,該方法被用于每一個信息展示頁面,例如訂單列表頁面,采購單列表頁面,產品列表頁面等,主要代碼如下:

SqlDataAdapter sqlda = newSqlDataAdapter(sqlstr, sqlconn);
DataSet ds = newDataSet();
sqlda.Fill(ds, "dtxx");

GridView控件主要使用在系統管理員模塊中,通過該控件自帶的分頁排序功能,可以使得管理員的操作更加簡便快捷。GridView控件主要是通過使用SqlDataSource數據源控件來連接數據庫的,所以在此不再累贅。

5.2.3 分頁欄

DataList控件本身并不帶有分頁功能,為實現在使用DataList控件時也能方便分頁,本系統使用了PagedDataSource數據源方法來綁定DataList控件,使其也能像GridView控件一樣實現分頁[11]。該方法主要通過PagedDataSource和DataSet方法相結合使用,主要代碼如下:

DataSet ds = newDataSet();
sqlda.Fill(ds, "dtxx");
PagedDataSource pds = newPagedDataSource();
pds.DataSource = ds.Tables["dtxx"].DefaultView;
this.DataList1.DataSource = pds;
this.DataList1.DataBind();

5.2.4 頁面局部刷新和跳轉

在本系統中,因為牽涉到大量數據的分頁方法,勢必會造成在頁面刷新過程中的卡頓和不流暢現象,為解決這一問題,本系統還使用了AJAX控件,來實現頁面的局部刷新方法[12]。因為AJAX是開發環境中自帶的一款封裝的控件,所以在使用上也是非常方便的,主要代碼如下:

<asp:ScriptManagerID="ScriptManager1"runat="server">
</asp:ScriptManager>
<asp:UpdatePanelID="UpdatePanel1"runat="server">
<ContentTemplate>……
</ContentTemplate>
</asp:UpdatePanel>

在AJAX控件中,無法使用Response.Write("")方法進行頁面信息框的彈出提示已經頁面的跳轉,所以AJAX也有自己自身的一種提示方法,主要代碼如下:

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "click", "alert('已完成下單!');location.replace('dygl.aspx');", true) [13];

5.3 系統主要功能的實現

如上節所述,本系統是進銷存管理系統,訂單模塊是本系統的主要模塊,該模塊實現了下單和查詢功能,以及后續的一些統計功能[14]。

本系統實現的功能主要由兩部分組成,即訂單和庫存這兩個模塊的功能。進入本系統時需要登錄,進入系統會自動根據身份出現可瀏覽模塊。界面如圖4-1和4-2所示:

圖4-1系統主頁

圖4-2 訂單模塊

5.3.1 系統管理員功能

系統管理員是由系統開發者或者系統購買者直接指定的,不需要注冊,系統管理員的信息直接由開發人員寫進數據庫中。但是要注意的是,系統管理員的選擇應該慎重[15]。在本項目中系統管理員除了可以修改自己的個人信息之外,還有以下眾多主要功能:

基礎資料管理:企業員工注冊客戶成功之后就無法自行修改,如果注冊時用戶信息填寫錯誤,用戶可以向管理員線下提起申請,管理員通過用戶信息管理界面進行用戶信息的修改。系統管理員也可以在該功能模塊進行用戶權限的修改。該頁面主要使用GridView控件實現,在一定程度上節省了開發難度和開發時間,同時使用代碼和textbox控件,可以通過關鍵字搜索用戶信息,方便管理員對用戶信息的維護。基礎資料頁面都提供對各類信息的檢索方式,如客戶界面的關鍵字會在后臺自動匹配客戶的名稱,編碼,簡稱等屬性,而新增日期的時間段則會自動篩選所有符合錄入時間的客戶,合作狀態可選取一種狀態,也可選擇所有狀態下的客戶。界面如圖4-3所示:

圖4-3 基礎資料管理

商品信息管理:本系統提供了商品管理這一模塊,具有商品操作權限的用戶可以自行為企業添加商品,并為產品設定不同類別。每個產品都可以歸屬于一個類別,可通過類別對產品進行篩選。界面如圖4-4所示:

圖4-4 商品信息管理

采購管理:企業作為盈利組織,勢必要投入一部分成本,而成本的一個重要組成部分便是銷售產品的采購。本系統提供企業對產品的采購功能,采購數據會納入企業進銷存體系,作為庫存盤點的數據來源。錄入采購單據時刻選擇企業自身錄入的供貨商,選擇企業的一個倉庫作為入庫倉庫,已完成的采購單管理員可在后臺予以確認,采購單據頁面會自動羅列出所有的采購商品和采購的總金額,界面如圖4-5所示:

圖4-5 采購管理

訂單管理:企業要實現盈利就必須有銷量,在實際業務過程中業務代表承擔了銷售的大部分責任。對于小規模客戶業務代表可跟車進行車銷現款現貨交易,對于大客戶業務代表則可通過拜訪客戶下預售訂單的模式銷貨,預售單在管理員審核通過后可進行派單。訂單頁面與采購單頁面相似,不同的是企業自身已作為供應商,而訂購上則是企業客戶。訂單頁面會顯示下單的業務員和銷售類型及各類采購產品明細,界面如圖4-6所示:

圖4-6 動態信息審核

庫存管理:系統管理員可以在該模塊中查看現有個庫存中各產品的數量,也可在各倉庫之間進行調撥操作并按期對倉庫進行盤點。界面圖如圖4-7所示:

圖4-7庫存界面

庫存盤點是系統的一個重點功能,用戶可在新增盤點單的界面選擇需要盤點的倉庫,此時界面會以GridView的形式羅列出所有在售產品的現有庫存量,并提供一個下拉列表選擇盤盈或者盤虧并以文本框形式輸入數量。對于每一個產品的庫存,對應于后臺PBM_DeliveryDetail數據表中的一行數據,在保存時循環GridView的每一行在PBM_DeliveryDetail中插入數據。

價表管理:價表是進銷存管理系統的基礎,決定了系統的復雜程度。本系統允許多張報表同時存在,默認設置第一張價表為主價表。管理員可新增自定義價表關聯渠道或客戶類型,也可同時與渠道和客戶類型綁定。價表界面圖如4-8所示:

圖4-8 價表管理界面

在價表管理頁面用戶可看到當前價表關聯的區域和取到以及是否為默認價表。用戶可根據商品分類或關鍵字查找在價表中或不在價表中的商品,以審核的價表,對于不需要再出現在價表中的產品允許用戶進行批量刪除,同時不在價表中的產品也可添加到價表并自定義價格。

5.3.2 業務代表功能

圖4-9 業務代表流程圖

如圖4-9所示,為業務代表操作流程圖。業務代表由管理員注冊并分配賬號后方可登陸系統,主要進行下車銷單和預售訂單操作。具體操作在手機端完成。用戶具體功能如圖4-10所示:

圖4-10 業務代表功能界面

1.客戶信息管理:客戶信息管理又分為以下幾個功能

客戶信息新增——業務代表可根據實際新增自己管轄范圍內的新客戶,如果需要修改某些自己無權修改的信息時,可以向管理員申請修改。該模塊通過手機APP的形式展現。如圖4-11所示:

客戶拜訪管理——業務代表在自己管轄的片區內可按照預定線路拜訪客戶,為提高拜訪真實性系統提供對客戶門頭拍照功能。如圖4-12所示:

圖4-11客戶信息新增

圖4-12拜訪拍照

2.訂單管理:業務代表對自己線路下的客戶有下單權限,具體功能如下:

車銷訂單—業務代表在隨車拜訪客戶時可幫助客戶下車銷單。該模塊位于手機APP上,如圖4-13所示:

預售訂單—業務代表在自己管轄區域內拜訪大客戶時可幫助客戶下預售單。該模塊位于手機APP上,界面如圖4-14所示:

圖4-13車銷訂單

圖4-14預售訂單

訂單查詢——業務代表在APP下單后可在PC端對自己的下單詳情查看。界面如圖4-15所示:

圖4-14訂單查詢

5.4 本章小結

本章主要描述了本系統的各個模塊的功能實現,通過文字敘述和截圖的方式展現了本系統的功能模塊,分別從系統管理員和業務代表的角度介紹了本系統的功能。

6、總結與展望

6.1 總結

在信息化建設日益普遍的今天,信息系統的使用以及愈加廣泛,為了優化進銷存的管理,本文在了解了各種進銷存管理系統之后,開發設計了進銷存管理系統,并做出如下介紹。

本文的第一章著重介紹了進銷存管理系統這一課題的背景和意義,以及它的研究目的,同時也介紹了本文的內容結構。第二章著重介紹了本系統的一些相關的技術概念,比如ASP.NET技術,SQL數據庫等。第三章是本文的一個重點,主要內容是需求分析以及數據庫的設計等。第四章詳細介紹了本系統的一些功能的實現。

本系統的重點在于管理員對商品的管理,業務代表下單和庫存管理等;難點是針對不同區域和渠道設定不同的產品價格,創新點有系統權限的分配,對財務管理的納入等。

經過這段時間的學習和實踐,我對課堂掌握的知識有了一個更好地鞏固,對不理解和不熟練的一些方面也有了一個更清晰的概念,比如C#語言的應用,SQL Server數據庫的應用,以及DIV+CSS的網頁布局等方面。

6.2 展望

當然,由于技術方面的因素,本系統的許多方面還存在不足,比如:

  1. 前期的數據庫設計問題,導致在系統開發過程中需要不斷修改數據庫設計,使得數據庫的設計不是十分規范。
  2. 目前本系統只采用了B/S架構進行開發,并沒有結合C/S架構。
  3. 由于技術和設備問題,本系統無法自動提示用戶相關的信息動態,只能是讓用戶經常登錄自己進行查詢。
  4. 除此之外,由于目前手機應用日益發達,開發手機APP勢在必行,但由于時間和技術問題APP開發暫時只能落于紙上。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91285.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91285.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91285.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

(LeetCode 面試經典 150 題 ) 15. 三數之和 (排序+雙指針)

題目&#xff1a;15. 三數之和 思路&#xff1a;排序雙指針&#xff0c;時間復雜度0(n^2nlogn)。 先將數組nums升序排序&#xff0c;方便去重和使用雙指針。第一層for循環來枚舉第一位數&#xff0c;后面使用雙指針來找到第二個、第三個數即可&#xff0c;細節看注釋。 C版本…

easy-springdoc

介紹 簡化springdoc的使用&#xff08;可以搭配knife4j-openapi3-jakarta-spring-boot-starter一起使用&#xff09; maven引用 <dependency><groupId>io.github.xiaoyudeguang</groupId><artifactId>easy-springdoc</artifactId><version>…

配置nodejs,若依

1.配置node.js環境 Node.js — Download Node.js 1.下載好一路下一步&#xff0c;可以安裝到d盤 裝完之后執行 npm -v 顯示版本號即安裝成功 2.安裝好后新建兩個文件夾&#xff0c;node_cache和node_global 3.配置環境變量 新建變量 在path里編輯變量 4.配置用戶變量 5.…

Python學習之路(十二)-開發和優化處理大數據量接口

文章目錄一、接口設計原則二、性能優化策略1. 數據庫優化2. 緩存機制3. 并發模型三、內存管理技巧1. 內存優化實踐2. 避免內存泄漏四、接口測試與監控1. 性能測試2. 日志與監控3. 錯誤處理與限流五、代碼示例&#xff08;Flask 流式處理&#xff09;六、部署建議一、接口設計原…

【實時Linux實戰系列】實時數據流的網絡傳輸

在實時系統中&#xff0c;數據流的實時傳輸是許多應用場景的核心需求之一。無論是工業自動化中的傳感器數據、金融交易中的高頻數據&#xff0c;還是多媒體應用中的視頻流&#xff0c;都需要在嚴格的時間約束內完成數據的傳輸。實時數據流的傳輸不僅要求高吞吐量&#xff0c;還…

C#數組(一維數組、多維數組、交錯數組、參數數組)

在 C# 中&#xff0c;數組是一種用于存儲固定大小的相同類型元素的集合。數組可以包含值類型、引用類型或對象類型的元素&#xff0c;并且在內存中是連續存儲的。以下是關于 C# 數組的詳細介紹&#xff1a;1. 一維數組聲明與初始化// 聲明數組 int[] numbers; // 聲…

Dify離線安裝包-集成全部插件、模板和依賴組件,方便安可內網使用

項目介紹 Dify一鍵離線安裝包&#xff0c;集成安裝了全部插件、模板&#xff0c;并集成了dify全部插件所需的依賴組件。方便你在內網、安可環境等離線狀態下使用。 Dify是一個開源的LLM應用開發平臺。其直觀的界面結合了AI工作流、RAG管道、Agent、模型管理、可觀測性功能等&…

面試150 翻轉二叉樹

思路 采用先序遍歷&#xff0c;可以通過新建根節點node&#xff0c;將原來root的右子樹連到去node的左子樹中&#xff0c;root的左子樹連到去node的右子樹中。 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): …

C++-linux系統編程 3.gcc編譯工具

GCC編譯工具鏈完全指南 GCC&#xff08;GNU Compiler Collection&#xff09;是Linux系統下最常用的編譯器套件&#xff0c;支持C、C、Objective-C等多種編程語言。本章將深入講解GCC的編譯流程、常用選項及項目實戰技巧。 一、GCC編譯的四個核心階段 GCC編譯一個程序需要經過四…

uView UI 組件大全

uView UI 是一個基于 uni-app 的高質量 UI 組件庫&#xff0c;提供豐富的跨平臺組件&#xff08;支持 H5、小程序、App 等&#xff09;。以下是其核心組件的分類大全及功能說明&#xff0c;結合最新版本&#xff08;1.2.10&#xff09;整理&#xff1a; &#x1f4e6; 一、基礎…

QWidget 和 QML 的本質和使用上的區別

QWidget 和 QML 是 Qt 框架中兩種不同的 UI 開發技術&#xff0c;它們在底層實現、設計理念和使用場景上有顯著區別。以下是它們的本質和主要差異&#xff1a;1. 本質區別特性QWidgetQML (Qt Modeling Language)技術基礎基于 C 的面向對象控件庫基于聲明式語言&#xff08;類似…

中轉模型服務的風險

最近發現一些 AI 相關帖子下&#xff0c;存在低質 claude code 中轉的小廣告。 其中轉的基本原理就是 claude code 允許自己提供 API endpoint 和 key&#xff0c;可以使用任意一個 OpenAI API 兼容的供應商&#xff0c;就這么簡單。 進一點 claude token&#xff0c;再混入一點…

前端Vue.js面試題(3)

???目錄 1.v-model的原理是什么樣的&#xff1f; 2.Vue的生命周期&#xff1f; 3.Vue子組件和父組件執行順序&#xff1f; 4.created和mounted的區別&#xff1f; 5.vue中&#xff0c;推薦在哪個生命周期發起請求&#xff1f; 6.keep-alive中的生命周期有哪些&#xf…

leetcode:HJ18 識別有效的IP地址和掩碼并進行分類統計[華為機考][字符串]

學習要點 bitset<8>ostringstreamstoistring.findstring.substr 題目鏈接 識別有效的IP地址和掩碼并進行分類統計_牛客題霸_牛客網 題目描述 解法 #include <iostream> #include <bits/stdc.h> #include <sstream> #include <string> #inclu…

JavaEE Tomcat

企業開發介紹 JavaEE 規范 JavaEE規范是J2EE規范的新名稱,早期被稱為 J2EE 規范,其全稱是 Java 2 Platform Enterprise Edition,是由 SUN 公司領導、各廠家共同制定并得到廣泛認可的工業標準(JCP 組織成員)。 其中,JCP 組織(官網)的全稱是 Java Community Process,…

什么是神經網絡,常用的神經網絡,如何訓練一個神經網絡

神經網絡&#xff1a;是深度學習的核心技術。模仿生物神經元工作方式的計算模型&#xff0c;由大量互相連接是神經元組成&#xff0c;通過數據學習復雜的模式和關系。1、神經網絡基本組成&#xff1a;神經元、層、連接神經元神經網絡的最小單元。每個神經元接受輸入&#xff0c…

BigFoot Decursive 2.7.28 2025.07.11

插件顯示為獨立插件&#xff0c;之前是團隊框架自帶 BigFoot Decursive lua-CSDN博客 /decursive 命令打開插件 /DCRSHOW 打開設置列表 然后優先列表里面再點【p】添加&#xff0c;你要驅散得優先職業 一鍵驅散lua插件下載&#xff1a; https://download.csdn.net/downloa…

可穿戴智能硬件在國家安全領域的應用

可穿戴智能硬件在國家安全領域具有廣泛應用&#xff0c;涵蓋軍事作戰、安防監控、邊境巡邏等多個方面&#xff0c;以下是具體介紹&#xff1a;軍事作戰與訓練&#xff1a;戰場態勢感知&#xff1a;士兵佩戴集成多種傳感器的智能頭盔、智能背心等&#xff0c;可實時獲取戰場環境…

后端接口通用返回格式與異常處理實現

前言 目前大部分系統都是前后端分離架構&#xff0c;后端提供接口并返回 JSON 數據&#xff0c;前端接收數據后進行處理展示。為了提高前后端協作效率&#xff0c;后端接口返回值采用固定格式十分必要。 后端接口返回值通用格式 通用返回值通常包含 4 個核心字段&#xff0c…

【yolo】模型訓練參數解讀

在YOLO&#xff08;You Only Look Once&#xff09;目標檢測模型的訓練過程中&#xff0c;數據增強是一項至關重要且極具“藝術性”的技術。它通過對訓練圖像進行一系列隨機變換&#xff0c;人為地創造出更多樣化的訓練樣本&#xff0c;從而有效提升模型的泛化能力、魯棒性&…