产品出库操作系统源程序
- 格式:doc
- 大小:73.50 KB
- 文档页数:10
仓库库存管理系统源程序#include<stdio.h>#include<stdlib.h>#include<string.h>#include<iostream.h>int shoudsave=0;struct item//物品信息定义{char code[10];//物品编码char name[20];//物品名称int num; //商品数量int level;//物品等级}item;typedef struct node{struct item data;struct node * next;}Node,*Link;//定义为链表void menu()//页面显示函数{system("cls");//清屏函数printf("***********************************《物品库存管理》*****************************\n");printf(" \n");printf("\n <1> 物品入库管理\n\t\n <2> 物品出库管理\n");printf("\n <3> 浏览库内物品信息\n\t\n <4> 修改物品信息\n");printf("\n <5> 保存物品信息\n\t\n <0> 退出库存管理\n");printf(" \n");cout<<"************************************************** ******************************"<<endl;printf("\n 请选择操作:");}void printstart(){printf("------------------------------------------\n");}void Wrong()//错误处理函数{printf("输入错误!\n");getchar();getchar();menu();return;}void Nofind(){printf("没有找到该物品!\n");}void printc()//本函数用于输出中文{printf(" 物品编码物品名称物品数量物品等级\n");}void printe(Node *p)//输出物品信息函数{cout<<endl<<" "<<p->data.code<<""<<p-><<" "<<p->data.num<<""<<p->data.level;}Node *Locate(Link l,char findmess[],char nameorcode[]) //用于定位连接中,符合要求的结点,并返回该指针{Node *r;if(strcmp(nameorcode,"code")==0)//{r=l->next;while(r!=NULL){if(strcmp(r->data.code,findmess)==0)return r;r=r->next;}}elseif(strcmp(nameorcode,"name")==0)//按名称查询{r=l->next;while(r!=NULL){if(strcmp(r->,findmess)==0)return r;r=r->next;}}return 0;}void Add(Link l)//增加物品函数{Node *p,*r,*s;char code[10];r=l;s=l->next;while(r->next!=NULL)r=r->next;while(l){system("cls");//清屏函数cout<<"请输入商品编码(输入'0'返回上一级菜单):"<<endl;scanf("%s",code);if(strcmp(code,"0")==0)break;while(s){if(strcmp(s->data.code,code)==0){printf("物品编码为'%s'的物品已经存在,如果要修改请选择'4 修改'!\n",code);printstart();printc();printe(s);printstart();printf("\n");return;}s=s->next;}p=(Node * )malloc(sizeof(Node));strcpy(p->data.code,code);printf("请输入物品名称:");scanf("%s",p->);getchar();printf("请输入物品数量:");scanf("%d",&p->data.num);printf("请输入物品等级:");scanf("%d",&p->data.level);p->next=NULL;r->next=p;r=p;shoudsave=1;}menu();}void Qur(Link l)//查询物品信息函数{int sel;char findmess[20];Node *p;if(!l->next){printf("\n没有信息可查询!\n");getchar();getchar();menu();}system("cls");//清屏函数printf("\n 1按物品编码查询\n 2按物品名称查询\n"); scanf("%d",&sel);if(sel==1)//{printf("请输入要查询的编码:\n");scanf("%s",findmess);p=Locate(l,findmess,"code");if(p){printf("\t\t\t\t查询结果\n");printstart();cout<<endl;printc();cout<<endl;printe(p);cout<<endl;printstart();getchar();getchar();return;}elseNofind();}elseif(sel==2)//{printf("请输入要查找的物品名称:");scanf("%s",findmess);p=Locate(l,findmess,"name");if(p){printf("\t\t\t查询结果\n");printstart();cout<<endl;printc();cout<<endl;printe(p);cout<<endl;printstart();getchar();getchar();menu();return;}elseNofind();}elseWrong();getchar();system("cls");//清屏函数menu();}void Del(Link l)//删除{int sel;Node *p,*r;char findmess[20];if(!l->next){system("cls");//清屏函数printf("\n您的仓库为空!\n");getchar();getchar();menu();return ;}system("cls");//清屏函数printf("\n 1按物品编码出仓\n 2按物品名称出仓\n"); scanf("%d",&sel);if(sel==1){printf("请输入要出仓的物品编码:");scanf("%s",findmess);p=Locate(l,findmess,"code");if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("\n该物品已经成功出仓\n");shoudsave=1;getchar();getchar();menu();return ;}elseNofind();}elseif(sel==2){system("cls");//清屏函数printf("请输入要出仓的物品名:");scanf("%s",findmess);p=Locate(l,findmess,"name");if(p){r=l;while(r->next!=p)r=r->next;r->next=p->next;free(p);printf("\n该物品已经成功出仓!\n");shoudsave=1;getchar();getchar();menu();return;}elseNofind();}elseWrong();}void Modify(Link l)//物品信息修改{Node *p;char findmess[20];if(!l->next){system("cls");//清屏函数printf("\n您的库存为空,无需修改!\n");getchar();menu();return;}printf("请输入要修改的物品编码:");scanf("%s",findmess);p=Locate(l,findmess,"code");if(p){system("cls");//清屏函数printf("请输入新编码(原来的是%s):",p->data.code);scanf("%s",p->data.code);printf("请输入新名称(原来的是%s):",p->);scanf("%s",p->);getchar();printf("请输入新的物品数量(原来的是%d):",p->data.num);scanf("%d",&p->data.num);getchar();printf("请输入新的物品等级(原来的是%d):",p->data.level);scanf("%d",&p->data.level);printf("\n修改资料成功!\n");shoudsave=1;getchar();menu();return;}elseNofind();getchar();menu();}void Disp(Link l){int count=0;Node *p;p=l->next;if(!p){printf("\n 没有资料可以显示!\n");getchar();getchar();return;}printf("\t\t\t\t显示结果\n");printstart();printc();printf("\n");while(p){printe(p);p=p->next;}printstart();printf("\n");}void Save(Link l)//物品信息保存{FILE *fp;Node *p;int flag=1,count=0;fp=fopen("c:\\student","wb");if(fp==NULL){printf("\n重新打开文件时错误!\n");exit(1);}p=l->next;while(p){if(fwrite(p,sizeof(Node),1,fp)==1){p=p->next;count++;}else{flag=0;break;}}if(flag){system("cls");//清屏函数printf("\n 文件保存成功.(有%d条记录保存成功.)\n",count);shoudsave=0;getchar();getchar();menu();}fclose(fp);}void main()//主函数{menu();Link l;//链表Node *r;int sel;char ch;int count=0;l=(Node * )malloc(sizeof(Node));l->next=NULL;r=l;while(l){scanf("%d",&sel);if(sel==0){if(shoudsave==1){getchar();printf("\n 资料已改动,是否将改动的文件保存到文件中(y or n)?\n");scanf("%c",&ch);if(ch=='y' || ch=='Y')Save(l);}printf("\n 已退出系统!\n");break;}switch(sel){case 1:Add(l);break;//物品进库case 2:Del(l);break;//物品出库case 3:Qur(l);break;//查询物品case 4:Modify(l);break;//修改物品信息case 5:Save(l);break;//保存物品信息default:Wrong();getchar();break;}}}。
成品库管理制度及流程成品库管理制度及流程是指对于企业生产出来的成品进行仓储、库存管理和物流运输的规章制度以及相应的操作流程。
以下是成品库管理制度及流程的概述:一、成品库管理制度:1.库存管理:制定明确的库存管理政策,包括库存监控、预警和调配等方面的规定,确保库存量在合理范围内。
2.入库管理:规定入库程序和标准,确保正确记录入库信息、质量检查、标识和存储。
3.出库管理:规定出库程序和标准,确保出库前进行必要的审批和核对,并保证准确记录出库信息。
4.库位管理:建立清晰的库位管理制度,确保成品存放有序、清晰标识,便于快速查找和操作。
5.盘点管理:定期进行库存盘点,及时发现库存差异,并研究原因进行处理。
6.质量管理:制定成品质量管理制度,保证成品的质量符合相关要求。
二、成品库管理流程:(一)入库流程:a. 接收成品,核对数量、规格、质量等信息。
b. 进行质量检查,确保成品质量符合要求。
c. 登记入库信息,包括成品名称、数量、生产批次、来源等。
d. 安排库位并进行合理摆放。
e. 进行入库记录和通知相关部门。
(二)出库流程:a. 依据销售订单或下游需求,确认出库的成品种类、数量和交期。
b. 进行出库前的审批,核实订单完整性和库存可用性。
c. 出库操作,包括核对信息,标识成品、包装等。
d. 更新库存记录和相关信息。
e. 通知相关部门进行物流安排。
(三)库存管理流程:a. 定期进行库存盘点,核对库存与系统数据的准确性。
b. 根据库存情况制定补货计划,确保库存充足。
c. 分析库存数据,进行库存优化和调配。
以上是成品库管理制度及流程的一个简单概述,实际操作可能会因企业的规模、行业等因素而有所不同。
企业应根据自身情况,建立适合自己的成品库管理制度和流程,并定期进行评估和优化,以提高成品库的运作效率和管理水平。
原创Java物流管理系统源代码简介本文将介绍一个原创的基于Java语言开发的物流管理系统的源代码。
该物流管理系统旨在帮助企业实现高效的货物管理和运输流程,提高运输效率,降低成本。
功能特点该物流管理系统具备以下主要功能特点:1.仓储管理:管理物流中心的货物仓库信息,包括货物入库、出库、库存管理等。
2.运输管理:管理货物的运输过程,包括路线规划、货物配送、运输车辆调度等。
3.订单管理:管理客户的订单信息,包括订单生成、查询、配送状态更新等。
4.管理员权限控制:不同管理员拥有不同的操作权限,保证信息安全。
技术实现该物流管理系统的源代码使用Java语言开发,采用了以下技术实现:1.前端技术:使用HTML、CSS和JavaScript实现用户界面,通过Bootstrap框架提供美观的界面。
2.后端技术:使用Java语言编写后端逻辑,使用Spring框架管理依赖和控制反转,使用Spring MVC框架实现Web应用程序。
3.数据库:使用MySQL数据库存储系统数据,通过JDBC连接数据库并进行数据的读取和写入。
4.安全性:使用Spring Security框架实现用户认证和权限控制,保证系统的安全性。
5.测试:使用Junit框架编写单元测试,保证系统的稳定性和可靠性。
系统架构物流管理系统采用MVC架构,将系统划分为模型(Model)、视图(View)和控制器(Controller)三层,实现了前后端的分离。
•模型层:负责处理与数据库交互的逻辑,封装数据库操作的方法,实现数据的增删改查。
•视图层:负责展示用户界面,接收用户输入,将用户请求发送给控制器处理,并显示处理结果。
•控制层:处理用户请求,调用模型层的方法进行数据处理,并将处理结果返回给视图层展示给用户。
源代码结构以下是物流管理系统源代码的基本文件结构:物流管理系统源代码├── src│ ├── main│ │ ├── java│ │ │ ├── com.example.logistics│ │ │ │ ├── controller # 控制器层,处理用户请求│ │ │ │ ├── service # 业务逻辑层,处理具体的业务逻辑│ │ │ │ ├── dao # 数据访问层,封装数据库操作方法│ │ │ │ ├── model # 实体类,定义系统数据的结构│ │ │ │ └── util # 工具类,提供系统所需的工具方法│ │ ├── resources│ │ │ ├── application.properties # 系统配置文件,配置数据库连接等信息│ │ │ └── sql # 数据库初始化脚本│ └── test│ ├── java│ │ └── com.example.logistics│ │ └── service # 单元测试,测试系统的各个功能└── pom.xml # Maven配置文件,管理项目的依赖和构建配置系统部署1.使用Eclipse或IntelliJ IDEA等IDE导入源代码。
出入库登记管理制度范文一、制度概述出入库登记管理制度是企业为了规范出入库操作流程,保障物品出入库安全性和数据准确性而制定的一系列规定,旨在确保企业的物资管理流程规范和高效。
二、适用范围本制度适用于公司内各部门的物资出入库管理,包括原材料、成品、办公用品等各类物资。
三、责任及权限1. 仓库管理员是本制度的直接责任人,负责出入库操作的执行和记录。
2. 部门负责人要确保本部门物资的安全、稳定的出入库。
有权对本部门物资出入库进行授权和审批。
3. 公司领导层有权对全公司物资的出入库进行管理和监督。
四、操作流程1. 入库操作(一)仓库管理员接收到物资后,需要核对物资的品名、数量、规格和质量状况,确保物资无误后方可入库。
(二)登记入库单,填写物资的名称、规格、数量、单位、批次等信息,并在单据上签字确认。
(三)仓库管理员根据入库单将物资放置于指定位置,并将入库单归档保存。
(四)仓库管理员将入库信息及时录入电脑系统,确保数据的准确性和及时性。
2. 出库操作(一)部门负责人向仓库管理员提出出库申请,需说明物资的名称、数量、目的地及领用人。
(二)仓库管理员核对出库申请的信息,如申请中的物资名称、数量、领用人等,并与实际库存相对比,确保物资数量的准确性。
(三)仓库管理员根据出库单将物资交付给领用人,并在出库单上签字确认。
(四)仓库管理员将出库单归档保存,并将出库信息及时录入电脑系统,确保数据的准确性和及时性。
3. 盘点操作(一)定期进行库存盘点,确保库存数量与实际物资的数量一致。
(二)盘点前,仓库管理员需通知各部门提前备查,并确保仓库内的物资整齐有序,易于盘点。
(三)盘点过程中,仓库管理员需认真核对物资的名称、规格、批次和数量,并记录在盘点表格中。
(四)盘点结束后,仓库管理员将盘点表格归档保存,并通知各部门领导查阅。
五、注意事项1. 仓库管理员需要保管好物资的出入库单据,严禁私自拆改。
如有需要更改,需经过相关审批后方可操作。
易制毒化学品出入库管理制度一、总则易制毒化学品是指可以用于制毒或者被盗用制造毒品的化学品。
为了加强对易制毒化学品的管理,维护社会安全和公共利益,特制定本出入库管理制度。
二、管理范围本制度适用于所有拥有、生产、销售、使用易制毒化学品的单位和个人,包括但不限于制药企业、化工公司、医疗机构等。
三、出库管理1. 出库申请(1)单位在准备出库易制毒化学品前,须填写《易制毒化学品出库申请表》,包括出库产品名称、数量、规格、用途等详细信息,并由责任人签字确认。
(2)单位应提前3个工作日提交出库申请,以便经过审批和备案程序。
2. 出库审批(1)单位填写的《易制毒化学品出库申请表》经责任人签字后,由所在部门(如安全管理部门等)进行审批。
(2)审批部门应根据单位出库的数量、用途等进行风险评估,并决定是否批准出库。
(3)批准出库的申请表需经核实后进行备案。
3. 出库操作(1)出库前,管理员应核对申请表和实际货物是否一致,并在记录簿上进行记录。
(2)出库时,必须对易制毒化学品进行包装、封箱,并在外箱上标注相关警示标识。
(3)在出库时,要确保易制毒化学品不会与其他化学品混合存放,避免发生意外事故。
四、入库管理1. 入库审批(1)单位在准备入库易制毒化学品前,须填写《易制毒化学品入库申请表》,包括产品名称、数量、规格、来源等详细信息,并由责任人签字确认。
(2)入库申请需提前3个工作日提交,以便经过审批程序。
2. 入库审批(1)单位填写的《易制毒化学品入库申请表》经所在部门的审批后,方可进行入库。
(2)审批部门应对入库的易制毒化学品进行检查,确保产品的来源合法、数量准确。
3. 入库操作(1)入库前,管理员应核对申请表和实际货物是否一致,并在记录簿上进行记录。
(2)对易制毒化学品进行验收时,要进行产品的检查、计量等操作,确保产品质量和数量的准确性。
(3)入库后,易制毒化学品应存放在专门的仓库中,采取防火、防盗、防爆等措施,确保安全。
物流配送流程图一、货品入库1.物流配送中心依照客户入库指令视仓储状况做相应入库受理。
2.按所签合同进行货品受理并依照给货品分派库区库位打印出入库单。
3.在货品正式入库迈进行货品验收,重要是对要入库货品进行核对解决,并对所入库货品进行统一编号(涉及合同号、批号、入库日期等)。
4.然后进行库位分派,重要是对事先没有预分派货品进行库位自动或人工安排解决,并产生货品库位清单。
5.库存管理重要是对货品在仓库中某些动态变化信息记录查询等工作。
6.对货品在仓库中,物流公司还将进行批号管理、盘存解决、内驳解决和库存优化等工作,做到更有效管理仓库。
二、运送配送1.物流配送中心依照客户发货指令视库存状况做相应配送解决。
2.依照配送筹划系统将自动地进行车辆、人员、应出库解决。
3.依照选好因素由专人负责货品调配解决,可分自动配货和人工配货,目是为了更高效运用物流公司手头资源。
4.依照系统安排成果按实际状况进行人工调节。
5.在安排好后,系统将依照货品所放地点(库位)状况按物流公司自己设定优化原则打印出拣货清单。
6.承运人凭拣货清单到仓库提货,仓库那头做相应出库解决。
7.装车完毕后,依照所送客户数打印出相应送货单。
8.车辆运送途中可通过GPS车辆定位系统随时监控,并做到信息及时沟通。
9.在货品到达目地后,经受货方确认后,凭回单向物流配送中心确认。
10.产生所有需要记录分析数据和财务结算,并产生应收款与应付款。
配送流程一、配送重要操作(一)备货配送准备工作和基本工作。
备货工作涉及筹集货源、订货、采购、集货、进货及关于质量检查、结算、交接等。
配送优势之一,就是可以集中若干顾客需求进行一定规模备货。
备货是决定配送成败初期工作,如果备货成本太高,会大大减少配送效益。
(二)储存配送中储存有储备及暂存两种形态。
1.储备配送储备是按一定期期配送经营规定,形成对配送资源保证。
这种类型储备数量较大,储备构造也较完善,视货源及到货状况,可以有筹划地拟定周转储备及保险储备构造及数量。
仓库管理制度为加强成本核算,提高公司的基础管理工作水平,进一步规范物资流通、保管和控制程序,维护公司资产的安全完整,加速资金周转,特制定本制度:1 .必须严格按仓库管理规程进行日常操作,仓库保管员对当日发生的业务必须及时逐笔登记入帐,做到日清日结,确保物料进出及结存数据的正确无误。
及时登记手工明细账并与电脑系统中的数据进行核对,确保两者的一致性。
2 .仓库接各工地材料需求计划单后,立即核查库存情况,报请部门经理及总经理决定是否购买和购买数量。
3 .材料进仓时,要按规定放好并及时通知工地到仓库领材料。
根据各工地开出的领料单的数量发货给各工地并做好项目帐目。
4 .做好材料价格的保护工作。
禁止私自将公司的材料底价和材料供应商有思图告诉竞争对手或与公司不相关的人员。
5 .仓库物品按部门进行分类管理。
具体操作如下:存货按部门分三大类,工程部存货、维修部存货、管理部存货,各部门负责人应及时了解和掌握自己所负责的存货的库存量。
6 .仓库存货的摆放应整洁、有条有理。
7 .严格遵循国家有关财务制度,进行库存管理,每月25日进行盘点,盘点结果报送财务部门和总经理;入库管理:1 .物料进仓时,必须凭送货单办理入库手续,拒绝不合格或手续不齐全的物资入库;如经办人一直在工地,不能及时回公司办理入库手续的,可以在星期一上午把入库手续或送货单交予财务部,货物延迟入库时间最长不能超过一周。
2 .入库时,仓库管理员必须查点物资的数量、规格型号等项目,如发现物资数量、单据等不齐全时,不得办理入库手续。
3 .货物入库,应填写入库单并交出纳处入账,如属临时存放,只需填写临时存放单据,该单据作为取货时的依据。
4 .工程完工后,多余材料必须退回仓库。
仓库管理员要做好账目调整,准确计算工程成本。
出库管理:1 .各类材料的发出,原则上采用先进先出法。
物品出库时必须办理出库手续,填写出库单。
2 .领料人必须持有自己部门经理签字后的出库单领材料(如自己部门经理不在,可由管理部负责人代签),如属周转性出库,只需填写借条,待实际发生出库时,依据实际发生量填写出库单交出纳处销帐。
仓库管理第一章:仓库管理简介仓库管理也叫仓储管理,英文WarehouseManagement,简称WM,指的是对仓储货物的收发、结存等活动的有效控制;仓库管理作为生产与交易服务的物流活动中的一项,它融于整个物流系统之中,与其它物流活动相联系、相配合;仓库管理活动包括了物品的进出、库存、分拣、包装、配送及其信息处理等六个方面,它的最终目的是为了满足供应链上下游的需求;按照供应链管理的思想,供应链管理的目标就是要消除一切无效率的活动,即不增值的活动;仓库管理作为供应链管理中的重要环节,完全消除库存至少在当前来看,还是无法达到;但是我们应该把不断减少库存作为一个使命,作为一个仓库管理者最基本的责任去实践,只有这样,仓库管理才变得意义深远;第一节组织结构与职责1.1定义1.1.1仓库:指在产品生产或商品流通过程中因各种原因而使产品、物品暂时存放的场所;1.1.2仓库管理:对仓储物品的收发、结存等活动的有效控制;1.1.3目的:是为了保证仓储物品的完好无损,确保生产经营的活动正常进行,并在此基础上对各类物品的活动状况进行分类记录,以明确的图、表方式表达仓储货品在存量、质量方面的状况,以及目前所在的地理位置、所属部门、订单类别和仓储分散程度等情况的综合;1.1.4作用:一是为会计核算部门提供了准确的信息来源,一是对促进生产提高效率起着重要的辅助作用;组织结构仓库主管的岗位职责:1.3.1根据公司的生产销售能力,确定原材料及产品的标准库存量;1.3.2及时与生产部和销售部计划部沟通,保证生产用原材料的库存供给和销售产品所需的库存供给;1.3.3定期编制采购物品的入库台帐、退货台帐及库存台帐,报送计划部及帐务部; 1.3.4组织人员保证库存环境符合要求,确保原材料和成品的品质不变; 1.3.5制定并实施仓库的管理制度和管理方法; 1.3.6完成上级交办的其他工作; 仓库管理员含帐务员的岗位职责:1.4.1管理进出库货物,按规则收、发、存储货物;1.4.2核对货物入出库单据凭证,清点实物,与外部送货接货人员办理交接手续; 1.4.3安排货物的存放地点,登记物料卡;1.4.4按照生产销售需求,调整、控制库存数量,及时配货; 1.4.5填制、报送各种货物单据,定期盘点并上报盘点报告; 1.4.6ERP 系统的实时更新; 1.4.7实施仓库的安全管理; 1.4.8完成上级交办的其他工作; 第二节团队价值观及KPI 指标仓库的团队价值观:学习、服务、协作、卓越;2.1.1学习:仓库员工要持续学习,快速学习,不断进步;工作上要精益求精,不仅仅精通所在工作岗位业务,同时对仓库其它工作岗位业务也要熟悉;每位员工都是工作业务的多面手,成为仓库管理的专业型、复合型人才;2.1.2服务:仓库是服务部门,内外相关部门都是我们的客户;工作要迅速、准确、高效; 2.1.3协作:仓库内部因各项工作的特殊性,在工作流量上会有不均衡性,这要求团队有高度的合作精神,相互支持配合;同时,与仓库以外的其他部门要有同样的协作精神;部门经理实物主管 原料收货组长帐务主管原料仓组长成品收发组长 成品外销组长帐务组长仓管员 仓管员 仓管员 仓管员 帐务员高级主管2.1.4卓越:提高工作效率,追求零缺陷,创建一流仓务管理的典范;仓库KPI指标2.2.1月安全事故发生次数为零;安全事故发生次数指的是仓库安全操作、偷盗、货物雨淋受损、火灾等所有安全事故发生次数;2.2.2月收发差错率为零;收发差错率,指的是仓库所有收发工作中差错批次数与收发总批次数的比率;收发物料范围:包含原料、辅料、半成品、成品、非直接生产物品等所有物料;收发作业范围:包含供应商收发货、加工商收发货、送QA检验、生产领退料、部门领料、成品下仓、出货等所有收发相关工作;差错种类范围:包含料号品名错误、数量错误、贴纸错误、未按规定要求作业等所有差错;数据来源范围:IQC、OQA、PRD、供应商等关联部门反馈;如成品备货时,给到QA检验,QA 发现贴纸料号打错;2.2.3月账物相符率100%;账物相符率,指的是抽盘中的准确项目与实际盘点总项目的比率;抽盘人员:独立于仓管员外的其他人员,如账务员、财务人员、第三方审核人员及主管指定的其他成员等;数据来源:仓库周、月、年盘点表,财务不定期抽盘表;2.2.4月ERP系统一次性录入差错率为零;ERP系统一次性录入差错率指的是账务员一次性录入数据过程中,错误笔数与做账总笔数的比率;2.2.4.1一次性录入指的是首次录入,比如账务员刚刚录入完系统过完账,马上就发现自己录入的数据有错,需要再修正数据,此情况也要计算在内,没有过账不计算在内;2.2.4.2错误笔数指的是系统错误的行数记录,如一个日记账有三条记录,日记账的单据类型错误,导致三条记录的单据类型全部错误,错误笔数应是3笔,而不能计算为1笔;2.2.4.3非PMC建单如PRD系统建单,PRD建单错误,但PMC过账时没有发现,此类错误也要计算在内;2.2.5月客户审核通过率100%;客户审核通过率指的是客户审核通过次数与客户审核总次数的比率;2.2.6月5S零问题;月5S问题指的是仓库在公司5S检查评比中认定的问题点为零第三节仓库的现场管理仓库的选址3.1.1影响仓库选址的因素:内部因素有公司的经营方针政策、经费预算、仓库技术、装卸的方便程度、车辆运行线路及废弃物处理;外部因素有城市道路规划、交通运输方式、水电等资源供应及客户状况等;3.1.2仓库选址策略需考量原材料、生产、客户之间的物流状况,有制造定位策略、中间定位策略、市场定位策略;仓库的设计仓库的设计需考虑三个方面内容:仓库的楼层数、空间利用计划和产品连续流;仓库的环境一般环境要求:3.3.1通风通气通光,干燥干净;3.3.2温度5℃-35℃,相对湿度45%-85%;3.3.3物料放置整齐、平稳,为避免潮湿尽可能用卡板垫底;3.3.4地面、墙面、天花板、门窗保持清洁;3.3.5物品不能裸露摆放,包装外表保持清洁;3.3.6保存期届满的产品应及时通知重检,物料一经发现变质应及时处理;特殊仓库要求:低温低湿仓,易燃易爆品仓,特殊化学品仓等等,具体要求参照MSDS;仓库的安全管理仓库安全最基本的要求是保证人和物在生产、储存中的安全;主要内容包括保卫、警卫工作,消防工作,安全操作技术,安全运输,有毒有害品和危险品品特殊管制等;安全管理要建立定期巡视检查制度,并有相应记录;仓库储位规划3.5.1面积配置:主要考虑仓储总面积、公共设施、各功能区域、有效储存面积等;3.5.2储位设定:从基准存量、收发频率考虑储位的设定与编号;3.5.3堆放方式:参考包装类别、物品特性、供货方式、储存工具分为托盘化管理、ABC分类管理、六号定位法、五五堆放法;3.5.4物品标示:物料卡内容设计,颜色管理;定期与不定期检查管理3.6.1定期检查指每月或每周对工作结果进行一次全面检查,以便发现问题,实施预防和纠正措施;3.6.2定期检查的内容有:总的帐物数量、库存材料、库存成品、库存积存品slowmoving、库存不合格品、包装状态、环境品质状态、安全状态、放置状态;3.6.3不定期检查指仓管员不定期进行帐、物自我检查和确认;检查项目可轮换,方式以抽查为主;第二章仓库工作流程与仓库操作指引第一节仓库主要操作流程原料收发作业流程成品出货流程帐务处理流程客户退货流程盘点操作流程第二节仓库各项工作操作指引具体请参考仓库工作手册第三章仓库管理制度第一节仓库安全管理制度仓库安全工作要贯彻预防为主的方针,做好防火、防盗、防工伤事故、防货物受损的出现;“谁主管,谁负责”,仓库主管应对仓库的消防安全工作全面负责,仓库各岗位人员对本岗位的消防安全工作负责;仓务员每天至少巡查一次,组长每天至少巡查一次,仓库主管每周至少巡查一次,所有巡查必须有记录;针对仓库安全,仓库主管至少每季度与OHS、FE等部门对所有库位联合巡查一次;设置醒目的禁火标志;库区的消防通道和安全出口等严禁堆放物品,保持通畅;严禁在消防设施周围堆放物品;仓务员要坚守岗位,离库时,应关好门窗,切断不必要的电源;仓库内严禁乱拉电源,严禁私自充电如手机、相机等;易燃易爆物品专库储存,专人管理,库内要有良好的通风设备及防泄漏装置;配齐灭火器、消防栓、消防桶等消防器材,并设置在显眼和便于取用的地点,确保任何时候都完好、有效;全体员工要爱护消防设施,禁止毁坏、偷盗消防设施,不能将消防设施挪作他用;除发生事故外,任何人不得私自动用;每季度对全体员工进行一次安全、防火教育课,新员工入厂一律先培训上岗,熟练掌握消防规则,消防技术和消防器材的使用方法,并组织演习,提高员工的消防观念,锻炼员工的消防技能;库房内严禁烟火,需要明火作业时,需安全部审批,并采取有效的安全防范措施后,方可明火作业;仓库消防走火通道示意图要置放于仓库明显处,每位员工要熟悉示意图,如紧急出口、消防器材位置等;非工作人员未经许可不得入库,执行出入登记制度;提高员工素质,开展素质培训﹑法制教育;仓库监控设施有效运作;对于举报盗窃的行为,实行奖励;切实做好仓库盘点;物料收发严格办理手续﹑凭证出入库;不得私自借料给其他部门;依照搬运作业指导操作,要做好货物防护,同时注意人身安全;做好储存管理,防止货物受到损坏和变质;严格按照作业程序操作;对违反安全操作规程和消防法规所造成经济损失,给予责任者批评教育或惩处,直至依法追究刑事责任;第二节仓库收发存管理制度﹑入库管理制度物料的入库指的是收货、验收、办理入库手续的全过程;要把好“三关”,验收的数量关、检查的质量关、单据的核查关;物料只有顺利地通过三关后,才能办理入库、登账、立卡等手续;2.1.1收货;单据及相关凭证等手续要齐全,要符合我司订货要求;2.1.2货物检查和验收;首先对外观进行检查,如有没有变形、破损等,核对货物名称、数量等是否正确,如发现有不相符现象,仓务员有权办理拒绝收货,视其程度报告给MC、SRC、上司处理;2.1.3收货后,提交给IQC检验;2.1.4IQC检验合格后,要及时办理入库;2.1.5库存实物管理员和入库仓务员交接清楚,实物摆放到相应的储位;登账;做好相关物料卡和系统账务;2.1.7建档;对已入库的物料建立物资档案,对每份入库的相关单据及凭证存档,并保存好;出库管理制度2.2.1物料出库,必须凭相关人员签批的有效单据凭证才能办理出库手续;2.2.2必须遵守先进先出的原则;物料出库的“5不”发料原则;2.2.3.1无发料凭证或凭证无效时不发;2.2.3.2手续不合要求的不发;2.2.3.3质量不符合要求的不发;2.2.3.4规格不对的不发;2.2.3.5未经登账入卡的不发;2.2.4物料出库要准确、及时,出库工作应尽量一次完成,以免造成混乱和差错;2.2.5确保库存剩余物料的标识及可追溯性;2.2.6确保发出和余留的物料均妥善包装、防护,不影响品质;2.2.7物料出库后必须及时登卡和入账,确保实物与账目一致;储存管理制度2.3.1为物料提供适宜的保管环境,根据不同的物料特性和用途并结合具体条件,将物料存放在合理的场所和位置;2.3.2科学堆放;堆垛合理,安全可靠,成行成列,整齐有序;2.3.3职责明确;仓务员对其保管物料负有保管的直接责任,要做到人各有责,物各有主,事事有人管;物料如有损失、盘盈、盘亏,仓务员应如实上报,按规定程序审批后,方可处理,未经批准,一律不准擅自更改账目或处置物料;2.3.4保管到位;保管物料要根据其自身特性,加强保管措施,如危险品管控和低温低湿管理,保证物料安全和不变质;2.3.5严格审批;保管物料,未经上司同意,一律不准擅自借出;2.3.6保障安全;仓库要防卫严密,慎防盗窃,禁止非本库人员擅自入库;做好消防安全管理,仓务员要能熟练使用消防器材和掌握必要的防火知识;做好日常安全巡查;2.3.7存储中的物料如发生纸箱变形、挤压、跌落等现象时,仓务员要及时采取有效措施处理;2.3.8做好盘点;按规定的频率进行盘点,并提供有效的数据信息;2.3.9做好5S;按5S规定要求操作;第三节帐务处理制度单据管理制度3.1.1所有经过仓库的单据必须字迹清晰、工整、完整;3.1.2单据签名一栏必须签全名,或是提供有部门经理允许的书面签名模式,单据上发货人、发货批准人,领料人、领料批准人不可为同一人,如部门主管或工程师领料必须由其上司批准;3.1.3单据修改必须将原错误信息用单线或双线删除,不允许在原错误信息上直接更改,并且要有修改人签名及日期,单据修改不可超过三处;3.1.4所有仓库进出的单据,进出的数量不可用加或减的方式填写数量;3.1.5按QSI-016文件规定不可使用错误的单据类型;3.1.6所有进出仓的单据,给到账务组后需要更改物料编号、仓位、数量、TAG、批次、MARKING、单位等信息必须经过仓管确认,非直接经手此单据的仓管,或其仓管的组长,不允许到账务组更改单据;3.1.7所有过完账的单据由账务组统一保管;3.1.8需仓库提交给相关部门的单据,账务员必须按时提交,提交方式按相关部门与仓库沟通后的单据上交要求提供;3.1.9存档单据按类型、仓位、日期和单号排序整理,日期以过账日期为准从大到小排序,单号在同一过账日期的基础上,从大到小排序;单据存档,装订各类单据整齐,并有明确标示,以及整理人的姓名,月底需将上月所有的过账单据装箱,所使用的纸箱统一为成品出货箱,并贴上单据存档标签,放到指定的单据存放区;账务作业制度3.2.1有效单证是录入系统的唯一凭证,严禁无单过账;3.2.2账务组对应的窗口是仓管员,账务员只接受仓管提供的系统过账单据;如因异常需要调整的单据需要组长确认,以及仓库主管批准方可调整;3.2.3正常操作无法过账时,需反馈并请相关人员处理后方可过账;3.2.4账务员不得私自修改原始单证;3.2.5过账人员不得私自修改系统数据;3.2.6收到仓管员的单据后,确认填写是否清晰完整,签名手续是否完备;3.2.7按照单据内容准确过账,并在单据的右下角签上过账人姓名及日期;3.2.8过账时有产生凭证号的单据,需将系统产生的凭证号写在单据的右上角;3.2.9任何有异常不能过账的单据,及时反馈给相关人员,因单据问题无法在当天完成过账的,及时记录到问题单据汇总表,并通知组长跟进处理;查单人员每天从系统中导出前一天过账明细,与单据逐条核对,核对后在清单上签名并将其交组长,组长负责抽查及过账错误单据的处理;过账人员每天将其负责的单据归类保存;当日单据当日完成;第四章参考与补充第一节 ATL各仓库储位一览表ATL仓库盘点有三种,一种是周盘点,一种是年度盘点,一种是抽查盘点如FNC组织的临时抽查盘点和上司临时指定的盘点1、周盘点周盘点的目的:是对上一周工作结果进行一次全面检讨,以便发现问题实施预防和纠正;具体操作方法是:账务员从系统中分类导出截止一定时间的现有库存数,做成盘点表;仓管员100%盘点,账务员抽取至少20%的P/N盘点;每月账务组要把所有库存物料抽盘一遍,也就是说要盘点完库存的所有P/N,因此我们的周盘点也称为循环盘点法;原料仓盘点时间是每周五,成品仓是每周四;盘点方式是动态的,物料收发不要求停止;2、年度盘点年度盘点指的是每财政年度结束时进行的账、物全面检查和确认;它的目的是对此财政年度的工作结果进行一次全面检讨,以发现问题,实施预防和纠正措施,并为公司管理层提供决策依据;每年有二次年度盘点,分别是3月底TDK财政年度结束期和12月底中国年度结束期,年度盘点由财务部统筹安排;盘点计划:盘点前由FNC或PMC组织相关部门就盘点时间、内容、规则、方法、要求、培训等达成一致意见,并发出详细的盘点工作计划;仓管员初盘:货物分类集中摆放后,仓库对货物进行100%的盘点,并按要求填写盘点票;仓库内部复核:初盘结束后,内部复核人员仓库主管指定的账务员、组长等非初盘人员在初盘人员的引导下进行内部复核工作;仓库内部复核也是100%核查实物、盘点票、盘点明细表三者是否一致;不同部门交叉复盘:仓库内部复核结束后,公司安排的交叉复盘人员在仓库人员的引导下进行100%复盘;审计公司及财务人员抽样核对:交叉复核结束后,外部审计/FNC人员在仓库人员的引导下进行抽盘工作;具体抽盘比例由外部审计/FNC确定;抽盘人员对核对无误的项目在盘点票与盘点明细表上签名确认,对核对有误的,应会同仓库人员修改盘点票、盘点明细表的数量,并报仓库主管签字确认;盘点收尾工作:2.6.1收集整理盘点票,填写盘点票使用控制表,财务联上交FNC,其它联仓库存档备查;2.6.2盘点明细表电子档传给FNC;2.6.3盘点差异表纸档经仓库主管、部门经理、部门总监签名确认后,连同电子档转交FNC;2.6.4FNC创建日记账,帐务人员在AX系统中核对后,提交给FNC审核过账;2.6.5仓库盘点工作总结;3、抽查盘点为某些特殊目的对仓库的物料成品进行抽样盘点,此类盘点一般不停止仓库的正常收发工作,是在领导的临时指令下实施;它主要包括:一是财务为抽查仓库帐物的准确性,临时安排的抽样盘点;二是公司管理层针对库存贵重物品,进行的突击检查;三是日常工作中因某项业务出现异常,为彻底查清某物料全部的库存状态而进行的盘点;如某个物料品质出现异常、客户紧急取消某个订单等等;四是某重要项目进行过程中,为了顺利开展下一步工作而进行的库存物料清点;盘点操作要求与周盘点类似;第四节系统参考文件以下为仓库工作参考文件,具体内容请访问:QSP-009QSI-027QSI-061QSI-069QSI-94QSI-095QSI-108QSI-135QSI-130QSI-140QSI-165QSI-168QSI-177电池成品箱包装工作指示WI-239 QSI-201WI-508WI-399ESP-010ESP-012ESI-002ESI-003ESI-004ESI-006ESI-008ESI-053ESI-054。
油品出入库手续制度1. 前言为了规范和维护公司油品出入库管理,保障油品的合理使用和储存,制定本手续制度。
2. 定义本手续制度所称的油品,是指生产、采购、储存的石油、油料、润滑油和其他石油产品。
本手续制度所称的出入库,是指油品从公司仓库或场站进出。
3. 出入库操作程序3.1 出库流程1.出库申请(1)正式开具出库申请单;(2)出库单经过主管领导批准后方可执行;(3)出库申请单中必须填写:油品种类、数量、车号、收货单位、联系电话、地址等相关信息。
2.仓库验收(1)仓库人员按照出库单的要求进行核对数量、车号等信息,并与申请单进行对照核实;(2)仓库人员在出库单上签字确认。
3.油品装车(1)仓库人员根据出库单的要求,指挥油品装车;(2)确认装车信息后,仓库人员在出库单上签字确认。
4.车辆出库(1)仓库人员将装好油品的车辆放行;(2)司机必须在出库单上签字确认收到油品。
3.2 入库流程1.进料验收(1)进料车辆到达公司仓库或场站后,需要进行验收;(2)仓库人员对油品的来源、种类、数量、油品特性、是否过期等信息进行核对;(3)验收合格后,才能进行后续操作。
2.油品卸车(1)卸车时必须按照操作规程进行;(2)卸车过程中,必须配戴消防器材保证安全。
3.油品存储(1)油品卸车后,应按照品种、特性、批次等有关信息进行堆放;(2)油品存储时间:原油≤ 30天,润滑油≤ 1年。
4. 出入库安全1.操作人员必须持有相应操作证,在操作前进行二次检查;2.操作场所禁止吸烟、明火等喧哗行为,操作过程中必须配戴相应安全防护用品;3.操作过程中,必须遵守相关操作规范,严禁私自操作或泄漏有关信息;4.仓库必须安装监控设备,对出入库操作过程进行监控,及时发现异常情况。
5. 对外服务1.公司可向有需要单位销售规定品种的油品,但需有相关证照,并按照相应程序进行操作;2.有需要单位向公司申请采购油品,应按规定程序进行审核,审核通过后方可销售。
PB仓库管理系统(流程图+ER图+源代码+论文设计)-论文PB仓库管理系统(流程图+ER图+源代码+论文设计)一、论文题目:仓库管理信息系统的开发二、题目研究内容:当今社会为信息社会,世界已进入在计算机信息管理领域中激烈竞争的时代。
信息已成为继劳动力、土地、资本之后的又一大资源,谁控制的信息越多,谁利用信息资源的效率越高,谁就会在各方面的竞争中,占有一席之地,谁就会更有优势,这一点已得到举世公认。
随着WTO的加入和我国工业的迅猛发展,为了抓住机遇,在竞争占得先机,作为生产企业的一个必不可少的重要环节—仓库管理的信息化、计算机化也就迫在眉捷了。
开发仓库管理信息系统即有宏观上的意义,那就是顺应时代信息化、现代化潮流,提高效益,促进国民经济结构优化;也有微观上的意义,那就是可以提高管理的现代化程序,加强管理的信息化手段,提高工作效率,增加单位效益。
仓库管理的对象是很多的,广而言之,它可以包括:商业、企业仓库的商品,图书馆仓库的图书,博物馆仓库的展品等等。
在这里本文仅涉及工业企业的产品仓库。
它主要包括下列三部分:1、没有经过企业加工,而为企业生产或其他各方面所需要的原材料、燃料、半成品、部件等,如钢材、轴承、发动机、电动机等。
2、已经过企业加工,但尚未加工完毕的在制品。
3、企业已加工完毕,储而待销的成品与备件等。
仓库管理系统对仓库进行全面的管理和监控,缩短了仓库信息流转时间,使企业的物料管理层次分明、井然有序,为采购、销售和生产提供依据;智能化的预警功能可自动提示存货的短缺、超储等异常状况;减少资金积压。
完善的仓库管理功能,可对企业的存货进行全面的控制和管理,降低仓库成本,增强企业的市场竞争力。
仓库管理信息系统研究的内容涉及仓库管理的全过程,包括入库、出库、仓库余额管理等等。
三、调研情况1、国内外现状研究:网学网是个大垃圾网站,只会抄六维论文上面的论文计算机在管理中的应用开始于1954年,当时美国首先用计算机处理工资单。
#include "stdio.h"#include "stdlib.h"#include "string.h"//#include "ctype.h"#include "time.h"#include "conio.h"#define M 50struct CK{ int num_out;char type[10];int num_produce;float price;int amount;int num_client;int num_depot;char agent[20];struct date2{int year;int month;int day;}enter;};typedef struct CK Goods;int time(void);void Menu();void Exit();void MainMenu();int MenuSelect();void MainFunction();int Init(Goods t[]);void List(Goods t[],int n);void SearchOnProduce(Goods t[],int n); int DeleteRecord(Goods t[],int n);int AddRecord(Goods t[],int n);int AlterOnProduceNum(Goods t[],int n); void SortOnProduceNum(Goods t[],int n); float AggregateAmount(Goods t[],int n); void SaveRecord(Goods t[],int n);int LoadRecord(Goods t[]);void main(){void MainFunction();MainFunction();}void MainFunction(){int in;void Menu();void Exit();void Menu();Menu();in=getchar();switch(in){case '1':MainMenu();break;case '0':Exit();break;}}void Menu(){system ("cls");printf("\n\n");printf(" -------------------------------------\n");printf(" | 信本一班2012100928 某某(专属权)|\n"); printf(" |*******1.产品出库操作管理系统******|\n"); printf(" | * ** * |\n"); printf(" | *0.退**出* |\n"); printf(" | |\n"); printf(" -------------------------------------\n\n\n");printf(" 请输入您的选择:\n");return ;}void MainMenu(){Goods t[M];int length;system("cls");while(1){switch(MenuSelect()){case 1: length=Init(t);SaveRecord(t,length);break;case 2:length=LoadRecord(t);List(t,length);break;case 3:length=LoadRecord(t);SearchOnProduce(t,length);break;case 4:length=LoadRecord(t);length=DeleteRecord(t,length);SaveRecord(t,length);break;case 5:length=LoadRecord(t);length=AddRecord(t,length);SaveRecord(t,length);break;case 6:length=LoadRecord(t);length=AlterOnProduceNum(t,length);SaveRecord(t,length);break;case 7:length=LoadRecord(t);SortOnProduceNum(t,length);SaveRecord(t,length);List(t,length);break;case 8:length=LoadRecord(t);AggregateAmount(t,length);SaveRecord(t,length);break;case 0:getchar();MainFunction();}}}void Exit(){system ("cls");printf("\n\n");printf(" \7\1欢迎再次使用!\n\n");exit(0);}int time(){time_t t=time(0);char tmp[64];strftime( tmp, sizeof(tmp), "\n %Y/%m/%d %X %A\n",localtime(&t) );puts( tmp );return 0;}int MenuSelect(){int c;printf("\7press any key enter menu......\n");getch();system("cls");time();printf("\n -------------- 产品入库操作管理系统---------------\n\n");printf(" 1. 输入出库操作记录\n");printf(" 2. 用指定格式显示全部记录\n");printf(" 3. 根据出库产品编号查找记录\n");printf(" 4. 根据出库编号删除记录\n");printf(" 5. 增加出库操作记录\n");printf(" 6. 根据出库产品编号修改记录信息\n");printf(" 7. 按出库产品编号从小到大显示记录\n");printf(" 8. 统计所有生产出库产品的总金额\n");printf(" 0. 返回系统菜单\n\n");do{printf("\n Enter your choice(0-8):");if(scanf("%d",&c)!=1){ while(getchar()!='\n')continue;}}while(c<0||c>8);return c;}int Init(Goods t[]){int i,n;n=0;system("cls");printf("请输入出库产品总数:");scanf("%d",&n);printf("\n开始输入记录\n");for(i=0;i<n;i++){printf("\n第%d个产品的出库编号:",i+1);scanf("%d",&t[i].num_out);printf("输入第%d个产品的出库类型,在'xiaoshou' 'tuihuo' 'yongliao'中选择一个:",i+1);scanf("%s",t[i].type);printf("输入第%d个产品的出库产品编号:",i+1);scanf("%d",&t[i].num_produce);printf("输入第%d个产品的出库产品单价:",i+1);scanf("%f",&t[i].price);printf("输入第%d个产品的出库产品数量:",i+1);scanf("%d",&t[i].amount);printf("输入第%d个产品的客户编号:",i+1);scanf("%d",&t[i].num_client);printf("输入第%d个产品的仓库编号:",i+1);scanf("%d",&t[i].num_depot);printf("输入第%d个产品的经办人:",i+1);scanf("%s",t[i].agent);printf("输入第%d个产品的出库日期,按年月日格式以空格隔开:",i+1);scanf("%d %d %d",&t[i].enter.year,&t[i].enter.month,&t[i].enter.day);system("cls");}return (n);}void List(Goods t[],int n){int i;system("cls");printf("\n------------------------------------- LIST ---------------------------------\n");printf("出库号出库类型产品号单价数量客户号仓库号经办人出库日期\n");for(i=0;i<n;i++){printf("%-7d%-10s%-5d",t[i].num_out,t[i].type,t[i].num_produce);printf("%-6.2f%-6d%-7d%-9d%-6s",t[i].price,t[i].amount,t[i].num_client,t[i].num_depot,t[i]. agent);printf("%4d/%2d/%2d\n",t[i].enter.year,t[i].enter.month,t[i].enter.day);if((i+1)%10==0){printf("Press any key continue...\n");getch();}}}void SearchOnProduce(Goods t[],int n){int accout=0,i,f,flag=0;system("cls");printf("请输入要查找的入库产品编号:");scanf("%d",&f);for(i=0;i<n;i++){if(f==t[i].num_produce){flag=1;printf("\n----------------------- 入库产品编号为%d的记录信息---------------------\n",i+1);printf("出库号出库类型产品号单价数量客户号仓库号经办人出库日期\n");printf("%-7d%-10s%-5d",t[i].num_out,t[i].type,t[i].num_produce);printf("%-6.2f%-6d%-7d%-9d%-6s",t[i].price,t[i].amount,t[i].num_client,t[i].num_depot,t[i]. agent);printf("%4d/%2d/%2d",t[i].enter.year,t[i].enter.month,t[i].enter.day);}}if(flag==0)printf("\n\7抱歉,查无此出库产品编号!\n");}int DeleteRecord(Goods t[],int n){char ch='N';int f,i,j,flag=0;system("cls");printf("请输入要删除的出库编号:");scanf("%d",&f);for(i=0;i<n;i++){if(f==t[i].num_out){flag=1;system("cls");printf("\n************************** 出库编号为%d的记录信息************************\n",i+1);printf(" 出库号出库类型产品号单价数量客户号仓库号经办人出库日期\n"); printf("%-7d%-10s%-5d",t[i].num_out,t[i].type,t[i].num_produce);printf("%-6.2f%-6d%-7d%-9d%-6s",t[i].price,t[i].amount,t[i].num_client,t[i].num_depot,t[i].agent );printf("%4d/%2d/%2d",t[i].enter.year,t[i].enter.month,t[i].enter.day);printf("\n\nAre you sure delete this record(Y/N)\n");ch=getch();if(ch=='y'||ch=='Y'){for(j=i;j<n-1;j++)t[j]=t[j+1];n--;}}}if(flag==0)printf("\n\7抱歉,查无此出库编号!\n");return n;}int AddRecord(Goods t[],int n){int i,m;system("cls");printf("\n请输入要增加的记录数:\n");scanf("%d",&m);printf("开始追加记录\n");for(i=n;i<n+m;i++){system("cls");printf("\n第%d个产品的出库编号:",i+1);scanf("%d",&t[i].num_out);printf("输入第%d个产品的入库类型,在'xiaoshou' 'tuihuo' 'yongliao'中选择一个:",i+1);scanf("%s",t[i].type);printf("输入第%d个产品的出库产品编号:",i+1);scanf("%d",&t[i].num_produce);printf("输入第%d个产品的出库产品单价:",i+1);scanf("%f",&t[i].price);printf("输入第%d个产品的出库产品数量:",i+1);scanf("%d",&t[i].amount);printf("输入第%d个产品的客户编号:",i+1);scanf("%d",&t[i].num_client);printf("输入第%d个产品的仓库编号:",i+1);scanf("%d",&t[i].num_depot);printf("输入第%d个产品的经办人:",i+1);scanf("%s",t[i].agent);printf("输入第%d个产品的出库日期,按年月日格式以空格隔开:",i+1);scanf("%d %d %d",&t[i].enter.year,&t[i].enter.month,&t[i].enter.day);}return (n+m);}int AlterOnProduceNum(Goods t[],int n){int i,no,flag=0;char ch='N';system("cls");printf("请输入要修改的出库产品编号:");scanf("%d",&no);for(i=0;i<n;i++){if(t[i].num_produce==no){flag=1;printf("\n************************** 入库产品编号为%d的记录信息************************\n",i+1);printf("出库号出库类型产品号单价数量客户号仓库号经办人出库日期\n");printf("%-7d%-10s%-5d",t[i].num_out,t[i].type,t[i].num_produce);printf("%-6.2f%-6d%-7d%-9d%-6s",t[i].price,t[i].amount,t[i].num_client,t[i].num_depot,t[i].agent );printf("%4d/%2d/%3d",t[i].enter.year,t[i].enter.month,t[i].enter.day);printf("\n\nAre you sure alter it(Y/N)\n\n\n");ch=getch();if(ch=='y'||ch=='Y'){printf("请输入要修改的产品修改完的信息:\n");printf("第%d个产品的出库编号:",i+1);scanf("%d",&t[i].num_out);printf("输入第%d个产品的出库类型,在'xiaoshou' 'tuihuo' 'yongliao'中选择一种类型:",i+1);scanf("%s",t[i].type);printf("输入第%d个产品的出库产品编号:",i+1);scanf("%d",&t[i].num_produce);printf("输入第%d个产品的出库产品单价:",i+1);scanf("%f",&t[i].price);printf("输入第%d个产品的出库产品数量:",i+1);scanf("%d",&t[i].amount);printf("输入第%d个产品的客户编号:",i+1);scanf("%d",&t[i].num_client);printf("输入第%d个产品的仓库编号:",i+1);scanf("%d",&t[i].num_depot);printf("输入第%d个产品的经办人:",i+1);scanf("%s",t[i].agent);printf("输入第%d个产品的出库日期,按年月日格式以空格隔开:",i+1);scanf("%d %d %d",&t[i].enter.year,&t[i].enter.month,&t[i].enter.day);}}}if(flag==0)printf("\7抱歉,查无此产品记录!!\n");return n;}void SortOnProduceNum(Goods t[],int n){int i,j;Goods temp;system("cls");for(j=1;j<n;j++)for(i=0;i<n-j;i++)if(t[i].num_produce>t[i+1].num_produce){ temp=t[i];t[i]=t[i+1];t[i+1]=temp;}}float AggregateAmount(Goods t[],int n){int i;float sum=0;char temp[20]="xiaoshou";system("cls");for(i=0;i<n;i++)if(strcmp(t[i].type,temp)==0){sum=sum+(float)t[i].amount*t[i].price;}printf("\n出库产品的总金额为%.2f\n\n",sum);return sum;}/*保存函数,参数为结构体数组和记录数*/void SaveRecord(Goods a[],int m){ int i;FILE *fp;/*指向文件的指针*/if((fp=fopen("record.txt","w"))==NULL){printf("can not open file\n");exit(1);}for(i=0;i<m;i++)fwrite(&a[i],sizeof(Goods),1,fp);fclose(fp);/*关闭文件*/}/*读入函数,参数为结构体数组*/ int LoadRecord(Goods t[]){int n=0;FILE *fp;if((fp=fopen("record.txt","r"))==NULL){printf("can not open file\n");exit(0);}while(fread(&t[n],sizeof(Goods),1,fp)) n++;fclose(fp);printf("从文件中成功读出记录!!!\n");return n;}。