首页 > 编程语言 >java管理系统

java管理系统

时间:2024-09-29 20:01:27浏览次数:8  
标签:工序 java String 管理系统 int System println out

一、考试要求:
1、按照测试内容要求完成程序的设计与编程;
2、建立学号姓名文件夹,如:“20234215柳泽羽”,将源程序文件、保存在文件夹中,压缩成rar文件提交。
3、以班级为单位上交最终考试结果。
4、需要在程序开始的注释中注明班级、学号、姓名。
二、系统背景:
某机械有限公司为了实现企业全流程数字化管理,计划引入一套MES系统,主要目的:可以高效率低成本能够准确全面及时的采集生产数据。
生产过程中以产品为主线、与产品相关的人的数据、物料消耗数据,设备的使用和成本数据、工装模具数据、工位器具的关联,每一种产品的工作开始时间和结束时间等数据以最小的颗粒度准确、及时完整准确的采集上来,避免和减少人为填写的错误、缺项、不及时造成的数据不准,提高交接速度,降低交接成本。特委托石家庄铁道大学信息科学与技术学院无限23软件有限公司开发Mes系统。
二、数据结构要求:(5分)
1、定义PlanInformation类,其中包括十四个私有变量(id,planid,planname,process,nextprocess,operator,recipient,plannumber, innumber,outnumber,missnumber,badnumber, inspectednumber,statement)。
各成员的含义如下:
变量id为整型,表示日报流水号,依次加一。
变量planid 为字符串类型 String,表示产品生产批次号(例如:2312-110,有8 位字符组成,前四位表示年月,后三位表示序号)。
变量planname为字符串类型 String,表示产品名称(例如:“表体”)。
变量process为String 类型,表示当前工序名称。(例如:“10.00 .射蜡”数字表示工序号,字符表示工序名称)。
变量nextprocess为String 类型,表示下一接收工序名称。(例如:“11.00 .修蜡”含义同上)。
变量operator为String类型,表示当前工序的操作者。
变量recipient为String类型,表示下一道工序的接受者。
变量plannumber为整型,表示该产品定要要求的产品数量。
变量innumber为整型,表示从上一道工序的接收的合格产品总数。
变量outnumber为整型,表示当前工序的产品转出总数。
变量missnumber为整型,表示当前工序的产品丢失数量。
变量badnumber为整型,表示当前工序的产品废品数量。
变量inspectednumber为整型,表示当前工序的产品待检验数量。
变量statement为整型,表示该日报记录的状态,0表示初始计划,1表示日报提交,2表示日报确认。
产品工艺表如下表所示:
序号 工序批次 工序名称 操作员
1 10 射蜡 柳泽羽
2 20 修蜡 藤艺哲
3 30 面层 郝一诺
4 40 封浆 杨松铎
5 50 熔化 刘宇恒
6 60 切割 陶攀印
7 70 精磨 阎琪文
8 80 调型 郝正一
9 90 检验 刘静一

2、赋初值方法包括十四个参数,用于为变量(id,planid,planname,process,nextprocess,operator,recipient,plannumber,innumber,outnumber,missnumber,badnumber, inspectednumber,statement)赋值。
对每个变量定义 get()(读取变量信息)和 set()(设置变量信息)的方法。
三、功能要求:(10分)
该功能完成Mes的基本功能功能,定义PlanManagement类完成下列功能。
1、利用数组实现至少存储五个日报记录入库的基本信息;(1分)
2、Mes系统的主界面如下图所示:(1分)
①界面要求;(0.5分)


石家庄铁道大学无限23软件开发有限公司
Mes系统2023版


1、生成计划
2、提交日报
3、确认日报
4、统计进度


②功能说明
输入数字1-4执行相应的功能,输入其他数字提示错误信息(该选项不存在),并返回主界面。(0.5分)

2、生产计划管理功能操作流程:(2分)
①在主界面选择“生成计划”功能后,进入“生成计划管理”界面,如下图所示:(0.5分)
依次录入产品批次、产品名称、计划数量,录入完成后的界面如下所示:
石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

