版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、仓库管理系统课程设计报告指导教师:孙暘姓名:黄志浩 学院:计算机科学与工程学班级: 150407需求分析仓库管理系统应完成以下功能:(1)基础数据设定 主要包括仓库类型定义、仓库定义、仓库产品低储、高储、存储限量及存储期限、货位定义、货位存 储能力、定义成本统计参数(包括总体系数、每种产品成本系数)、预警机制时间系数定义。(2)仓库入库 包括原材料入库和成品入库1. 原材料入库:一种是本地的采购:首先由采购处编写请检单,经过质检部门质检合格后(质检部门 记录质检结果,合格数、不合格数),仓库保管员将质检合格的原料入库(记录采购部门定义的当时 单价)。系统自动产生入库单号(相当于入库批次号形式为
2、年月日)。此时为仓库的假入库状态。办 理入库后,由仓库管理员对入库单明细确认是否真入库。入库需要记录项目有:仓库、仓库货位、库 管员、图号、型号、颜色、数量。若质检不合格,则对不合格原料进行挑选,把合格原料入库。 另一种是外地的采购:首先由库管员办理入库(放入待检区)。向采购部门和质检部门发消息。经过 质检部门质检合格后方可入库(入库的操作同上)。不合格原料由仓库管理员办理手续进入相应的仓 库,入库时应分货位存储(相应的仓库:如待检区的不合格区),系统自动产生入库单号(相当于批 次号)。2. 成品入库 :由生产车间经过质检部门质检合格后 ,由生产车间填写成品入库单提交到仓库管理员 , 不 合格
3、的入到待处理库房。(3)仓库出库 包括原材料出库、销售出库 1.原材料出库:由生产车间填写领料单(标注班组),仓库管理员办理出库确认约束条件:按照批次 号先进先出的原则。车间填写领料单时可以是成品。提交仓库时,由仓库通过质部门提供的物资配料 清单分解需要的零部件数量,根据现库存办理出库确认。2.销售出库:销售出库由生产部门填写的销售出库单,办理出库。销售退库经质检部门合格后的成品 入到成品库。(4)仓库退库 包括原材料退库、成品退库、销售退库 1.原材料退库:生产车间将零部件或成品退回仓库。首先有生产车间填写退库单(相当于出库为负) ,由质检部门确认后方可由仓库确认。生产车间退库时,需要知道哪
4、个批次的货物。2.成品退库:成品退库,首先由质检部门同意将产品从生产车间退回库中。由车间填写退库单。经过 仓库管理员确定后办理退库。3. 销售退库:由厂商将产品退回仓库,首先由质检部门质检,质检合格由仓 库管理员办理退库单。不合格的存放待处理成品区中。(5)仓库库存查询:根据仓库一段时间内发生的入、出、退汇总数量、金额。( 6 )统计分析:查询仓库产品数量分布情况。(7)自动提醒预警信息:根据产品入出退库时间和系统参数定义,统计仓库目前的超量及库存已低 于低储 ,存储期限超出查询。(8)仓库台帐:及时反映仓库产品的入、出、退明细帐。( 9) 仓库存储成本统计:根据产品成本系数和存储时间计算存储
5、成本 公式:产品在仓库存储时间差 *数量 *单价 *相应的总体系数 *该产品自定义系数计算仓库存储成本概要设计源程序有 7 个文件:main.cpp 程序入口,显示主菜单并跳转到工具类相应成员函数部分。tools.cpp tools.hpp 工具类,程序由 main.cpp 跳转到工具类,有工具类具体跳转到相应部分。product.cpp product.hpp 产品类,主要负责保存产品信息,即对象模型,同时还负责将对象保存的数 据写入文件,或将文件中的数据经过链表类保存到对象中。该文件中还有一个日志类 WareLogs ,继承自 product ,负责每次入、出、退库时需要记录的信息,如 日
6、期、产品型号、数量,还负责将对象保存的数据写入另外的日志文件,或将日志文件中的数据读取 到对象中。同时日志类对象还有另外一个功能:将基础数据设定的数据写入单独的文件中。linkList.cpp linkList.hpp 链表类,保存的是节点类对象,节点类对象的数据域为产品类对象。链表类 的主要功能是将某文件中所有数据读取为链表,或在链表对象中搜索出某产品并对该产品进行相应更 改之后再次将链表对象的数据域写入文件。/ 成品不合格文件名/ 成品合格文件名/ 原材料不合格文件名/ 原材料合格文件名/ 基础/ 保存入出退日用来保存数据的文件有 6 个:const string noQuilityPro
7、dCFileName = "noQuilityProdCFile.txt" const string QuilityProdCFileName = "QuilityProdCFile.txt"const string noQuilityProdYFileName = "noQuilityProdYFile.txt" const string QuilityProdYFileName = "QuilityProdYFile.txt"const string LogsToTheFile = "logsFile
8、.txt" 信息设定配置文件const string ProductLogFileName = "productLog.txt" 志信息详细设计产品类 数据成员部分: 货物型号货物数量货位号单价该产品的自定义成本系数颜色库管员仓库名称入出 退库时间戳 成员方法:int setInWareList(); / 填写入库单,将数据保存在对象模型中 void setSaleWareList();/ 填写销售出库单,将数据保存在对象模型中void setReceiveList(); / 填写领料单,将数据保存在对象模型中 void setOutWareList();/ 填写
9、退库单,将数据保存在对象模型中int inToFile(string fileName); / 根据入库单确认入库 void setProdModel(); / 填写产品型号 供查询使用 int getDayByChrono(); / 计算时间戳 时间戳的计算通过库函数来实现,需要包含头文件 chrono 和 ratio ,每入出退库是都需要调用该函 数记录时间日期,供查询使用。int product:getDayByChrono()using namespace std:chrono;typedef duration<int,std:ratio<60*60*24>>
10、days_type; time_point<system_clock,days_type> today = time_point_cast<days_type>(system_clock:now(); return today.time_since_epoch().count(); 链表类: 将链表的头节点放在链表类中,节点类对象中含有数据域和指向下一个节点的指针域。 链表类的成员方法负责将链表的节点存储的产品类对象数据写入文件或将文件中的数据提取为链 表。链表类的成员方法/ 提取数据为链表void getlinkListFromTheFile(string fileN
11、ame);/ 遍历链表找到节点void forInLinkListForInAndOut(product *prod,string type);/ 根据产品型号搜索出仓库名称 / 产品分布型号void forInLinkListForLocation(product *prod,string type);/ 根据基本数据设定信息查询高储低储 以及超出存储期限的产品void forInLinkListForRemind(WareLogs *logs,string type);/ 根据产品对象的型号和该产品成本系数以及日志文件中的基本数据设定信息 计算该产品的存 储成本void forInLink
12、ListForCost(product *prod,WareLogs *logs,string type);/ 将链表数据重新写入文件void writeNodeToTheFile(string fileName);调试分析遇到过的问题:1.计算仓库存储成本和预警存储期限时,需要知道产品入出退库的时间,这里采用库函数实现,可以 获取当前的时间戳,产品每次入出退库时都需要将这个时间戳保存。用途如:通过当前的时间戳减去 产品入库的时间戳就是产品在仓库的保存时间。C+2至于文件数据提取及修改,是通过链表实现的。对于链表的处理,C+和C是有些不同的,里,可以把节点类和链表类分别声明,将头节点作为链表类
13、对象的成员属性,而每个节点的数据域保 存了产品类对象,指针域指向下一个节点。3入库退库功能之外的查询工作,需要产品入出退库时间、基础数据设定等信息,这些信息保存在产 品对象中不合适,而且这样使得产品对象过于庞大,但是又和产品对象的数据有密切关系,所以这里 采用继承的方式,日志类继承产品类,需要完成的功能是将基础数据设定的数据和产品每次入出退库 的时间写入文件。写入的时间需要和对应产品进行联系,所以需要获取对应产品的型号、数量、单价 来计算总金额。4. C+当自定义的头文件过多时,会有文件重复包含,即文件重复编译的情况出现。这里采用宏的方 式处理:#ifndef identifier#defin
14、e identifier#endif5入库时需要判断入库产品数量是否大于自定义的货位存储能力,同样出库时需要判断出库产品的数 量是否大于仓库存储产品数量。为此在入库或出库时通过链表类对象提取文件中保存的对应型号产品 的数量与将要入库或出库的产品数量做比较,不符合就要终止入库或退库。用户使用说明1第一次使用时需要到基础数据设定模块中设定数据,这些数据在以后入出退库时都会默认调用 2入库时填写的入库单中产品的成本系数不能大于基本数据设定中自定义的总体成本系数。3当天入库的产品暂时不计存储成本 (该产品存储天数为0 )。4.牢记产品型号,仓库的查询功能除了 “仓库库存分析查询 ”是通过时间段查询数据
15、,其余都是通过产 品型号来查询。测试结果1.基础数据设定测试仓魔骨理索堀-】-搭础嗾据设定i2-仓库入库它库出库斗-住库逼库5尢库库存查询=_! =_G-址计分祈7-HKlff 佶息£-仓库合箱一一9-产品存儒成本宣询©-遇出慕址1瑞入它阳高存储n昶0錨入它阳低存储債se輪入播莅存储能力se新入它甫盘丸存储期国3编入仑馬存帽思伸咸本系齟【已辿冋主菓单2入库测试它疳置理眾现1 基黜敘蝎说定2仓 EfAff3- 纟库出阵4- 它库退即5- 纟胃馬存登询 专觀计另析了骥琨憩肾信鼠 鼻&廉台儀产品存麗咸本查询 醱退岀系址2丄-睡品入芹2凍材啣入PF1隨卷驴门确认合權?y增曙
16、入暉单 輔入货糊型号4凸5 错入荐舊敌播3&輪入第估游列号冲鶴入严品单悄M骗入旺本泵敢0,5 骗入壇物临色red绻入库晡员J1名zhangsar揣人它甫名称欢庶 交件写入完毕3适冋主盤单a-Jt出雷4- 它阵退库5- ffirs 询6- iftH分析丁报買朋憩信忌B它眸善振9-产品存層陡澤直询朴返出系笛丄-成品人障2-原材廻人岸2 症趨阳门號认合格H错误处理輪入黄務堂号19T& 埔入存傭註握30 人货位序列号2 特入产品单桥45 辅人成本釆跟“ 錯入货期战世yellow sSAfffegftS Lisi 輸入仓甫客称kkck 衣件写入完筆 已迪冋王菜单1- 厳品入I?2- 原材
17、HAFT1康检彰门酬认作帮了 丫输入货羯型号3£4箱入存储腔显51谨严晶在贷怕的蝕筠过细设的货負哼體链力50文件写入失阪已返回主朶单3出库测试 j6l-"舌 9- MJ £ 4FJ-羽础融姑设迄2-仓眸人障1A仓背出芹4-ftWjEW"仓育甫存査询4烦计分析-提耀枝信恵4色库白梅g 产品吏储成本宣询盲退出系尿3i-M料出阵 工-鎖鹑出砖211行甜比出甫捷峯入!5物坐号RT W1 LJ IrUJT '14r55谕入施物藪避20己返回主菜单错误处理出库2時入贺栩聖号4r55篇入货彻飯: 31撓赵的贯恂菸丸于常存IS显 己返回至黑单4退库测试仓睥管理慕
18、织g库入库弓-仓(?出库斗4库退库5-Et存言询 卜忧计分祈7 -提纏硕*借息P-总库台厳*-产品存儒旺本时 诅出系舞1-恋材耦遇库2 -成品追岸L底拾部门确认合林?丫»" Lj| _JWW瑞入货物型号19t5備入货檢畝豎J5.仓库库存查询测试填写退PF®不英于15字) badn X b +井阳 fa-=!I l 士 *'e*M'9K-Hria*«ri-!V L-墓建SS8S设定 Z-仓库入库3-住庫出库 4-隹库退阳 5-它庠库存變询 6-里计分折 丁-提程预*洁息8_-&S台厳 9-产品存贰版本誉询 0-遇出船址5艺能插述:堪
19、宛输人的股时£昼汹仓歼岌生的入H!退总數 /蛊粧竜扎要査询的贱间敲t单位;天】3 M卜是该时间民内它酶的入即信总 产品犁号人甫齐战打总金莊4r553972919t5301350WTft该时问段内它馬的出阳信息 产品里号出睥前敷总金貶4r551«240W卜是谨阿同踐肉电障药追库広息 产話型号直岸的融:島金履l?t?331485已返冋主黑单6统计分析测试B 19 MW- WB b '一基碣罪嬉迎忑 2-15人阵 3 它暉出席"4-&ff J&1¥ 与-仓靑岸善童询一京细计分折了 握展预*信思 B-仓應台恢 g-产品弹藕咸木宜询 齐遇岀
20、枭址塌莊抠込;曰严品生号战恵岀广矗分昂惜尿(它睥名称/ Sti)包拮成品仓青和篙埒料它璋总入待直词严品圭号r55成品它帝去询活杲如下产品型寻瓯在在障IS悅存代皴帝4r55xkck410原榜爲乜库查询红卑姐下7.提醒预警信息测试漫肓在原捕型仓肾中松到谐型号产品已建回王采单-1-基峨裁曙设定 21&阵入库-勺仓库出库 4-rr退麻 与仓库库存臺询 g 址计分析«7-握禅预餐信兌-R仓库合HS一勺-产品存储成才查询 0-退出系貌功能播迖;根据址姦数据踰龙述出仓障高儈i惟储/存储朋腿 咸品仓即没有达到存储朗限的货栩磁品仓育育存已底于低储 目前仓疔魅59B为19篠材蛙奁靑浚肓达到存储魁
21、馄的赏耦原牯料仓库阵存已低于低储目前仓库fil费为33己适回主柴单8仓库台账测试基脚KJS逛定2 仓阵人库 =e阵出障 4 仓庫退库5 仓阵薛存克询召駅计分析 7-WlSra»fSfl a-ftSUJi g-产品再储磁本査询 0-遇出矗班 it能幅超;电据产品3;号輪秋它席产品的人、出、週明如花输入特查悔产品型可r55 WTfiAPrS产島生号入唐的戲产暑单价总金砸ffiisi?列号色障曽员仓肝專狗4r5530247294redZtlAAQSafixkekUTS岀阳情总产品世号人肓的战产帛单价总金顓at位序列号质拘怖色侖曽员谆離时何Jr5510242404redxkeke没有找到谚丹
22、品退阳相关信忌 已返冋主菜单错误处理 它 岸管 理 靈 迺1 畐础故据设定 2-仓阵入库一3-仓席出库 4-仓库退库一5-仓所所存査询 6-旣计号靳一丁-提 srasfss g 它罪台弱一4产品存檎舷本倉词 0-ig出系址功腿描述;揺摇产品翌号16岀它库产品的入岀、退明±ffl帐 端入待萱询产品型号345没肓在成踊它厉中找到该产品正在愿材料&商申搜案没有在原材曉£库中撰索到该产品三返回主加单9产品存储成本查询它障营坯糸热孚础S5裾说疋2-它肾人育砰出阡4 幺肝退肯5-空匝廊存查询 蛊禺计分新"擬预嚳倍忌a-ftrt台魅9-产品存倍雀本色厲 ,退出系统9功能
23、说阴:探攜严吕生号计鼻蓬广品存儁阪那缱入待査词产品型号斗5B训下晶诫产品幷咸品代甫曲幡當釧峑iS 13物今天入肓皆时不计殍情曲那IU下足该产品在原材料仓库的捆壺皓噩当天入库的产品由于存储天数为0,无法计算存储成本。为了测试改功能,将文件中该产品的入库时间戳),测试结果如下沿有在原材料隹阳中找到£r5$ 已返回主菜单由16996修改为16990后(入库时间修改为前六天一仓犀官理系境-1 蚤础教鷹役疋3仝序出库4仓廉週庫 &障阳言询6-统计分折 7捉隆预&信忘&库台忙9-产品存悟施本旨询 臼“退岀系址9切陲说明;根据产品也号计痒谨产鬲存储虑n 箱人待宣询产品型号4
24、r55以下是该存嘉在咸昌仓肯的捜拿蜓果455的存埔曲本为72专H卜呈该产晶在原対蹲仓带吕震愛V;果没有在原材斡仓甫中找到455已逋回生黑单附录/ main.cpp/ 仓库管理系统/ Created by xiaoka on 16/7/4./ Copyright ? 2016 年 黄志浩 . All rights reserved. / #include "tools.hpp"#include <iostream> using namespace std;void printToScreen() cout<<endl<<endl;cout&
25、lt;<" 仓库管理系统 "<<endl<<"-1- 基础数据设定 "<<endl<<"-2- 仓库入库 "<<endl<<"-3- 仓库出库 "<<endl<<"-4- 仓库退库 "<<endl<<"-5- 仓库库存查询 "<<endl<<"-6- 统计分析 "<<endl<<&qu
26、ot;-7- 提醒预警信息 "<<endl<<"-8- 仓库台帐 "<<endl<<"-9- 产品存储成本查询 "<<endl<<"-0- 退出系统 "<<endl;cout<<endl<<endl;int main(int argc, const char * argv) printToScreen();int menu = 0; while (1) cin>>menu; tools *t = new t
27、ools(); switch (menu) case 1: / 基本数据设定 t->baseSetting(LogsToTheFile); break;case 2: / 仓库入库 t->addProduct(); break;case 3: / 仓库出库 t->outProduct(); break;case 4: / 仓库退库 t->againProduct(); break;case 5: / 仓库库存查询 t->wareStockAsk(); break;case 6: / 统计分析t->allAnalyse();/ 提醒预警/ 仓库台账break;
28、case 7:t->remindWarning();break;case 8:break;case 9:t->wareAccount();/ 仓库存储成本查询t->productForCost(); break;case 0: delete t; exit(0); break;default: cout<<" 请正确输入菜单对应序号 "<<endl; break;delete t; cout<<" 已返回主菜单 "<<endl; printToScreen(); return 0;/ to
29、ols.hpp/ 仓库管理系统/ Created by xiaoka on 16/7/4./ Copyright ? 2016 年 黄志浩 . All rights reserved. /#include <fstream>#include <string> using namespace std;class linkList;class product;/ 成品不合格文件名class WareLogs;const string noQuilityProdCFileName = "noQuilityProdCFile.txt"/ 成品合格文件名/ 原
30、材料不合格文件名/ 原材料合格文件名/ 基础信息设定配置文件/ 保存入出退日志信息const string QuilityProdCFileName = "QuilityProdCFile.txt" const string noQuilityProdYFileName = "noQuilityProdYFile.txt" const string QuilityProdYFileName = "QuilityProdYFile.txt" const string LogsToTheFile = "logsFile.txt&
31、quot;const string ProductLogFileName = "productLog.txt"class tools public:/ 设置基本信息void baseSetting(string fileName);/ 质检部门检验合格string isQuilified();/ 填写入库单 确认入库void addProdToFile(string fileOKName,string fileNOName);/ 仓库入库入口函数void addProduct();/ 填写领料单销售出库单void outProdFromFile(product *prodL
32、ist,string fileName,string type);/ 仓库出库入口函数void outProduct();/ 将退库的货物按合格与否分类void OKOrNo(string fileOKName,string fileNoOKName);/ 退库入口函数void againProduct();/ 仓库库存查询入口void wareStockAsk();/ 统计分析入口void allAnalyse();/ 提醒预警void remindWarning();/ 仓库台账 void wareAccount();/ 产品存储成本查询 void productForCost();/ t
33、ools.cpp/ 仓库管理系统/ Created by xiaoka on 16/7/4./ Copyright ? 2016 年 黄志浩 . All rights reserved. /#include "tools.hpp"#include "linkList.hpp"#include "product.hpp"* 仓库基础信息设定 将设定的信息写入文件*/void tools:baseSetting(string fileName)double maxStock,minStock,maxAbility,maxDate,cost
34、Factor;cout<<" 输入仓库高存储量 "cin>>maxStock;cout<<" 输入仓库低存储量 "cin>>minStock;cout<<" 输入货位存储能力 "cin>>maxAbility;cout<<" 输入仓库最大存储期限 "cin>>maxDate;cout<<" 输入仓库存储总体成本系数 "cin>>costFactor;fstream fout(f
35、ileName,ios:out);if (!fout) cout<<" 打开 "<<fileName<<" 失败 "<<endl;return;fout<<maxStock<<"n"<<minStock<<"n"<<maxAbility<<"n"<<maxDate<<"n"<<costFactor<<"
36、;n"fout.close();* 质检部门确认合格与否* return "y/Y" 合格 "n/N 不合格 "*/string tools:isQuilified()string is;while (1) cout<<" 质检部门确认合格 ?" cin>>is;if (is="y"|is="Y") return "y"else if (is="n"|is="N")return "n"
37、;cout<<" 合格输入 y/Y"<<endl<<" 不合格输入 n/N"<<endl;/*/void tools:addProdToFile(string fileOKName,string fileNOName) string is = isQuilified();if (is="y") product* q = new product();int iss = q->setInWareList(); / 填写入库单 if (iss=2) return;q->inToFi
38、le(fileOKName); / 根据入库单确认入库 WareLogs *log = new WareLogs();log->wirteChangeToTheFile(q, ProductLogFileName, "1"); delete q; else if(is="n")product* q = new product();int iss = q->setInWareList(); / 填写入库单 if (iss=2) return;q->inToFile(fileNOName); / 根据入库单放到不合格成品仓库 WareLog
39、s *log = new WareLogs();log->wirteChangeToTheFile(q, ProductLogFileName, "1"); delete q;填写入库单将入库单数据 ( 产品详尽信息 ) 写入文件/* 仓库入库 入口函数*/void tools:addProduct()string t;while (1) cout<<"1- 成品入库 "<<endl<<"2- 原材料入库 "<<endl;cin>>t;if (t="1&quo
40、t;) addProdToFile(QuilityProdCFileName,noQuilityProdCFileName); break;else if (t="2") addProdToFile(QuilityProdYFileName, noQuilityProdYFileName); break;cout<<" 请输入正确序号 "<<endl;/*提取文件中数据为链表 根据出库单或领料单修改链表数据 并将数据重新写入文件* param prodList* param fileName* param type */出库单或领
41、料单数据 文件名 2=出库 3=原材料退库成品退库void tools:outProdFromFile(product *prodList,string fileName,string type) linkList *link = new linkList();link->getlinkListFromTheFile(fileName);if (link->head->next=NULL) cout<<" 提取数据失败 "<<endl; return;/ 遍历链表对链表相应节点进行修改/ 将链表数据写入文件 link->for
42、InLinkListForInAndOut(prodList,type); link->writeNodeToTheFile(fileName);delete link;return;/*仓库出库 入口函数*/ void tools:outProduct()string is;while (1) cout<<"1- 原材料出库 "<<endl<<"2- 销售出库 "<<endl;cin>>is;if (is="1") product *p = new product()
43、;p->setReceiveList();outProdFromFile(p, QuilityProdYFileName,"2");break;else if (is="2") product 退库入口函数p = new product(); p->setSaleWareList(); outProdFromFile(p, QuilityProdCFileName,"2"); break;cout<<" 输入正确序号 "<<endl;/*/void tools:againProd
44、uct()string is,isOK,fileName;while (1) cout<<"1- 原材料退库 "<<endl<<"2- 成品退库 "<<endl<<"3- 销售退库 "<<endl; cin>>is;if (is="1") / 原材料退库 需要知道哪个批次的 货物OKOrNo(QuilityProdYFileName, noQuilityProdYFileName);else if (is="2"
45、)/ 成品退库 需要输入:仓库名称、图号、型号、数量、车间、发生日期、仓库管理员、原因OKOrNo(QuilityProdCFileName, noQuilityProdCFileName);else if (is="3")/ 销售退库OKOrNo(QuilityProdCFileName, noQuilityProdCFileName);elsecout<<" 请输入正确序号 "将退库的货物按合格与否分类* param fileOKName 合格产品存放 文件名* param fileNoOKName 不合格产品存放 文件名*/void t
46、ools:OKOrNo(string fileOKName,string fileNoOKName)string isOK;isOK = isQuilified();product *p = new product(); if (isOK="y") p->setOutWareList(); / 填写退库单 outProdFromFile(p, fileOKName,"3");/ 提取文件中数据为链表 根据出库单或领料单修改链表数据 并将数据重新写入文件elsecout<<" 填写入库单 存入原材料仓库不合格区 "&l
47、t;<endl;p->setInWareList(); / 填写入库单 p->inToFile(fileNoOKName);break;/*/void tools:remindWarning()cout<<" 功能描述 :根据基本数据设定输出仓库高储/低储/存储期限 "<<endl<<endl;WareLogs *w = new WareLogs();int isOK = w->readBaseSettingFromTheFile(LogsToTheFile); if (isOK=2) return;linkLis
48、t *link = new linkList(); link->getlinkListFromTheFile(QuilityProdCFileName); link->forInLinkListForRemind(w,"4");delete link;link = new linkList();仓库库存分析查询入口*/void tools:wareStockAsk() int day;cout<<" 功能描述 :根据输入的段时间查询仓库发生的入出退总数量金额"<<endl<<endl;cout<<
49、;" 输入要查询的时间段 (单位 :天 ) "cin>>day;WareLogs 提醒预警信息入口 根据基本数据设定 输出仓库高储/低储/存储期限log = new WareLogs(); log->readDateFromFile(day, ProductLogFileName, 1); delete log;log = new WareLogs();log->readDateFromFile(day, ProductLogFileName, 2); delete log;log = new WareLogs();log->readDateF
50、romFile(day, ProductLogFileName, 3); delete log;* 统计分析入口 由产品型号搜索出产品分布情况 ( 仓库名称货位 ) 包括成品仓库和原材料仓库 */void tools:allAnalyse()coutvv"功能描述:由产品型号搜索出产品分布情况(仓库名称/货位)包括成品仓库和原材料仓库 "<<endl<<endl;linkList *link = new linkList();product *prod = new product();prod->setProdModel();link->
51、getlinkListFromTheFile(QuilityProdCFileName);/ 将文件中的数据提取为链表link->forInLinkListForLocation(prod,"4");/ 查询成品仓库delete link;link = new linkList();link->getlinkListFromTheFile(QuilityProdYFileName);/ 将文件中的数据提取为链表link->forInLinkListForLocation(prod,"5");/ 查询原材料仓库delete prod;li
52、nk->getlinkListFromTheFile(QuilityProdYFileName);link->forInLinkListForRemind(w, "5");delete link;/*/void tools:productForCost()cout<<" 功能说明 :根据产品型号计算该产品存储成本 "<<endl<<endl; product *p = new product();WareLogs *logs = new WareLogs(); logs->readBaseSettin
53、gFromTheFile(LogsToTheFile); p->setProdModel();linkList *link = new linkList(); link->getlinkListFromTheFile(QuilityProdCFileName); link->forInLinkListForCost(p, logs,"4");delete link;link = new linkList(); link->getlinkListFromTheFile(QuilityProdYFileName); link->forInLinkL
54、istForCost(p, logs,"5");delete link;delete p;delete logs;仓库台账入口*/void tools:wareAccount()cout<<" 功能描述 :根据产品型号输出仓库产品的入、出、退明细帐"<<endl<<endl;string model = ""cout<<" 输入待查询产品型号 "cin>>model;3 表示退库WareLogs 产品存储成本查询w = new WareLogs(); w-
55、>readFromFileToScreen(ProductLogFileName, model, 1);/1 入库 2 出库需要填写原因delete w;w = new WareLogs(); w->readFromFileToScreen(ProductLogFileName, model, 2); delete w;w = new WareLogs(); w->readFromFileToScreen(ProductLogFileName, model, 3); delete w;/ product.hpp/ 仓库管理系统/ Created by xiaoka on 16
56、/7/4./ Copyright ? 2016 年 黄志浩 . All rights reserved. /#ifndef product_hpp#define product_hpp#include <iostream> #include <fstream> using namespace std;class product protected: string prodModel; double prodNum; string location; double price; double costNum; string prodColor; string people
57、Name; string wareName; int intoWareDay; int outFromWareDay; int againToWareDay; void print();public: product(); product(const product *p); friend class linkList; friend class wareHouse; friend class WareLogs; string getProdModel(); double getProdNum(); double getProdPrice(); int setInWareList(); voi
58、d setSaleWareList(); void setReceiveList(); void setOutWareList(); int inToFile(string fileName); void setProdModel(); int getDayByChrono();/ 货物型号/ 货物存储数量 / 仓库货位序列号/ 产品单价/ 成本系数/ 货物颜色/ 货物库管员/ 仓库名称/ 入库时间戳/ 出库时间戳 / 退库时间戳/ 数量/ 单价/ 填写入库单/ 填写销售出库单/ 填写领料单/ 填写退库单/ 根据入库单确认入库/ 填写产品型号 供查询使用/ 计算时间戳#endif /* product_hpp */ 最大存储限量class WareLogs:public product private:double maxStock;double minStock; double maxAbility; double maxDate; double costFactor; string type;string changeModel; double changeNum;/ 最小存储限量/ 最大存储能力/ 最大存储期限/ 产品总体存储成本/1 入库 2 出库 3 表示退库 需要填写原因double changeToatolMoney; int intoWareDay;in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度农产品电商平台会员服务合同3篇
- 2025民间私人借款的合同范本
- 2025年度办公室文员劳动合同(含企业文化融入协议)
- 2025年度现代农业示范区土地承包投资合同3篇
- 二零二五年度农村宅基地房屋租赁与农村养老服务业合同
- 2025年度农村私人土地买卖合同(含农业项目)详细版
- 2025年度国有土地租赁协议合同(智慧城市基础设施建设)3篇
- 2025民间个人简单借款合同范本
- 2024年甲乙双方关于深海探测技术研发合作协议
- 六年级语文上册期末冲刺卷(24秋)
- 小儿肺炎支气管镜护理查房课件
- Part 6 Unit 8 Green Earth 教案-【中职专用】高一英语精研课堂(高教版2021·基础模块2)
- 艾森克人格问卷(EPQ)(成人)
- 设备维护与故障排除项目风险评估报告
- (新版)质量知识竞赛参考题库400题(含各题型)
- 幼儿园小班语言《谁的耳朵》课件
- 院前急救诊疗技术操作规范
- 患者转诊记录单
- 美好生活“油”此而来-暨南大学中国大学mooc课后章节答案期末考试题库2023年
- 买卖合同纠纷案民事判决书
- 神经内科应急预案完整版
评论
0/150
提交评论