第一篇:小型直營超市管理合同
小型直營超市管理合同
合同編號:[2008]0號
甲方:**有限責任公司
乙方:身份證號:
為了更好的實施“萬村千鄉(xiāng)市場工程”,甲方在縣鎮(zhèn)(鄉(xiāng))村投資開辦村級直營超市一座,聘用乙方在該店當營業(yè)員。現(xiàn)就該店經(jīng)營管理的有關事項,雙方協(xié)商,達成以下幾條約定:
一、甲方權利和義務
1、甲方負責在這塊地面投資開辦一座面積大約***平方米的直營店,并享有這座房屋的經(jīng)營權。
2、出資給店內(nèi)配置貨架和商品,(詳見財產(chǎn)清單)。
3、每月按時給店員支付報酬
4、。負責辦理好本店的營業(yè)執(zhí)照,稅務登記證等各種必備證照。
二、乙方權利和義務
1、協(xié)助甲方取得用電、用水權,并協(xié)助施工,把水、電引到本商店。
2、接受甲方管理,認真履行職責,積極熱情地經(jīng)營好本商店。
3、按照本合同約定,按時、足額得到勞動報酬。
4、負責商店商品安全和自身安全,因被盜、火災、水災、生病、煤氣中毒、貨物盤點短少等原因造成的經(jīng)濟損失及人身安全責任,由乙方全部承擔,甲方概不承擔。
5、商品包裝物、紙箱應細心收集堆放,甲方送貨時隨車拉回?;蛘哂梢曳戒N售,用于購買出售商品的手提方便袋。
6、保證限日限時足額繳納銷貨款。
三、經(jīng)營方式
1、**公司對村級直營店實行統(tǒng)一采購、統(tǒng)一配送、統(tǒng)一價格、統(tǒng)一結(jié)算、統(tǒng)一管理、統(tǒng)一形象。
①統(tǒng)一采購:店內(nèi)所有商品均由甲方統(tǒng)一采購,乙方不得自行采購,若有違反,自采商品及其銷售收入全部收繳,并扣罰違約金***元;發(fā)生三次以上(含三次),解除聘用關系,終止本合同。
②統(tǒng)一配送:新貿(mào)公司配送中心定期向本直營店電話訪銷及配送商品,乙方應及時報告配貨計劃單。
③統(tǒng)一價格:商品零售價格由甲方統(tǒng)一核定,乙方按照其規(guī)定價格明碼標價銷售。乙方若私自抬高價格,檢查發(fā)現(xiàn)或群眾舉報,要給于乙方相應處罰,每次扣罰**元,在當月工資中沖減。
④統(tǒng)一結(jié)算:送貨員定期到本店結(jié)算,收回銷售款,乙方應及時繳納,不得以任何理由挪用貨款,若但發(fā)現(xiàn)每推遲一天繳納貨款,扣罰**元,發(fā)生三次以上(含三次),解除聘用關系,終止本合同。
⑤統(tǒng)一管理:甲方聘用乙方每期為壹年,期滿根據(jù)表現(xiàn)可以續(xù)簽。甲方安排專人,定期來本店檢查、指導工作,抽查、盤點商品,甚至更換不稱職的店員(乙方)。
⑥統(tǒng)一形象:本店與其它直營店的店容店貌、店名招牌,對外宣傳等形象是統(tǒng)一的。
2、給乙方計付報酬的辦法:
①本店每月基本報酬為***元,基本銷售任務為每天***元,(含***元)。日銷售額在***元以上超額部分,按4%的比例計提獎勵報酬。
②甲方每月給本店提供**元的水、電費,節(jié)余歸乙方,超支由乙方補足。
③本店冬季采暖煤爐由甲方購買,整個采暖季節(jié)給于乙方***元的購煤款,包干使用。
④乙方工作業(yè)績突出,無違反本管理合同行為發(fā)生,年終通過評比,甲方可給于一次性表彰獎勵。
四、法律責任
甲、乙雙方都應嚴格遵守本合同的各項約定,如有違約行為發(fā)生,支付對方違約金*萬元;如有人為破壞行為發(fā)生,依法追究法律責任。
甲方:**有限責任公司
代表:%26lt;簽字%26gt;
乙方:縣鎮(zhèn)村
村民:%26lt;簽字%26gt;
甲方法律顧問:%26lt;簽字%26gt;
簽訂日期:二oo八年月日
第二篇:小型超市管理系統(tǒng)
小型超市管理系統(tǒng)一:需求分析
1.超市信息管理系統(tǒng)是一個面向超市用來進行超市日常信息處理的管理信息系統(tǒng)(MIS)。該信息系統(tǒng)能夠方便的為超市的售貨員提供各種日常售貨功能,也能夠為超市的管理者提供各種管理功能,如進貨、統(tǒng)計商品等。
(1)超市信息管理系統(tǒng)能夠支持售貨員日常售貨功能。每一個售貨員通過自己的用戶名稱和密碼登錄到售貨系統(tǒng)中,為顧客提供服務。在售貨員為顧客提供售貨服務時,售貨員接收顧客購買商品,根據(jù)系統(tǒng)的定價計算出商品的總價,顧客付款并接受售貨員打印的貨物清單,系統(tǒng)自動保存顧客購買商品記錄。
(2)超市信息管理系統(tǒng)能夠為超市的管理者提供管理功能。超市的管理包括庫存管理、訂貨管理、報表管理和售貨人員管理和系統(tǒng)維護等。庫存管理員負責超市的庫存管理;訂貨員負責超市的訂貨管理;統(tǒng)計分析員負責超市的統(tǒng)計分析管理;系統(tǒng)管理員負責超市的售貨人員管理和系統(tǒng)維護。每種管理者都通過自己的用戶名稱和密碼登錄到各自的管理系統(tǒng)中。
(3)庫存管理包括商品入庫管理、處理盤點信息、處理報銷商品信息和一些信息的管理設置信息。這些設置信息包括供應商信息、商品信息和特殊商品信息。庫存管理員每天對商品進行一次盤點,當發(fā)現(xiàn)庫存商品有損壞時,及時處理報損信息。當商品到貨時,庫存管理員檢查商品是否合格后并將合格的商品進行入庫。當商品進入賣場時,商品進行出庫處理。
(4)訂貨管理是對超市所缺貨物進行的訂貨處理,包括統(tǒng)計訂貨商品和制作訂單等步驟。當訂貨員發(fā)現(xiàn)庫存商品低于庫存下限時,根據(jù)系統(tǒng)供應商信息,制作訂單進行商品訂貨處理。
(5)統(tǒng)計分析管理包括查詢商品信息、查詢銷售信息、查詢供應商信息、查詢?nèi)必浶畔?、查詢報表信息和查詢特殊商品信息,并制作報表。統(tǒng)計分析員使用系統(tǒng)的統(tǒng)計分析功能,了解商品信息、銷售信息、供應商信息、庫存信息和特殊商品信息,以便能夠制定出合理的銷售計劃。
(6)系統(tǒng)管理包括維護員工信息、維護會員信息和系統(tǒng)維護。系統(tǒng)管理員通過系統(tǒng)管理功能,能夠了解公司員工信息、會員信息,還能夠?qū)ο到y(tǒng)進行維護工作。二:創(chuàng)建系統(tǒng)用例模型 1.員工用例圖
? 員工是超市售貨員和超市管理者的抽象,它所包含的行為是超市售貨員和超市管理者共同的行為。員工在本系統(tǒng)中通過合法的身份驗證;能夠修改自身信息和密碼。
2.售貨員用例圖
? 售貨員能夠通過該系統(tǒng)進行銷售商品活動。當售貨員銷售商品時,首先獲取商品信息,然后將銷售信息更新,如果顧客需要打印購物清單,則需要打印購物清單,在購物清單中需要對商品信息進行計價處理。
3.庫存管理員用例圖
? 庫存管理員能夠通過該系統(tǒng)進行如下活動:
(1)處理盤點。超市庫存管理員每天需要對超市商品信息進行盤點。(2)處理報銷。超市庫存管理員對超市損壞商品進行報銷處理。(3)商品入庫。當商品到貨時,庫存管理員檢查商品是否合格后并將合格的商品進行入庫。
(4)商品出庫。當商品進入賣場時,商品進行出庫處理。(5)管理設置。庫存管理員負責供應商信息、商品基本信息和特殊商品信息的管理設置。
4.訂貨員用例圖
? 訂貨員能夠通過該系統(tǒng)進行訂貨管理活動。訂貨員首先根據(jù)商品缺貨信息統(tǒng)計訂貨商品,根據(jù)需要訂貨商品信息制定出訂單。
5.統(tǒng)計分析員用例圖
? 統(tǒng)計分析員負責超市的統(tǒng)計分析管理,它能夠通過該系統(tǒng)進行如下活動:
(1)查詢基本信息。統(tǒng)計分析員能夠查詢商品的基本信息,根據(jù)商品的基本信息,制定出相應的方案。
(2)查詢銷售信息。統(tǒng)計分析員根據(jù)銷售情況,制定合理的銷售方案。
(3)查詢供應商信息。統(tǒng)計分析員能夠查詢供應商信息。
(4)查詢?nèi)必浶畔?。統(tǒng)計分析員能夠查詢?nèi)必浶畔ⅰ?/p>
(5)查詢報損信息。統(tǒng)計分析員能夠查詢報損信息。
(6)查詢特殊商品信息。統(tǒng)計分析員能夠查詢特殊商品信息
6.系統(tǒng)管理員用例圖
? 系統(tǒng)管理員能夠通過該系統(tǒng)進行如下活動:
(1)維護會員信息。系統(tǒng)管理員能夠維護超市會員的信息,如添加會員、刪除會員和修改會員信息等。
(2)維護員工信息。系統(tǒng)管理員能夠維護超市員工的信息,如添加員工、刪除員工和修改員工信息等。
(3)系統(tǒng)設置。系統(tǒng)管理員能夠根據(jù)一些需要進行必要的系統(tǒng)設置。
三:創(chuàng)建系統(tǒng)靜態(tài)模型
? 在獲得系統(tǒng)的基本需求用例模型以后,我們通過考察系統(tǒng)對象的各種屬性,創(chuàng)建系統(tǒng)靜態(tài)模型。
(1)首先,我們先確定系統(tǒng)的參與者的屬性。每一個超市員工在登錄系統(tǒng)時,都需要提供員工的用戶名稱和密碼,因此每一個超市員工應該擁有用戶名稱和密碼屬性。超市員工還擁有在超市中的唯一標識——員工編號。此外,員工屬性中還包含員工的年齡、頭銜和照片等信息。超市的售貨員和管理者都繼承自員工,擁有員工的屬性。在系統(tǒng)中記錄的顧客包括顧客的名稱、顧客的編號、顧客地址、顧客級別和顧客的總消費金額等記錄。
(2)其次,我們確定在系統(tǒng)中的主要業(yè)務實體類,這些類通常需要在數(shù)據(jù)庫中進行存儲。例如,我們需要存儲商品的信息,因此需要一個商品類,同樣,根據(jù)供應商信息我們可以確定供應商類。(2)其次,我們確定在系統(tǒng)中的主要業(yè)務實體類,這些類通常需要在數(shù)據(jù)庫中進行存儲。例如,我們需要存儲商品的信息,因此需要一個商品類,同樣,根據(jù)供應商信息我們可以確定供應商類。
四:創(chuàng)建系統(tǒng)動態(tài)模型
1.售貨員銷售商品序列圖和交互圖 工作流程如下:
(1)顧客希望通過售貨員購買商品,售貨員希望通過售貨管理子系統(tǒng)處理商品銷售。
(2)顧客將購買商品提交給售貨員。
(3)售貨員通過銷售管理子系統(tǒng)中的管理商品界面獲取商品信息。
(4)管理商品界面根據(jù)商品的編號將商品類實例化并請求該商品信息。
(5)商品類實例化對象根據(jù)商品的編號加載商品信息并提供給管理商品界面。(6)管理商品界面對商品進行計價處理。
(7)管理商品界面更新銷售商品信息。
(8)管理商品界面顯示處理商品。
(9)售貨員將貨物提交給顧客。
2.統(tǒng)計分析員查詢商品信息序列圖和交互圖 工作流程如下:
(1)統(tǒng)計分析員希望通過統(tǒng)計分析子系統(tǒng)查詢商品信息。
(2)統(tǒng)計分析員通過統(tǒng)計分析子系統(tǒng)中的查詢商品信息界面獲取商品信息。
(3)查詢商品信息界面根據(jù)商品的屬性或特征將商品類實例化并請求該類商品信息。
(4)商品類實例化對象加載商品信息,并提供給管理商品界面。
(5)查詢商品信息界面顯示該類商品信息。
(6)統(tǒng)計分析員請求查詢商品信息界面制定出該類商品報表。
(7)查詢商品信息界面制定該類商品報表。
(8)查詢商品信息界面將該類商品報表顯示給統(tǒng)計分析員。
3.庫存管理員處理商品入庫
工作流程如下:
(1)庫存管理員希望通過庫存管理子系統(tǒng)將購買的貨物處理入庫(2)庫存管理員通過庫存管理子系統(tǒng)中的商品入庫界面獲取商品信息。
(3)商品入庫界面根據(jù)商品的編號將商品類實例化并請求該類商品信息。
(4)商品類實例化對象根據(jù)商品的編號加載商品信息并提供給商品入庫界面。
(5)庫存管理員通過商品入庫界面增加商品數(shù)目。(6)商品入庫界面通過商品類實例化對象修改商品信息。(7)商品類實例化對象向商品入庫界面返回修改信息。(8)商品入庫界面向庫存管理員顯示添加成功信息。
4.訂貨員進行訂貨管理 工作流程如下:
(1)訂貨員希望通過訂貨管理子系統(tǒng)處理商品訂貨管理。(2)訂貨員通過訂貨管理子系統(tǒng)中的訂貨管理界面獲取待訂貨商品信息。
(3)訂貨管理界面將商品類實例化并根據(jù)商品的數(shù)量應當滿足的條件請求有關商品信息。
(4)商品類實例化對象根據(jù)商品的數(shù)量應當滿足的條件加載商品信息并提供給訂貨管理界面。
(5)訂貨員通過訂貨管理子系統(tǒng)中的訂貨管理界面獲取待訂貨廠商信息。
(6)訂貨管理界面將供應商類實例化并根據(jù)商品的類型請求有關供應商信息。
(7)供應商類實例化對象加載供應商信息并提供給訂貨管理界面。(8)訂貨員通過訂貨管理子系統(tǒng)中的訂貨管理界面制作相關訂單。(9)訂貨管理界面制作相關訂單并顯示給訂貨員。
5.商品狀態(tài)圖
? 在超市信息管理系統(tǒng)中,我們將有明確狀態(tài)轉(zhuǎn)換的類進行描述,以下我們以商品的狀態(tài)圖為例,簡單進行說明。? 商品包含以下的狀態(tài):剛被購買還未入庫后的商品、被添加能夠出售的商品、商品被出售、商品被回收。它們之間的轉(zhuǎn)化規(guī)則是:
(1)剛被購買后的商品可以通過庫存管理員添加成為入庫的商品。(2)當入庫商品被出售,商品處于被銷售狀態(tài)。(3)當商品由于過期、損壞等因素造成的不合格時,商品被剔除。
6.員工驗證登錄活動圖
? 在利用系統(tǒng)的活動圖來描述在超市信息管理系統(tǒng)中的參與者如何協(xié)同工作時,我們還可以建立相關參與者的活動圖進行說明。以下我們以員工驗證密碼為例進行說明。? 我們可以通過以下的方式描述員工驗證登錄的活動:(1)員工需要通過身份驗證后進入相關子系統(tǒng)才能夠進行相關操作。
(2)首先,系統(tǒng)運行后系統(tǒng)進入初始化登錄界面。(3)員工輸入自己的用戶名稱和密碼。
(4)登錄界面對用戶輸入的用戶名稱和密碼進行判斷。(5)如果是合法的用戶,則系統(tǒng)對用戶的權限進行判斷,員工進入相關的管理界面,登錄成功。
(6)如果是非法的用戶,系統(tǒng)提示用戶名稱或密碼錯誤,登錄失敗。
五:創(chuàng)建系統(tǒng)部署模型 1.系統(tǒng)構(gòu)件圖
在超市信息管理系統(tǒng)中,我們通過構(gòu)件映射到系統(tǒng)的實現(xiàn)類中,說明該構(gòu)件物理實現(xiàn)的邏輯類。例如,在超市信息管理系統(tǒng)中,我們可以對商品類和供應商類分別創(chuàng)建對應的構(gòu)件進行映射。
2.系統(tǒng)部署圖
在超市信息管理系統(tǒng)中,系統(tǒng)包括四種節(jié)點,分別是:前臺售貨節(jié)點,售貨員使用,負責貨物銷售;庫存管理節(jié)點,庫存管理員通過該節(jié)點進行庫存管理和維護;訂貨管理節(jié)點,訂貨管理員通過該節(jié)點進行訂貨管理;統(tǒng)計分析節(jié)點,統(tǒng)計分析員通過該節(jié)點進行統(tǒng)計分析;系統(tǒng)管理節(jié)點,系統(tǒng)管理員通過該節(jié)點進行系統(tǒng)維護和員工信息維護。
第三篇:小型超市管理系統(tǒng)開發(fā)實例
小型超市管理系統(tǒng)開發(fā)實例
一.項目論證和計劃 1.1系統(tǒng)調(diào)查
社會生活的現(xiàn)代化,使得市場的走向發(fā)生巨大變化,由于經(jīng)濟的發(fā)展,人們對生活的需求已經(jīng)不再滿足于豐衣足食的低度要求,許多人們往往不是單純?yōu)闈M足生活必需去購買,而是憑著喜歡、意欲和感觀去購買。如果一個商店能夠打動顧客、吸引顧客,自然會顧客盈門,而近幾年新興產(chǎn)業(yè)中超級市場的現(xiàn)代化管理方式和便捷的購物方式,尤其是它輕松的購物環(huán)境。往往是打動顧客,吸引顧客的最主要的原因,且良好的周密的銷售服務更是贏得信譽、吸引顧客的優(yōu)勢所在。商品經(jīng)濟的高速現(xiàn)代化發(fā)展也促進了競爭,使一切不甘落后的商家都爭先恐后地采用最新的管理方法來加強自己的競爭地位。因此,超市經(jīng)營者如果不掌握當今市場發(fā)展的這一走向,不能將超市現(xiàn)代化經(jīng)營作為努力開拓的目標,就無法使經(jīng)營活絡、財源茂盛。隨著計算機網(wǎng)絡技術以及數(shù)據(jù)庫技術的迅速發(fā)展,管理信息系統(tǒng)得到了廣泛應用。對于一個超市來講:貨品數(shù)量少則數(shù)以百計,多則數(shù)以萬計;另外,不同超市的實際情況也有所不同。要對這些貨品進行統(tǒng)一、高效的管理,靠人工完成工作量龐大、難免有錯漏之處。為此,一個自動化的超市貨品管理系統(tǒng)的開發(fā)非常必要。
當今社會,超市的競爭也進入到了一個全新的領域,競爭已不再是規(guī)模的競爭,而是技術的競爭、管理的競爭、人才的競爭。技術的提升和管理的升級是超市業(yè)的競爭核心。零售領域目前呈多元發(fā)展趨勢,多種業(yè)態(tài):超市、倉儲店、便利店、特許加盟店、專賣店、貨倉等相互并存。如何在激烈的競爭中擴大銷售額、降低經(jīng)營成本、擴大經(jīng)營規(guī)模,成為超市營業(yè)者努力追求的目標。作為國內(nèi)市場的一些中小型超市,它們在信息化過程中的步伐要落后于大中型超市,而對于這些企業(yè)的資源管理,信息的存儲和處理也顯得迫切需要。要適應市場競爭就需要有高效的處理方式和管理方法,因此加快超市的信息化進程是必可少的。
1.2 新系統(tǒng)的總體功能需求和性能要求
針對超市的特點,為了幫助超市解決現(xiàn)在面臨的問題,提高小型超市的競爭力,我們將開發(fā)以下系統(tǒng):前臺POS銷售系統(tǒng)、后臺管理系統(tǒng),其中這兩個子系統(tǒng)又包含其他一些子功能。并且系統(tǒng)要做到以下幾點:
(1).簡單性
系統(tǒng)設計盡量簡單,以實現(xiàn)使用方便,提高效率,節(jié)省開支,提高系統(tǒng)的運行質(zhì)量。
(2).靈活性
系統(tǒng)對外界條件變化有較強的適應性
(3).完整性
系統(tǒng)是各個子系統(tǒng)的集合,作為一個有機的整體存在。因此,要求各個
子系統(tǒng)的功能盡量規(guī)范,數(shù)據(jù)采集統(tǒng)一,語言描述一致。(4).可靠性
小型超市管理系統(tǒng)可以用于支持超市的各項管理工作。
1.3 系統(tǒng)開發(fā)的框架
二.可行性分析
1.管理可行性分析
管理可行性分析管理可行性分析管理可行性分析 超市的經(jīng)營者大多具備電腦基本操作知識,對于必要的專業(yè)操作經(jīng)短期培訓即可;管理基礎工作和各項管理制度比較健全,執(zhí)行嚴格,原始數(shù)據(jù)采集完整,保存良好。2.經(jīng)濟可行性分析
經(jīng)濟可行性分析經(jīng)濟可行性分析經(jīng)濟可行性分析 超市管理系統(tǒng)的投入,能夠提高工作效率,減少工作人員,從而減少人力資本的投入,根據(jù)核算,系統(tǒng)投入三個月后,就能夠基本收回開發(fā)系統(tǒng)的投資,從經(jīng)濟角度來說,本系統(tǒng)開發(fā)完全必要。
3.技術可行性分析(1).硬件:電腦一臺(2).軟件:操作系統(tǒng):中文Windows 2007開發(fā)系統(tǒng):Microsoft Visual Foxpro 6.0,安裝SQL Server 2000的服務器版本 系統(tǒng)本身對硬件和軟件的要求都不高且系統(tǒng)兼容性很強,平臺的移植性也很好,因此無論在系統(tǒng)的硬件及軟件上都滿足開發(fā)的要求。
(3).本系統(tǒng)涉及到的技術因素: 管理系統(tǒng)的開發(fā)方法,使用面向?qū)ο箝_發(fā)方法開發(fā)軟件系統(tǒng)。網(wǎng)絡和通信技術,開發(fā)小組有基于C/S開發(fā)的經(jīng)驗,C/S機構(gòu)規(guī)劃和技術設計,開發(fā)小組有應用數(shù)據(jù)庫開發(fā)經(jīng)驗。數(shù)據(jù)庫技術,開發(fā)小組能使用Visual Foxpro 6.0 編程。
(4).運行上的可行性:操作簡單:簡單的操作規(guī)則使操作人員能輕松掌握。查詢方便:用戶可設定任意條件和任意的查詢項目進行檢索。統(tǒng)計靈活:任意條件下任意項目的產(chǎn)品入庫時間、數(shù)量等的統(tǒng)計及查詢項目均可進行交叉統(tǒng)計。
三.需求分析
3.1 數(shù)據(jù)流分析
頂層數(shù)據(jù)流圖
零售前臺(POS)管理系統(tǒng)數(shù)據(jù)流圖
3.2 系統(tǒng)流程圖
3.3 數(shù)據(jù)字典
商品信息
包括品名,倉庫號,唯一標碼,條形碼,進貨價,銷售價,進貨地,供貨商號。倉庫信息
包括倉庫號,倉庫名,類別,管理員工號,備注。員工信息
包括姓名,電話,工號,部門編號。會員信息
會員編號,會員名,電話,入會日期。供貨商信息
包括供貨商號,名稱,地址,電話,聯(lián)系人。銷售信息
包括正常銷售、促銷與限量、限期禁止銷售控制、銷售明細記錄、各地收銀員收銀記錄、交結(jié)賬信息,收銀員工號。部門信息
包括部門編號,員工姓名,員工工號。
四.總體設計
4.1 功能模塊圖
4.2 層次方框圖
4.3 IPO圖
4.4 系統(tǒng)的功能結(jié)構(gòu)圖
4.5 工作流程模擬圖
4.6系統(tǒng)數(shù)據(jù)庫關系說明圖
五.詳細設計
5.1 前臺銷售(POS)功能流程圖
5.2 后臺管理功能流程圖
第四篇:基于java小型超市管理系統(tǒng)
import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Arrays;import java.util.Scanner;
public class Mytest { static int sign=0;//goodname數(shù)組第一個空下標號
static int sign1=0;//cname數(shù)組第一個空下標號
static String[] cpass=new String[20];//存放售貨員名稱
static String[] cname=new String[20];//存放售貨員登入密碼
static String[] goodname=new String[20];//存放商品名稱
static double[] goodprice=new double[20];//存放商品價格
static int[] goodout=new int[20];//存放商品銷售量
static int[] goodnum=new int[20];//存放商品數(shù)量
public static void main(String[] args)throws Exception { cname[0]=“ZhouTian”;//初始的售貨員名稱
cpass[0]=“723”;//初始的售貨員密碼 createArrays();readArrays(“goodname”);//將文件中的內(nèi)容讀入到相應的數(shù)組里
readArrays(“goodprice”);readArrays(“goodnum”);readArrays(“cname”);readArrays(“cpass”);readArrays(“goodout”);menu();//登入之后加載的主菜單
} /** * 加載登入菜單
*/ private static void menu(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt歡迎使用商超購物管理系統(tǒng) n”);
System.out.println(“tttt1.登錄系統(tǒng)n”);
System.out.println(“tttt2.退出 ”);
System.out.println(“*************************************************”);
System.out.println(“請選擇,輸入數(shù)字: ”);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“退出!”);//按0不登入
case 1:
System.out.println(“請輸入用戶名:”);// 查找售貨員姓名是否存在,與所對應的密碼是否匹配
String name = scan.next();
System.out.println(“請輸入密碼:”);
String pass = scan.next();
int flage = 0;
int ff = 0;
for(int i = 0;i < cname.length;i++){
if(name.equals(cname[i])){
flage = 1;//售貨員的名稱匹配flage=1;
ff = i;
break;
}
}
if(flage == 1){//名稱匹配之后再匹配密碼
if(pass.equals(cpass[ff])){
loadmenu1();//密碼也匹配之后再允許登入
} else {
System.out.println(“密碼錯誤!”);
}
} else {
System.out.println(“該用戶名不具有權限”);
}
break;
case 2:
System.out.println(“謝謝您的使用!”);
break;
default:
break;
} }
/** * ,創(chuàng)建文件,將數(shù)組信息存入到各文件中, */ static void createArrays(){
BufferedWriter bw = null;
try {
File file1 = new File(“d:gname.txt”);
if(!file1.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content1);//寫入
bw.close();
}
File file2 = new File(“d:gprice.txt”);
if(!file2.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content2);//寫入
bw.close();
}
File file3 = new File(“d:gnum.txt”);
if(!file3.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content3);//寫入
bw.close();
}
File file4 = new File(“d:cname.txt”);
if(!file4.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content4);//寫入
bw.close();
}
File file5 = new File(“d:cpass.txt”);
if(!file5.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content5);//寫入
bw.close();
}
File file6 = new File(“d:gout.txt”);
if(!file6.exists()){
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content5 = intToString(goodout);//數(shù)組內(nèi)容轉(zhuǎn)換成字符串
bw.write(content5);//寫入
bw.close();
}
} catch(IOException e){
e.printStackTrace();
}
}
/** * 登入之后加載商超購物管理系統(tǒng)
*/ static void loadmenu1(){
System.out.println(“歡迎進入商超購物管理系統(tǒng)!”);
System.out.println(“tttt商超購物管理系統(tǒng)”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.商品維護”);
System.out.println(“tttt2.前臺收銀”);
System.out.println(“tttt3.商品管理”);
System.out.println(“tttt4.退出”);
System.out.println(“********************************************************************************”);
System.out.println(“請選擇,輸入數(shù)字或按0退出:”);
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
switch(a){
case 0:
System.out.println(“謝謝您的使用!”);
break;
case 1:
System.out.println(“執(zhí)行顯示商品維護菜單”);
loadmenu2();
break;
case 2:
System.out.println(“執(zhí)行前臺收銀”);
loadmenu6();
break;
case 3:
System.out.println(“執(zhí)行商品管理”);
loadmenu7();
break;
default:
break;
} } /* * 在商超購物管理系統(tǒng)中按1鍵時 */ static void loadmenu2(){
System.out.println(“tttt商超購物管理系統(tǒng) 商品維護”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.添加商品t”);
System.out.println(“tttt2.更改商品t”);
System.out.println(“tttt3.刪除商品t”);
System.out.println(“tttt4.顯示所有商品t”);
System.out.println(“tttt5.查詢商品t”);
System.out
.println(“********************************************************************************”);
System.out.println(“請選擇,輸入數(shù)字或按0返回上一級菜單:”);
Scanner scan = new Scanner(System.in);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu1();
break;
case 1:
addgoods();
break;
case 2:
System.out.println(“執(zhí)行更改商品操作”);
loadmenu3();// 修改商品
break;
case 3:
System.out.println(“執(zhí)行商品刪除操作”);
loadmenu4();// 商品刪除
break;
case 4:
System.out.println(“顯示所有商品”);
System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數(shù)量ttt”
+ “備注”);
showgoods();
break;
case 5:
System.out.println(“執(zhí)行查詢商品操作”);
loadmenu5();
break;
default:
break;
} } /* * 在商超購物管理系統(tǒng)中按2鍵時
*/ static void loadmenu6(){
System.out.println(“tttt商超購物管理系統(tǒng) 前臺收銀”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.購物結(jié)算”);
Scanner scan = new Scanner(System.in);
int ch = scan.nextInt();
switch(ch){
case 0:
loadmenu1();
break;
case 1:
pay();
break;
default:
break;
}
} /* * 在商超購物管理系統(tǒng)中按3鍵時
*/ static void loadmenu7(){
Scanner scan = new Scanner(System.in);
System.out.println(“ttt商超購物管理系統(tǒng) 商品管理”);
System.out
.println(“********************************************************************************”);
System.out.println(“tttt1.庫存查詢”);
System.out.println(“tttt2.已出售商品”);
System.out.println(“tttt3.售貨員管理”);
System.out.println(“請選擇,輸入數(shù)字或按0返回上一級菜單:”);
int ch = scan.nextInt();
switch(ch){
case 0: loadmenu1();
break;
case 1:
System.out.println(“執(zhí)行庫存查詢操作:”);
kusear();
break;
case 2:
System.out.println(“執(zhí)行已出售商品查詢操作”);
besold();
break;
case 3:
System.out.println(“執(zhí)行售貨員管理操作”);
salesman();
break;
default:
break;
}
} /* * 對售貨員信息的增添,修改 */ static void salesman()
{
Scanner scan = new Scanner(System.in);
System.out.println(“
1、添加售貨員”);
System.out.println(“
2、修改售貨員信息”);
System.out.println(“請選擇,輸入數(shù)字或按0返回上一級菜單:”);
int b = scan.nextInt();
switch(b){
case 0:
loadmenu7();//返回上一級
break;
case 1:
addsale();//選擇1鍵,添加售貨員
break;
case 2:
modifysale();//更改售貨員的信息
break;
default:
break;
} } /* 添加售貨員 * */ static void addsale(){
Scanner scan = new Scanner(System.in);
String f;
// sign1 = sign1 + 1;
do {
System.out.println(“添加售貨員姓名:”);
String addname = scan.next();
add(cname, addname, sign1);//將新信息添加到相應數(shù)組中
System.out.println(“添加售貨員登陸密碼:”);
String addpass = scan.next();
add(cpass, addpass, sign1);//將新信息添加到相應數(shù)組中
// writeArray();
sign1++;//新信息添加后數(shù)組下標加1
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
// writeArray();
} while(f.equals(“y”));
salesman();} /* * 更改售貨員的信息 */ static void modifysale(){
String f;
Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改員工名稱:”);
String newname = scan.next();
int k = searmember(newname);//查詢需要改的售貨員的信息,并返回其在數(shù)組中的下標
if(k >= 0){//判斷售貨員是否存在
System.out.println(“員工姓名” + “ttt密碼”);
System.out.println(cname[k] + “ttt” + cpass[k]);
System.out.println(“選擇您要更改的內(nèi)容:”);
System.out.println(“
1、更改員工姓名:”);
System.out.println(“
2、更改登錄密碼:”);
int kk = scan.nextInt();
switch(kk){
case 1:
System.out.println(“請輸入已更改員工姓名:”);
String newnname = scan.next();
cname[k] = newnname;
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
} else {
salesman();
}
break;
case 2:
System.out.println(“請輸入已更改密碼:”);
String newpass = scan.next();
cpass[k] = newpass;
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
// System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
if(f.equals(“y”)){
modifysale();
}
salesman();
break;
default:
break;
}
} } /* * 查詢ename姓名的售貨員在數(shù)組中的下標 */ static int searmember(String ename){
for(int i = 0;i < cname.length;i++){
if(cname[i].equals(ename)){
return i;
}
}
return-1;// 不存在時
} /* * 查詢已出售的商品信息 */ static void besold()
{
System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數(shù)量ttt” + “備注”);
for(int i = 0;i < goodout.length;i++){
if(goodout[i]!= 0){
System.out.println(goodname[i] + “ttt” + goodprice[i]
+ “ttt” + goodout[i]);
}
}
loadmenu7();} /* * 查詢庫存中售的商品信息
*/ static void kusear(){
Scanner scan = new Scanner(System.in);
String f;
do {
System.out.println(“輸入要查詢的商品名稱:”);
String sname = scan.next();
int t = ndimsear(sname);//按確切的商品名稱進行查詢,即非模糊查詢,找出商品名稱信息的下標
if(t >= 0){
System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數(shù)量ttt”
+ “備注”);
System.out.println(goodname[t] + “ttt” + goodprice[t]
+ “ttt” + goodnum[t] + “ttt”);//按下標輸出商品相應的信息
} else {
System.out.println(“沒有此商品”);
}
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
} while(f.equals(“y”));
loadmenu7();
} /* * 按確切的商品名稱進行查詢,即非模糊查詢,找出商品名稱信息的下標
*/ static int ndimsear(String s){
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(s)){
return i;
}
}
return-1;//沒查詢到時
}
/* * 商品結(jié)算
*/ static void pay(){
Scanner scan = new Scanner(System.in);
double sum = 0;
String f;
do {
dimsearch1();//按關鍵字進行模糊查詢,查找可能需要的商品
System.out.println(“請選擇商品:”);
String bnam = scan.next();//按查詢到的相關商品中選擇要購買的商品
System.out.println(“請輸入購買數(shù)量:”);
int bnum = scan.nextInt();
int fl = seargood(bnam);
System.out.println(bnam + “ttt” + goodprice[fl] + “ttt”
+ “購買數(shù)量” + bnum + “ttt” + bnum * goodprice[fl]);
goodnum[fl] = goodnum[fl]sum));
writeArray();//將對數(shù)組的更改寫入到文件中
loadmenu1();//結(jié)束購買返回
} /* * 查找商品返回下標 */ static int seargood(String bbnam){
for(int i = 0;i <= goodname.length;i++){
if(goodname[i].equals(bbnam)){
return i;
}
}
return-1;}
/* * 對商品進行各種查找
*/
static void loadmenu5(){
Scanner scan = new Scanner(System.in);
System.out.println(“
1、按商品數(shù)量升序查詢”);
System.out.println(“
2、按商品價格升序查詢”);
System.out.println(“
3、輸入關鍵字查詢商品”);
System.out.println(“請選擇,輸入數(shù)字或按0返回上一級菜單:”);
int choice = scan.nextInt();
switch(choice){
case 0:
loadmenu2();//返回上一級
break;
case 1:
numshenxu();//按商品數(shù)量升序進行查找
break;
case 2:
priceshenxu();//按商品價格升序進行查找
break;
case 3:
dimsearch();//按商品的關鍵字進行查找
break;
default:
break;
}
}
static void dimsearch1(){
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“輸入商品關鍵字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數(shù)量ttt” + “備注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt” goodprice[k[i]]
+ “ttt” + goodnum[k[i]] + “ttt”);
}
}
} /* * 按商品的關鍵字進行查找
*/ static void dimsearch()
+ {
String f;
do {
int[] k;
Scanner scan = new Scanner(System.in);
System.out.println(“輸入商品關鍵字:”);
String sear = scan.next();
k = Arrays.copyOf(index(sear), index(sear).length);
System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數(shù)量ttt”
+ “備注”);
if(k!= null){
for(int i = 0;i < k.length;i++){
System.out.println(goodname[k[i]] + “ttt”
+ goodnum[k[i]]
+ “ttt”);
}
goodprice[k[i]]
+
“ttt”
+
}
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();} while(f.equals(“y”));loadmenu2();} static int[] index(String ss){ int countt = 0;int counttt = 0;for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
countt++;
} } int[] location = new int[countt];for(int i = 0;i < goodname.length;i++){
if(goodname[i].indexOf(ss)>= 0){
location[counttt] = i;
counttt++;
}
}
return location;} /* * 按商品數(shù)量升序進行查找
*/ static void numshenxu(){
int[] newnum = Arrays.copyOf(goodnum, goodnum.length);
double[]
newprice
=
Arrays.copyOf(goodprice, goodprice.length);
String[] goodname.length);
for(int i = 0;i < newnum.lengthi1;i++){
for(int j = 0;j < newprice.length1;j++){
if(newprice[j] < newprice[j + 1]){
int temp = newnum[j];
newnum[j] = newnum[j + 1];
newnum[j + 1] = temp;
double temp1 = newprice[j];
newprice[j] = newprice[j + 1];
newprice[j + 1] = temp1;
String temp2 = newname[j];
newname[j] = newname[j + 1];
newname[j + 1] = temp2;//相應的下標在不同的數(shù)
newname
=
Arrays.copyOf(goodname, 組里進行挑換,商品的信息才能保持一致
}
}
}
System.out.println(“商品名稱ttt” + “商品價格ttt” + “商品數(shù)量ttt” + “備注”);
for(int k = 0;k < newnum.length;k++){
if(newprice[k]!= 0){
System.out.println(newname[k] + “ttt” + newprice[k]
+ “ttt” + newnum[k] + “ttt”);
}
}
loadmenu5();} /* *更改商品信息的操作
*/ static void loadmenu3(){
Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱:”);
String nam = scan.next();
int b = showflage(nam);
print(b);
System.out.println(“選擇您要更改的內(nèi)容:”);
System.out.println(“
1、更改商品名稱::”);
System.out.println(“
2、更改商品價格:”);
System.out.println(“
3、更改商品數(shù)量:”);
int ch = scan.nextInt();
switch(ch){
case 0:
break;
case 1:
int counnt = 0;
String f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱:”);
nam = scan.next();
b = showflage(nam);//查找需要更改商品的下標
print(b);//輸出這個商品的各種信息
}
System.out.println(“請輸入已更改商品名稱”);
String cname = scan.next();
goodname[b] = cname;//更改名稱
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 2:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“請輸入已更改商品價格”);
double cprice = scan.nextDouble();
goodprice[b] = cprice;//新價格寫入數(shù)組
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
counnt++;
writeArray();
}
loadmenu2();
break;
case 3:
counnt = 0;
f = “y”;
while(f.equals(“y”)){
if(counnt!= 0){
// Scanner scan = new Scanner(System.in);
System.out.println(“輸入更改商品名稱”);
nam = scan.next();
b = showflage(nam);
print(b);
}
System.out.println(“請輸入已更改商品數(shù)量”);
int cnum = scan.nextInt();
goodnum[b] = cnum;
counnt++;
writeArray();
System.out.println(“是否繼續(xù)(y/n)”);
f = scan.next();
}
loadmenu2();
break;
default:
break;
}
} /* * 查詢nama這個商品在goodname中的下標
*/ static int showflage(String nama){
int flag = 0;
for(int i = 0;i < goodname.length;i++){
if(goodname[i].equals(nama)){
flag = i;
break;
}
}
return flag;}
static void print(int b){
System.out.println(“商品名稱 tt” + “商品價格 tt” + “商品數(shù)量 tt” + “備注”);
System.out.println(goodname[b] + “tt” + goodprice[b] + “tt”
+ goodnum[b] + “ tt”);
} /* * 刪除商品菜單
*/ static void loadmenu4(){
String f;
int d;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“請輸入要刪除的商品名稱:
String dname = scan.next();
d = showflage(dname);
delete(d);
System.out.println(”是否繼續(xù)(y/n)“);
f = scan.next();
writeArray();//刪除之后重新寫入文件
} while(f.equals(”y“));
loadmenu2();}
”);/* * 刪除商品 */ static void delete(int dd){
for(int i = dd;i < goodname.length1] = null;
goodprice[goodprice.length1] = 0;
} /* * 查詢所有商品
*/ static void showgoods(){
int i = 0;
while(goodprice[i]!= 0){
System.out.print(goodname[i] +
“ttt” goodprice[i] + “ttt”
+
+ goodnum[i] + “ttt”);
if(goodnum[i] < 10){
System.out.println(“ttt*該商品已不足10件!”);
}
System.out.println();
i++;
}
loadmenu2();
} /* * 商品添加操作 */ static void addgoods(){
System.out.println(“執(zhí)行添加商品操作:t”);
String a;
do {
Scanner scan = new Scanner(System.in);
System.out.println(“輸入商品名稱:”);
String na = scan.next();
add(goodname, na, sign);
System.out.println(“輸入添加商品價格:”);
double pr = scan.nextDouble();
add(goodprice, pr, sign);
System.out.println(“輸入添加商品數(shù)量:”);
int c = scan.nextInt();
add(goodnum, c, sign);
sign++;
System.out.println(“是否繼續(xù)(y/n)”);
a = scan.next();
writeArray();
} while(a.equals(“y”));
loadmenu2();
} /* * 將數(shù)組信息寫入到相應的文件里,啟動程序時就要調(diào)用這個函數(shù) */ static void writeArray(){
BufferedWriter bw = null;
try {
bw
=
new
BufferedWriter(new FileWriter(“d:gname.txt”));
String content1 = strToString(goodname);
bw.write(content1);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gprice.txt”));
String content2 = doubleToString(goodprice);
bw.write(content2);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gnum.txt”));
String content3 = intToString(goodnum);
bw.write(content3);
bw.close();
bw = new BufferedWriter(new FileWriter(“d:cname.txt”));
String content4 = strToString(cname);
bw.write(content4);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:cpass.txt”));
String content5 = strToString(cpass);
bw.write(content5);
bw.close();
bw
=
new
BufferedWriter(new FileWriter(“d:gout.txt”));
String content6 = intToString(goodout);
bw.write(content6);
bw.close();
} catch(IOException e){
e.printStackTrace();
} } /* * 添加商品名稱 */ static void add(String[] aa, String n, int b){
if(b == aa.length){
aa =(String[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = n;} /* * 添加商品價格
*/ static void add(double[] aa, double pr, int b){
if(b == aa.length){
aa =(double[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = pr;} /* * 添加商品數(shù)量
*/ static void add(int[] aa, int cc, int b){
if(b == aa.length){
aa =(int[])Arrays.copyOf(aa, aa.length * 2);
}
aa[b] = cc;
}
/** * 從文件中讀取信息到相應的數(shù)組里
*/ static void readArrays(String name)throws Exception {
BufferedReader br = null;
try {
if(“goodname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gname.txt”));
String content1 = br.readLine();
String[] arr = strToString(content1);
goodname arr.length);
for(int i = 0;i < goodname.length;i++){
if(!goodname[i].equals(“null”)){
sign++;
=
(String[])
Arrays.copyOf(arr,}
}
} else if(“goodprice”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:gprice.txt”));
String content2 = br.readLine();
double[] arr = doubleToString(content2);
goodprice arr.length);
} else if(“goodnum”.equals(name)){
br
=
new
BufferedReader(new
=
(double[])
Arrays.copyOf(arr, FileReader(“d:gnum.txt”));
String content3 = br.readLine();
int[] arr = intToString(content3);
goodnum =(int[])Arrays.copyOf(arr, arr.length);
} else if(“cname”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cname.txt”));
String content4 = br.readLine();
String[] arr = strToString(content4);
cname arr.length);
=(String[])Arrays.copyOf(arr,for(int i = 0;i < cname.length;i++){
if(!cname[i].equals(“null”)){
sign1++;
}
}
} else if(“cpass”.equals(name)){
br
=
new
BufferedReader(new FileReader(“d:cpass.txt”));
String content5 = br.readLine();
String[] arr = strToString(content5);
cpass arr.length);
} else {
br
=
new
BufferedReader(new
=
(String[])
Arrays.copyOf(arr, FileReader(“d:gout.txt”));
String content6 = br.readLine();
int[] arr = intToString(content6);
goodout =(int[])Arrays.copyOf(arr, arr.length);
}
} catch(FileNotFoundException e){
e.printStackTrace();
} catch(IOException e){
e.printStackTrace();
}
} /* * 將字符串轉(zhuǎn)換成字符串數(shù)組 */ static String strToString(String[] arry){
// String arrys=“";
// for(int i=0;i // { // arrys=arry+arry[i]+”,“; // } // //arrys=arrys+arry[arry.length-1]; // System.out.println(arrys); // return arrys; StringBuilder sb = new StringBuilder(); for(int i = 0;i < arry.length;i++){ sb.append(arry[i]).append(”,“); } sb.deleteCharAt(sb.length()-1); // System.out.println(sb.toString()); return sb.toString();} /* * 將字符串轉(zhuǎn)換成字符串數(shù)組 */ static String[] strToString(String ar){ String[] arry = ar.split(”,“);return arry;} /* * 將int型數(shù)組轉(zhuǎn)換成字符串 */ static String intToString(int[] arrr){ String ss = ”“; ss = Arrays.toString(arrr); String sss = ss.replace(”[“,”“).replace(”]“, ”“).replace(” “, ”"); 商品管理 第一章 門店商品進銷存管理 一、訂貨 1、店長依據(jù)《門店作業(yè)手冊》規(guī)范,及時了解陳列商品及庫存商品的數(shù)量情 況,結(jié)合銷售動態(tài),倉庫容量,每日仔細填寫訂單簽字后傳至采購部,無 訂單門店次日出現(xiàn)斷貨現(xiàn)象,由店長負責,但是下訂單后,必須保證次日 貨物送達有存放位置,否則由店長自行解決,不得占用營業(yè)場地。 2、采購部接到訂單后,匯總各門店相同商品,做同一代理商統(tǒng)一訂貨訂單,必須標明送貨門店地址、電話、送達時間,如因不知地址無法送貨出現(xiàn)斷 貨由采購部責任人負責,如因供應商不給送貨出現(xiàn)斷貨,由采購部考核供 應商 3、供應商接到訂單,必須準時將貨物送達指定門店,如出現(xiàn)不送情況,店 長及時反饋運營部,由運營部督促采購部落實完成。 4、店長要結(jié)合銷售情況,保證各產(chǎn)品的安全庫存,不得出現(xiàn)斷貨現(xiàn)象。 二、收貨 1、供應商送達貨物后,門店進行驗貨,必須保證生產(chǎn)日期在保質(zhì)期三分之一 內(nèi),無破損,出現(xiàn)外包裝破損的,開箱逐一驗收,規(guī)格、單價與合同一致,數(shù)量與訂單一致,高于訂單數(shù)量以外的貨不收,否則出現(xiàn)差異由收貨人承 擔。 2、所有項目核對無誤后,在票據(jù)簽字,將票據(jù)交店長或副店長審核簽字確認,然后由店長留存一聯(lián)入賬并轉(zhuǎn)財務,票據(jù)必須必須保證有送貨人簽字。 3、帶促銷品的商品,促銷品依據(jù)收貨方式簽收,妥善保管。 4、供應商清倉商品,必須帶采購部及企劃部簽署活動方案,方可收貨。 5、供應商送達貨物后,門店必須依據(jù)訂單接收,否則造成供應商不給送送貨 由店長負責,出現(xiàn)過大量囤貨由店長負責。 三、銷售 依據(jù)《門店作業(yè)手冊》及《企劃手冊》執(zhí)行,結(jié)合超市陳列方式陳列做好銷售,不得出現(xiàn)貨架空缺,倉庫集貨現(xiàn)象,否則由店長負責,給予經(jīng)濟處罰。 四、退換貨 1、破損退換貨:一袋或個別商品出現(xiàn)破碎或破損造成批量污染的需要退貨的,由店長和送貨人協(xié)調(diào)解決退貨,發(fā)現(xiàn)后及時退貨;批量破損,如門 店原因造成或者收貨不注意,由店長與供應商協(xié)調(diào)解決,協(xié)調(diào)無果由店長 負責,如出現(xiàn)特殊情況(氣體飲料自行開啟等)非門店造成,門店報營 運部,由營運部督促采購部協(xié)調(diào)解決,解決無果按采購制度執(zhí)行。 2、臨期商品退換貨:滯銷商品出現(xiàn)臨期商品(保質(zhì)期三分之二以上商品) 需要退換貨的,由門店報營運部,由營運部督促采購部協(xié)調(diào)解決,解決 無果按采購制度執(zhí)行。 五、供應商結(jié)賬方式及門店賬務核銷、損耗標準: 依據(jù)財務部制定相關流程及方式、制度執(zhí)行。 第二章 商品銷售定位管理 一、為了保證門店商品商品銷售最大化,做好快速淘汰與引進制,現(xiàn)將商品統(tǒng)稱 做如下分類:新品、戰(zhàn)略性商品、主力商品、穩(wěn)定性商品、。 二、新品:首期開店,依據(jù)大宗采購原則引進商品,運營期間逐步采購回商品或 地區(qū)新引進商品,全部定位新品。 1、新品引進方式:大宗采購法;門店和采購部及時掌握市場信息(所有員工協(xié)助),發(fā)現(xiàn)比較好的新品及時引進; 2、新品淘汰: A、大宗采購的所有商品依據(jù)銷售數(shù)據(jù),結(jié)合門店所在商圈消費習慣,逐步單店淘汰,如出現(xiàn)所有門店全部滯銷的,及時淘汰。 B、引進的新上市產(chǎn)品培養(yǎng)期不超2各月,依據(jù)銷售數(shù)據(jù)及時轉(zhuǎn)入一下 三種范疇內(nèi)或淘汰。 3、陳列位置: A、大宗采購引進老產(chǎn)品按照門店陳列式陳列; B、新上市商品盡可能陳列在堆頭或端架; 三、戰(zhàn)略性商品:淘汰滯銷品后的知名廠家商品或進口商品;每天在無促銷活動 有較大銷售量的商品,利潤較大商品,統(tǒng)稱戰(zhàn)略性商品。 1、商品淘汰:所有商品都有生命期,依據(jù)銷售量,結(jié)合社區(qū)商圈消費習慣 及時轉(zhuǎn)入穩(wěn)定商品行列或淘汰。 2、陳列位置:依據(jù)門店方式盡可能陳列于消費者視線范圍,便于拿取的地 方。 四、主力商品:每個促銷檔期的促銷商品,季節(jié)性商品統(tǒng)稱主力商品。 1、商品淘汰:依據(jù)促銷檔期銷售數(shù)據(jù)分析,促銷期間沒有較大量的提升,取消所在門店的以后促銷資格,季節(jié)性商品依據(jù)銷售數(shù)據(jù),及時轉(zhuǎn)入穩(wěn) 定商穩(wěn)定性商品或淘汰。 2、陳列位置,盡可能陳列于堆頭、端架,并有POP指示。 五、穩(wěn)定性商品:除了上述商品外,每日有銷量的商品,統(tǒng)稱穩(wěn)定性商品。 1、商品淘汰:依據(jù)銷售數(shù)據(jù),出現(xiàn)滯銷商品及時淘汰。 2、陳列位置:依據(jù)超市陳列法陳列于貨架偏下或偏上方。 第三章 商品庫存管理 一、庫房管理: 1、門店倉庫設置:根據(jù)實際情況,盡量避免占用營業(yè)面積,可以在不影響 消費者購物的情況下搭建二層架,作為臨時庫房。 2、倉庫內(nèi)設施:因門店倉庫面積小,單品數(shù)量多,單品存貨量小,避免互 相堆壓,出現(xiàn)商品找不到,過期現(xiàn)象,盡量在庫內(nèi)用角鋼 加木板做囤貨貨架。 二、庫位及商品存放管理: 1、庫位管理:店長必須做好商品庫位管理,按大類分區(qū),然后在大類里按 小類分區(qū),再按單品分區(qū),退貨區(qū)(根據(jù)退貨量可以靈活掌 握),除退貨區(qū),其他庫區(qū)必須固定。 2、商品存放管理:A、所有商品必須保證現(xiàn)金先出原則,入庫時必須注意 將舊貨應放到外邊,不得用新貨遮擋舊貨。 B、做好倉庫防護工作:防鼠、防火、防水、防壓、防 腐、防銹、防爆、防曬、防倒塌、防潮、防盜、防 蛀、防電。 C、數(shù)量管理:凡不直接上貨架需要入庫的商品,店長 要另建臺賬,做好入庫數(shù)量,每出一次 詳細記錄一次,要求有取貨人的簽字。 否則在盤點時出現(xiàn)差異由店長承擔。 三、商品庫存管理; 1、商品庫存管理解釋:凡門店簽收未銷售出去的商品都屬庫存商品。 2、庫存管理:銷售區(qū)陳列商品必須做臺賬,倉庫庫區(qū)商品存放必須做臺賬; 陳列商品臺賬數(shù)量+庫區(qū)商品臺賬數(shù)量=實際庫存數(shù)量 商品實際庫存+銷售數(shù)量=實際進貨量 3、商品記賬方式: 實際進貨量:按照門店簽收數(shù)量記錄總量,然后分開2筆記錄——銷售 區(qū)量、庫房區(qū)量; 銷 售 量:依據(jù)日報表數(shù)據(jù),必須和收銀臺一致,從銷售區(qū)臺賬里核 減; 商品實際庫存量:每次從庫房出庫,從庫房區(qū)臺賬數(shù)量核減,在銷售區(qū) 數(shù)量加上。 4、庫存商品損耗:按照財務制度制定損耗執(zhí)行,盤點時出現(xiàn)盤虧,如果損耗 數(shù)量還不足,由店長承擔;如果盤贏,無損耗,給予店長 獎勵,減去損耗還多,多出部分歸超市所有,同時追究店 長責任。 5、促銷贈品同樣按上述方式管理。 四、安全庫存管理: 1、計算公司:安全庫存=(預計最大消耗量-平均消耗量)*采購周期。 2、為了不影響門店銷售額,不出現(xiàn)斷貨現(xiàn)象,必須保證有安全庫存。 3、安全庫存由店長負責,店長依據(jù)銷售信息及送貨周期,有預見性的提前訂 貨,否則出現(xiàn)斷貨由店長負責,特殊情況除外(如突然性的大型團購),如 出現(xiàn)類似的情況,及時聯(lián)系采購部,加急訂貨、送貨,或者和顧客預約時 間。 五、現(xiàn)金進貨管理: 1、原則:保證不斷貨,避免擾亂供貨商送貨積極性,盡量做到每次進貨量少,訂貨頻次高,尤其是保質(zhì)期偏短商品。 2、如出現(xiàn)現(xiàn)金進貨商品出現(xiàn)滯銷或積壓,店長應及時向營運部反饋,營運部 協(xié)調(diào)各門店,各部門協(xié)助處理,采購部和供應商落實促銷贈品,企劃部做 促銷規(guī)劃,各門店處理后,由積壓門店做退貨,協(xié)助處理門店做進貨處理,算作處理門店銷量,如協(xié)助門店無法賣出,將貨退回積壓商品店,由店長 負責。 六、賬期進貨管理: 1、原則:店長根據(jù)庫房庫容量,貨架牌面陳列量,可適當放大進貨量。 2、店長應每次例會及時反應貨量狀況,出現(xiàn)滯銷或積壓,尤其臨近保質(zhì)期3 分之二時間時,務必及時反饋,否則由出現(xiàn)過期由店長承擔。 3、出現(xiàn)滯銷或積壓,供應部第一時間聯(lián)系供應商提供促銷支持,企劃部依據(jù) 促銷支持做促銷策劃,需要各店互調(diào)促銷的由供應商出車及人力協(xié)助,負 責取消促銷,直接做退貨處理。 第四章 商品質(zhì)量管理 一、收貨時注意事項: 1、包裝或標簽破損; 2、包裝或標簽折裂; 3、包裝或標簽污染; 4、包裝或標簽變色; 5、包裝或標簽劃傷; 6、包裝或標簽變形; 7、液體商品滲漏。 二、陳列存放時注意事項: 1、包裝或標簽劃傷; 2、包裝或標簽變形; 3、包裝或標簽污染; 4、液體商品擠壓、碰撞; 5、踩踏、坐臥商品;6超出包裝承重范圍。 三、搬運時注意事項: 1、野蠻搬運; 2、踩踏、坐臥商品; 3、包裝或標簽劃傷; 4、包裝或標簽污染; 5、液體商品擠壓、碰撞;6包裝或標簽折裂。 四、衛(wèi)生清潔時注意事項: 1、包裝或標簽劃傷; 2、包裝或標簽污染; 3、包裝或標簽折裂; 4、包裝或標簽損壞; 5、液體商品滲漏;6液體商品擠壓、碰撞; 7、商品凌亂堆放; 8、踩踏、坐臥商品。 綜上所述,除第一條可以拒收,其他均由損壞人賠償,發(fā)現(xiàn)滲漏現(xiàn)象及時報店長,注意污染其他商品。第五篇:小型連鎖超市商品管理