产品批次:2409-018
产品名称:阀体
计划数量:10000


如果产品编码、信息录入格式错误,则提示“录入错误”,要求用户重新录入正确信息。(1分)
全部正确信息录入完毕后,显示如下界面。
石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

产品批次:2409-018
产品名称:阀体
计划数量:10000
该产品入库操作已完成,是否提交(Y/N)


选择“Y”将产品信息存储到到相应的数组中,并返回主界面。选择“N”,则忽略上述录入内容,并返回产品入库界面。(0.5分)
提示:将批次状态statement设置成为0。
3、提交日报(3分)
①在主界面选择“提交日报”功能后,进入“提交日报”界面,如下图所示:

石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

请输入产品批次号:XXXXXXXX


提示用户输入八位的产品批次。
②如果库中不存在该产品批次信息,则提示库中没有该产品计划,返回到提交界面。如果库中存在该产品批次,如果statement为0则显示:产品批次、产品名称、计划数量,并且依次填写下述信息。如下图所示。(1分)
石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

1、产品批次:2409-018
2、产品名称:阀体
3、计划数量:10000
4、当前工序:XXX
5、下一工序:XXX
6、操作员:(自动生成,根据工序号)
7、接收员:(自动生成根据工序号)
8、上一道工序转入数量:XXX(小于等于计划数量,第一道工序不用录入该数字)
9、转出总数:XXX(小于等于上一道工序转入数量)
10、丢失数量:XXX
11、废品数量:XXX
12、待检验数量:XXX

如果statement为2则显示:产品批次、产品名称、计划数量,当前工序、下一工序、操作员、接收员、上一道工序转入数量,并且依次填写剩余信息。(1分)

③数据押平规则:转出总数=丢失数量+废品数量+待检验数量,如果上述关系不成立,提示录入错误信息,要求用户更改上述三个数量。(0.5分)
④选择“Y”将修改信息保存提交。选择“N”,不保存修改信息返回系统主界面。(0.5分)
提示:将批次状态statement设置成为1。

4、确认日报管理(2分)
①在主界面选择“确认日报”功能后,进入“确认日报管理”界面,如下图所示:(0.5分)
石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

请输入产品批次:XXXXXXXX


提示用户输入八位的产品批次。
②如果库中不存在该产品批次信息,则提示库中没有该产品批次,返回到确认日报界面。如果库中存在该产品批次且该批次状态为1是,则显示:产品批次、产品名称、计划数量、转入数量、转出数量等基本信息。如下图所示。(0.5分)
石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

1、产品批次:2409-018
2、产品名称:阀体
3、计划数量:10000
4、当前工序:10. 射蜡
5、下一工序:20.修腊
6、操作员:(自动生成,根据工序号)
7、接收员:(自动生成根据工序号)
8、上一道工序转入数量:XXX(小于等于计划数量,第一道工序不用录入该数字)
9、转出总数:XXX(小于等于上一道工序转入数量)
10、丢失数量:XXX
11、废品数量:XXX
12、待检验数量:XXX **********************************************************
③选择“Y”确认结果,并生成一条新的生产任务记录,将下一工序填充到当前工序为,并根据工艺流程表自动填充下一工序,将转出合格数量=转出总数-丢失数量-废品数量-待检验数量填充到转入数量字段,并将提示:将批次状态statement设置成为2。
并且重新显示确认后的日报信息。
石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

1、产品批次:2409-018
2、产品名称:阀体
3、计划数量:10000
4、当前工序:XXX
5、下一工序:XXX
6、操作员:(自动生成,根据工序号)
7、接收员:(自动生成根据工序号)
8、上一道工序转入数量:XXX


选择“N”, 返回当前界面。(1分)

5、用户选择数字“4”,进入进度统计功能,显示如下界面。(1分)

石家庄铁道大学无限23软件开发有限公司
Mes系统2023版

1、产品批次:XXXXXXX
2、产品名称:XXXX
3、计划数量:XXXXX
4、完成数量:XXX(以最后一道工序转出数量为准)
5、剩余数量:XXX


剩余数量=计划数量 – 完成数量
代码示例:
package mes;
import java.util.ArrayList;
import java.util.Scanner;

public class TheSystem {
private ArrayList list=new ArrayList();
public void choic() {
Scanner sc=new Scanner(System.in);
while(true) {
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 1、生成计划");
System.out.println(" 2、提交日报");
System.out.println(" 3、确认日报");
System.out.println(" 4、统计进度");
System.out.println("");
int choose=sc.nextInt();
switch (choose) {
case 1: {
makePlan();
break;
}
case 2:{
Handin();
break;
}
case 3:{
makesure();
break;
}
case 4:{
Statistics();
break;
}
default:
System.out.println("该选项不存在");
}
}
}
public void makePlan() {
PlanInformation p=new PlanInformation();
Scanner sc=new Scanner(System.in);
System.out.println("请输入产品批次");
String planId=sc.next();
p.setPlanid(planId);
System.out.println("请输入产品名称");
String planName=sc.next();
p.setPlanname(planName);
System.out.println("请输入计划数量");
int planNumber=sc.nextInt();
p.setPlannumber(planNumber);
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 产品批次:"+planId);
System.out.println(" 产品名称:"+planName);
System.out.println(" 计划数量:"+planNumber);
System.out.println(" 该产品入库操作已完成,是否提交(Y/N)");
System.out.println("
");
char choice = sc.next().charAt(0);
if (choice == 'Y' || choice == 'y') {
list.add(p);
System.out.println("提交成功");
}
p.setStatement(0);
}
public void Handin() {
while(true) {
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 请输入产品批次号:");
System.out.println("");
Scanner sc=new Scanner(System.in);
String planId=sc.next();
int index=getIndex(planId);
if(index>=0) {
PlanInformation p=list.get(index);
int sta=p.getStatement();
if(sta==0) {
System.out.println("请输入工序名称");
String processString=sc.next();
p.setProcess(processString);
String string=table(processString);
p.setOperator(string);
String string2=form(processString);
p.setRecipient(string2);
System.out.println("请输入下一工序");
String nextprocessString=sc.next();
p.setNextprocess(nextprocessString);
System.out.println("请输入上一道工序转入数量");
int inNumber=sc.nextInt();
p.setInnumber(inNumber);
System.out.println("请输入转出总数");
int outNumber=sc.nextInt();
p.setOutnumber(outNumber);
System.out.println("请输入丢失数量");
int missNumber=sc.nextInt();
p.setMissnumber(missNumber);
System.out.println("请输入废品数量");
int badNumber=sc.nextInt();
p.setBadnumber(badNumber);
System.out.println("请输入待检验数量");
int inspectedNumber=sc.nextInt();
p.setInspectednumber(inspectedNumber);
if(outNumber!=missNumber+badNumber+inspectedNumber) {
System.out.println("录入错误信息");
System.out.println("请输入转出总数");
outNumber=sc.nextInt();
p.setOutnumber(outNumber);
System.out.println("请输入丢失数量");
missNumber=sc.nextInt();
System.out.println("请输入废品数量");
badNumber=sc.nextInt();
System.out.println("请输入待检验数量");
inspectedNumber=sc.nextInt();
}
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 1、产品批次:"+p.getPlanid());
System.out.println(" 2、产品名称:"+p.getPlanname());
System.out.println(" 3、计划数量:"+p.getPlannumber());
System.out.println(" 4、当前工序:"+processString);
System.out.println(" 5、下一工序:"+nextprocessString);
System.out.println(" 6、操作员:"+string);
System.out.println(" 7、接受员:"+string2);
System.out.println(" 8、上一道工序转入数量:"+inNumber);
System.out.println(" 9、转出总数:"+outNumber);
System.out.println(" 10、丢失数量:"+missNumber);
System.out.println(" 11、废品数量:"+badNumber);
System.out.println(" 12、待检验数量:"+inspectedNumber);
System.out.println("
");
p.setStatement(1);
list.add(p);
break;
}
else if(sta2) {
String processString=p.getNextprocess();
String string=table(processString);
p.setOperator(string);
String string2=form(processString);
p.setRecipient(string2);
System.out.println("请输入转出总数");
int outNumber=sc.nextInt();
p.setOutnumber(outNumber);
System.out.println("请输入丢失数量");
int missNumber=sc.nextInt();
p.setMissnumber(missNumber);
System.out.println("请输入废品数量");
int badNumber=sc.nextInt();
p.setBadnumber(badNumber);
System.out.println("请输入待检验数量");
int inspectedNumber=sc.nextInt();
p.setInspectednumber(inspectedNumber);
if(outNumber!=missNumber+badNumber+inspectedNumber) {
System.out.println("录入错误信息");
System.out.println("请输入转出总数");
outNumber=sc.nextInt();
p.setOutnumber(outNumber);
System.out.println("请输入丢失数量");
missNumber=sc.nextInt();
System.out.println("请输入废品数量");
badNumber=sc.nextInt();
System.out.println("请输入待检验数量");
inspectedNumber=sc.nextInt();
}
String string3=p.getProcess();
String string4=next(string3);
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 1、产品批次:"+p.getPlanid());
System.out.println(" 2、产品名称:"+p.getPlanname());
System.out.println(" 3、计划数量:"+p.getPlannumber());
System.out.println(" 4、当前工序:"+p.getNextprocess());
System.out.println(" 5、下一工序:"+string4);
System.out.println(" 6、操作员:"+string);
System.out.println(" 7、接受员:"+string2);
System.out.println(" 8、上一道工序转入数量:"+p.getOutnumber());
System.out.println(" 9、转出总数:"+outNumber);
System.out.println(" 10、丢失数量:"+missNumber);
System.out.println(" 11、废品数量:"+badNumber);
System.out.println(" 12、待检验数量:"+inspectedNumber);
System.out.println("");
p.setStatement(1);
}
}else {
System.out.println("没有该产品计划");
}
}
}
public void makesure() {
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 请输入产品批次号:");
System.out.println("
");
Scanner sc=new Scanner(System.in);
String planId=sc.next();
int index=getIndex(planId);
PlanInformation p=list.get(index);
int sta=p.getStatement();
if(index>=0&&sta
1) {
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 1、产品批次:"+p.getPlanid());
System.out.println(" 2、产品名称:"+p.getPlanname());
System.out.println(" 3、计划数量:"+p.getPlannumber());
System.out.println(" 4、当前工序:"+p.getProcess());
System.out.println(" 5、下一工序:"+p.getNextprocess());
System.out.println(" 6、操作员:"+p.getOperator());
System.out.println(" 7、接受员:"+p.getRecipient());
System.out.println(" 8、上一道工序转入数量:"+p.getOutnumber());
System.out.println(" 9、转出总数:"+p.getOutnumber());
System.out.println(" 10、丢失数量:"+p.getMissnumber());
System.out.println(" 11、废品数量:"+p.getBadnumber());
System.out.println(" 12、待检验数量:"+p.getInspectednumber());
System.out.println("");
System.out.println("确认(Y/N)");
char choice = sc.next().charAt(0);
if (choice == 'Y' || choice == 'y') {
String string=next(p.getProcess());
p.setProcess(string);
String string2=next(p.getNextprocess());
p.setNextprocess(string2);
String string3=table(string);
p.setOperator(string3);
String string4=form(string);
p.setRecipient(string4);
System.out.println("");
System.out.println(" 石家庄铁道大学无限23软件开发有限公司");
System.out.println(" Mes系统2023版");
System.out.println("
");
System.out.println(" 1、产品批次:"+p.getPlanid());
System.out.println(" 2、产品名称:"+p.getPlanname());
System.out.println(" 3、计划数量:"+p.getPlannumber());
System.out.println(" 4、当前工序:"+string);
System.out.println(" 5、下一工序:"+string2);
System.out.println(" 6、操作员:"+string3);
System.out.println(" 7、接受员:"+string4);
System.out.println(" 8、上一道工序转入数量:"+p.getOutnumber());
System.out.println("
");
}
p.setStatement(2);
}else if(index<0){
System.out.println("没有该批次");
}
}
public void Statistics() {

}
public int getIndex(String planid) {
	for (int i = 0;i<list.size() ; i++) {
		PlanInformation s=list.get(i);
		String sid=s.getPlanid();
		if(sid.equals(planid)) {
			return i;
		}
	}
	return -1;
}
public String table(String string) {
	String[] a1= {"射蜡","修蜡","面层","封浆","熔化","切割","精磨","调型","检验"};
	String[] a2= {"柳泽羽","藤艺哲","郝一诺","杨松铎","刘宇恒","陶攀印","阎琪文","郝正一","刘静一"};
	for(int i=0;i<a1.length;i++) {
		if(string.equals(a1[i])) {
			return a2[i];
		}
	}
	return null;
}
public String form(String string) {
	String[] a1= {"射蜡","修蜡","面层","封浆","熔化","切割","精磨","调型","检验"};
	String[] a2= {"藤艺哲","郝一诺","杨松铎","刘宇恒","陶攀印","阎琪文","郝正一","刘静一",""};
	for(int i=0;i<a1.length;i++) {
		if(string.equals(a1[i])) {
			return a2[i];
		}
	}
	return null;
}
public String next(String string) {
	String[] a1= {"射蜡","修蜡","面层","封浆","熔化","切割","精磨","调型","检验",""};
	for(int i=0;i<a1.length;i++) {
		if(string.equals(a1[i])) {
			return a1[i+1];
		}
	}
	return null;
}

}

/*
*PlanInformation
*/
package mes;

class PlanInformation {
private int id;
private String planid;
private String planname;
private String process;
private String nextprocess;
private String operator;
private String recipient;
private int plannumber;
private int innumber;
private int outnumber;
private int missnumber;
private int badnumber;
private int inspectednumber;
private int statement;
public PlanInformation() {
}
public PlanInformation(int id,String planid,String planname,String process,String nextprocess,String operator,String recipient,int plannumber,int innumber,int outnumber,int missnumber,int badnumber,int inspectednumber,int statement) {
this.id = id;
this.planid = planid;
this.planname = planname;
this.process = process;
this.nextprocess = nextprocess;
this.operator = operator;
this.recipient = recipient;
this.plannumber = plannumber;
this.innumber = innumber;
this.outnumber = outnumber;
this.missnumber = missnumber;
this.badnumber = badnumber;
this.inspectednumber = inspectednumber;
this.statement = statement;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPlanid() {
return planid;
}
public void setPlanid(String planid) {
this.planid = planid;
}
public String getPlanname() {
return planname;
}
public void setPlanname(String planname) {
this.planname = planname;
}
public String getProcess() {
return process;
}
public void setProcess(String process) {
this.process = process;
}
public String getNextprocess() {
return nextprocess;
}
public void setNextprocess(String nextprocess) {
this.nextprocess = nextprocess;
}
public String getOperator() {
return operator;
}
public void setOperator(String operator) {
this.operator = operator;
}
public String getRecipient() {
return recipient;
}
public void setRecipient(String recipient) {
this.recipient = recipient;
}
public int getPlannumber() {
return plannumber;
}
public void setPlannumber(int plannumber) {
this.plannumber = plannumber;
}
public int getInnumber() {
return innumber;
}
public void setInnumber(int innumber) {
this.innumber = innumber;
}
public int getOutnumber() {
return outnumber;
}
public void setOutnumber(int outnumber) {
this.outnumber = outnumber;
}
public int getMissnumber() {
return missnumber;
}
public void setMissnumber(int missnumber) {
this.missnumber = missnumber;
}
public int getBadnumber() {
return badnumber;
}
public void setBadnumber(int badnumber) {
this.badnumber = badnumber;
}
public int getInspectednumber() {
return inspectednumber;
}
public void setInspectednumber(int inspectednumber) {
this.inspectednumber = inspectednumber;
}
public int getStatement() {
return statement;
}
public void setStatement(int statement) {
this.statement = statement;
}
}

/*
*Mes
*/
package mes;

public class Mes {
public static void main(String[] args) {
TheSystem s=new TheSystem();
s.choic();
}

}

标签:工序,java,String,管理系统,int,System,println,out
From: https://www.cnblogs.com/WMKQF/p/18440658

相关文章

  • Java中的队列数据结构及其应用
    Java中的队列数据结构及其应用队列是一种线性数据结构,遵循先进先出(FIFO)的原则,即最先插入的元素最先被移除。队列的基本操作包括入队(enqueue)、出队(dequeue)和查看队头元素(peek)。本文将介绍队列的基本结构、操作及在JDK中的应用。队列的基本结构一个简单的队列可以用数组或......
  • Java 事务隔离级别及相关概念
    Java事务隔离级别及相关概念在数据库管理系统中,事务的隔离级别定义了一个事务与其他事务之间的相互影响程度。Java中的事务隔离级别主要遵循SQL标准,主要包括以下四种:读未提交(ReadUncommitted):允许读取未提交的数据,可能导致脏读(DirtyRead)。这是最低的隔离级别。读已......
  • Java-数据结构-Map和Set-(二)-哈希表 |ू・ω・` )
    文本目录:❄️一、哈希表:  ☑1、概念:    ☑2、冲突-概念:    ☑3、冲突-避免:     ☞1)、避免冲突-哈希函数的设计:     ☞2)、避免冲突-负载因子调节(重点):    ☑4、冲突-解决:      ➷1)、解决冲突-闭散列: ......
  • java-netty客户端断线重启
    背景经常会遇到netty客户端,因为网络等多种原因而断线,需要自动重连核心就是对连接服务端成功后,对ChannelFuture进行监听,核心代码如下f=b.connect("127.0.0.1",10004).sync();//(5)f.addListener(newChannelFutureListener(){......
  • java-快速将普通main类变为javafx类,并加载自定义fxml
    java-快速将普通main类变为javafx类,并加载自定义fxml前提步骤1.普通类继承Application2.实现main方法3.写一个controller4.写一个fxml文件5.写start方法加载fxml6.具体代码7.运行即可前提使用自带javafx的jdk,这里使用的是jdk1.834,当然你可以使用其他的可行......
  • Java必修课——Spring框架
    目录一、Spring框架概述二、IOC概念和原理2.1、什么是IOC2.2、IOC接口三、深入理解Java基础中的集合框架3.1、Collection3.2、Map3.3、集合工具类四、练习写一个SpringMVC框架1、介绍2、程序实践3、总结五、Java开发者必备10大数据工具和框架一、Spring框架概述Sp......
  • java+vue计算机毕设餐厅点餐订餐系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着科技的飞速发展和互联网普及率的不断提高,餐饮业正经历着前所未有的变革。传统餐厅的点餐方式已难以满足现代消费者对于便捷性、个性化及高效服务......
  • java+vue计算机毕设仓储系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着现代物流业的迅猛发展,仓储系统作为供应链管理的核心环节,其效率与智能化水平直接关乎企业的运营成本与市场竞争力。传统仓储管理依赖人工操作,存在......
  • java+vue计算机毕设XXX公司疫情信息管理平台【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着全球疫情的持续演变,疫情防控成为了社会各界关注的焦点。特别是在物流行业,作为社会经济的重要支柱,其人员与物资的流动管理直接关系到疫情防控的成......
  • java+vue计算机毕设不动产信息管理系统【源码+程序+论文+开题】
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和房地产市场的蓬勃发展,不动产作为重要的经济资产和社会资源,其管理效率与信息化水平直接影响到政府监管、市场交易及民众权益保......