当前位置: 首页 > news >正文

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

🍅文末获取项目下载方式🍅


一、项目背景介绍:

仓库管理系统 某物流公司主要从事电子类产品的配送服务,仓储在企业的整个供应链中起 着至关重要的作用,如果不能保证正确的进货和库存控制及发货,将会导致管理 费用的增加,服务质量难以得到保证,从而影响企业的竞争力。传统简单、静态 的仓储管理已无法保证企业各种资源的高效利用。如今的仓库作 业和库存控制 作 仓库管理系统 某物流公司主要从事电子类产品的配送服务,仓储在企业的整个供应链中起 着至关重要的作用

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
  2. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
  3. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
  4. shiro:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
  5. layui:layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,并遵循原生 HTML/CSS/JS 的开发方式,常适合网页界面的快速开发。layui 区别于那些基于MVVM 底层的前端框架,它更多是面向后端开发者,无需涉足前端各种工具,只需面对浏览器本身,让一切所需要的元素与交互。

三、系统功能模块介绍:

功能模块图

四、数据库设计:

  1. bus_customer(bus_customer)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | customername | varchar(255) | NULL | |
    | zip | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | telephone | varchar(255) | NULL | |
    | connectionperson | varchar(255) | NULL | |
    | phone | varchar(255) | NULL | |
    | bank | varchar(255) | NULL | |
    | account | varchar(255) | NULL | |
    | email | varchar(255) | NULL | |
    | fax | varchar(255) | NULL | |
    | available | int(11) | NULL | |

  2. bus_goods(bus_goods)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | goodsname | varchar(255) | NULL | |
    | produceplace | varchar(255) | NULL | |
    | size | varchar(255) | NULL | |
    | goodspackage | varchar(255) | NULL | |
    | productcode | varchar(255) | NULL | |
    | promitcode | varchar(255) | NULL | |
    | description | varchar(255) | NULL | |
    | price | double | NULL | |
    | number | int(11) | NULL | |
    | dangernum | int(11) | NULL | |
    | goodsimg | varchar(255) | NULL | |
    | available | int(11) | NULL | |
    | providerid | int(11) | NULL | |

  3. bus_inport(bus_inport)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | inporttime | datetime(0) | NULL | |
    | operateperson | varchar(255) | NULL | |
    | number | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | inportprice | double | NULL | |
    | providerid | int(11) | NULL | |
    | goodsid | int(11) | NULL | |

  4. bus_outport(bus_outport)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | providerid | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | outputtime | datetime(0) | NULL | |
    | operateperson | varchar(255) | NULL | |
    | outportprice | VARCHAR(255) | NULL | |

  5. bus_provider(bus_provider)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | providername | varchar(255) | NULL | |
    | zip | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | telephone | varchar(255) | NULL | |
    | connectionperson | varchar(255) | NULL | |
    | phone | varchar(255) | NULL | |
    | bank | varchar(255) | NULL | |
    | account | varchar(255) | NULL | |
    | email | varchar(255) | NULL | |
    | fax | varchar(255) | NULL | |
    | available | int(11) | NULL | |

  6. bus_sales(bus_sales)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | customerid | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | salestime | datetime(0) | NULL | |
    | operateperson | varchar(255) | NULL | |
    | number | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | saleprice | VARCHAR(255) | NULL | |

  7. bus_salesback(bus_salesback)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | customerid | int(11) | NULL | |
    | paytype | varchar(255) | NULL | |
    | salesbacktime | datetime(0) | NULL | |
    | salebackprice | VARCHAR(255) | NULL | |

  8. sys_dept(sys_dept)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | pid | int(11) | NULL | |
    | title | varchar(255) | NULL | |
    | open | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | available | int(11) | NULL | 状态【0不可用1可用】 |
    | ordernum | int(11) | NULL | 排序码【为了调事显示顺序】 |
    | createtime | datetime(0) | NULL | |

  9. sys_loginfo(sys_loginfo)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | loginname | varchar(255) | NULL | |
    | loginip | varchar(255) | NULL | |
    | logintime | datetime(0) | NULL | |

  10. sys_notice(sys_notice)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | title | varchar(255) | NULL | |
    | content | text | NULL | |
    | createtime | datetime(0) | NULL | |
    | opername | varchar(255) | NULL | |

  11. sys_permission(sys_permission)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | pid | int(11) | NULL | |
    | type | varchar(255) | NULL | 权限类型[menu/permission] |
    | title | varchar(255) | NULL | |
    | percode | varchar(255) | NULL | 权限编码[只有type=permission才有user:view] |
    | icon | varchar(255) | NULL | |
    | href | varchar(255) | NULL | |
    | target | varchar(255) | NULL | |
    | open | int(11) | NULL | |
    | ordernum | int(11) | NULL | |
    | available | int(11) | NULL | 状态【0不可用1可用】 |

  12. sys_role(sys_role)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | name | varchar(255) | NULL | |
    | remark | varchar(255) | NULL | |
    | available | int(11) | NULL | |
    | createtime | datetime(0) | NULL | |

  13. sys_role_permission(sys_role_permission)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | rid | int(11) | NULL | |
    | pid | int(11) | NULL | |

  14. sys_user(sys_user)
    | 字段名 | 类型 | 默认值 | 列注释 |
    | --------- | ------------- | ------ | ------ |
    | id | int(11) | NULL | |
    | name | varchar(255) | NULL | |
    | loginname | varchar(255) | NULL | |
    | address | varchar(255) | NULL | |
    | sex | int(11) | NULL | |
    | remark | varchar(255) | NULL | |
    | pwd | varchar(255) | NULL | |
    | deptid | int(11) | NULL | |
    | hiredate | datetime(0) | NULL | |
    | mgr | int(11) | NULL | |
    | available | int(11) | NULL | |
    | ordernum | int(11) | NULL | |
    | type | int(255) | NULL | 用户类型[0超级管理员1,管理员,2普通用户] |
    | imgpath | varchar(255) | NULL | 头像地址 |
    | salt | varchar(255) | NULL | |

五、功能模块:

  1. 客户管理:客户管理主要存储一些仓库客户的一些基本信息,包括各种条件模糊查询,删除,编辑等功能

    客户管理

  2. 供应商管理:存款仓库系统中所有的供应商信息
    在这里插入图片描述

  3. 商品管理:此模块主要对仓库中所有商品的管理,包括商品添加,删除修改等

在这里插入图片描述

  1. 销售额统计模块:主要对商品的入库,出库金额进行统计,从而形成销售额的图表,以供管理员查看

    销售额统计模块

六、代码示例:

客户管理
@RequestMapping("loadAllCustomer")public DataGridView loadAllCustomer(CustomerVo customerVo) {IPage<Customer> page = new Page<>(customerVo.getPage(), customerVo.getLimit());QueryWrapper<Customer> queryWrapper = new QueryWrapper<>();queryWrapper.like(StringUtils.isNotBlank(customerVo.getCustomername()), "customername",customerVo.getCustomername());queryWrapper.like(StringUtils.isNotBlank(customerVo.getPhone()), "phone", customerVo.getPhone());queryWrapper.like(StringUtils.isNotBlank(customerVo.getConnectionperson()), "connectionperson",customerVo.getConnectionperson());this.customerService.page(page, queryWrapper);return new DataGridView(page.getTotal(), page.getRecords());}
供应商管理
/*** 加载所有可用的供应商*/@RequestMapping("loadAllProviderForSelect")public DataGridView loadAllProviderForSelect() {QueryWrapper<Provider> queryWrapper=new QueryWrapper<>();queryWrapper.eq("available", Constast.AVAILABLE_TRUE);List<Provider> list = this.providerService.list(queryWrapper);return new DataGridView(list);}
商品管理
@RequestMapping("loadAllGoods")public DataGridView loadAllGoods(GoodsVo goodsVo) {IPage<Goods> page = new Page<>(goodsVo.getPage(), goodsVo.getLimit());QueryWrapper<Goods> queryWrapper = new QueryWrapper<>();queryWrapper.eq(goodsVo.getProviderid()!=null&&goodsVo.getProviderid()!=0,"providerid",goodsVo.getProviderid());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getGoodsname()), "goodsname", goodsVo.getGoodsname());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getProductcode()), "productcode", goodsVo.getProductcode());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getPromitcode()), "promitcode", goodsVo.getPromitcode());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getDescription()), "description", goodsVo.getDescription());queryWrapper.like(StringUtils.isNotBlank(goodsVo.getSize()), "size", goodsVo.getSize());this.goodsService.page(page, queryWrapper);List<Goods> records = page.getRecords();for (Goods goods : records) {Provider provider = this.providerService.getById(goods.getProviderid());if(null!=provider) {goods.setProvidername(provider.getProvidername());}}return new DataGridView(page.getTotal(), records);}
销售额统计模块
	@RequestMapping("loadAllOutport")public DataGridView loadAllOutport(OutportVo outportVo) {IPage<Outport> page = new Page<>(outportVo.getPage(), outportVo.getLimit());QueryWrapper<Outport> queryWrapper = new QueryWrapper<>();queryWrapper.eq(outportVo.getProviderid()!=null&&outportVo.getProviderid()!=0,"providerid",outportVo.getProviderid());queryWrapper.eq(outportVo.getGoodsid()!=null&&outportVo.getGoodsid()!=0,"goodsid",outportVo.getGoodsid());queryWrapper.ge(outportVo.getStartTime()!=null, "outputtime", outportVo.getStartTime());queryWrapper.le(outportVo.getEndTime()!=null, "outputtime", outportVo.getEndTime());queryWrapper.like(StringUtils.isNotBlank(outportVo.getOperateperson()), "operateperson", outportVo.getOperateperson());queryWrapper.like(StringUtils.isNotBlank(outportVo.getRemark()), "remark", outportVo.getRemark());queryWrapper.orderByDesc("outputtime");this.outportService.page(page, queryWrapper);List<Outport> records = page.getRecords();for (Outport outport : records) {Provider provider = this.providerService.getById(outport.getProviderid());if(null!=provider) {outport.setProvidername(provider.getProvidername());}Goods goods = this.goodsService.getById(outport.getGoodsid());if(null!=goods) {outport.setGoodsname(goods.getGoodsname());outport.setSize(goods.getSize());}}return new DataGridView(page.getTotal(), records);}

七、项目总结:

 对于本次的系统开发来看,它主要是把我以前所学的知识进行了一次综合的应用。经过这次毕业设计的制作它主要是把我以前所学的理论知识应用到社会实践当中。通过这一次的仓库管理平台网站的设计与实现它能够有效把计算机知识与实际问题相互应用,通过计算机网络技术来解决用户生活当中的实际问题,从而提高我的编程能力。虽然在这次毕业设计当中我遇到了很多的问题和困难,但是通过不断的调试和老师的帮助让我圆满的完成了这次毕业设计。通过这次毕业设计的制作让我对计算机实际应用得到了很强的锻炼,同时也大大的提高了我的动手动脑能力,让我也感受到了其中的乐趣和喜悦。通过这次毕业设计的撰写把我在大学期间所学到的东西都应用上了,但是我觉得还是微不足道的,因为在这次毕业设计当中让我深深的了解到对于软件开发和学习理论知识它是两个完全不同的概念。但是通过这次软件的开发让我在以后的工作当中打下了良好的基础。

八、源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻

项目获取链接

链接点击直达:下载链接

相关文章:

基于JAVA+SpringBoot+LayUI+Shiro的仓库管理系统

基于JAVASpringBootLayUIShiro的仓库管理系统 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项…...

金三银四面试必看,复盘字节测试开发面试:一次测试负责人岗位面试总结

最近面试了某企业的测试负责人岗位&#xff0c;历经四面&#xff0c;收获蛮多的。 这篇文章&#xff0c;我想聊聊这次面试过程中的一些经历&#xff0c;以及些许经验和教训。 岗位要求 岗位名称&#xff1a;测试负责人 岗位要求&#xff1a;1、扎实的技术以及丰富的技术项目…...

【算法自由之路】 贪心算法

贪心算法 局部最右得到全局最右难点在于如何证明局部最优可以得到全局最优堆 和 排序 是贪心算法最常用的实现算法 贪心算法作为最符合自然智慧的算法&#xff0c;思路是从小部分取最优从而获得最终的最优&#xff0c;但是难得是怎样获取部分最优才能得到全局最优。 有时候我…...

Scratch少儿编程案例-水果忍者-学生作业

专栏分享 点击跳转=>Unity3D特效百例点击跳转=>案例项目实战源码点击跳转=>游戏脚本-辅助自动化点击跳转=>Android控件全解手册点击跳转=>Scratch编程案例👉关于作者...

7.Docker Compose

Docker Compose 介绍 Docker Compose是Docker官方编排&#xff08;Orchestration&#xff09;项目之一&#xff0c;负责快速的部署分布式应用。其代码目前在https://github.com/docker/compose上开源。Compose 定位是 「定义和运行多个 Docker 容器的应用&#xff08;Definin…...

GitHub访问问题与 Steam++下载及使用(适合小白)

前言 &#x1f4dc; “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等&#xff0c;IT技术干货、学习经验、面试资料、刷题记录&#xff0c;以及遇到的问题和解决方案&#xff0c;记录自己成长的点滴 ​ 目录 前言 一、Steam的介绍 1、大概介绍 2、详细介绍 二、Ste…...

Oracle对象——视图之简单视图与视图约束

文章目录什么是视图为什么会使用视图视图语法案例简单视图的创建更改数据基表&#xff0c;视图数据会变化么&#xff1f;更改视图数据&#xff0c;基表数据会变更么&#xff1f;带检查约束的视图结论创建只读视图&#xff08;MySQL不支持&#xff09;总结什么是视图 视图是一种…...

SAP模块常用增强总结

MM模块&#xff1a; 采购订单增强&#xff1a; BADI &#xff1a;ME_GUI_PO_CUST ME_PROCESS_PO_CUST 物料凭证增强&#xff1a; BADI&#xff1a;MB_DOCUMENT_BADI USER-EXIT&#xff1a;MBCF0002 实现功能1、当参照预留过帐时&#xff0c;检查填入数量是否小于预留数量 2…...

当make执行遇到 Arguments too long

1. 问题 Ubuntu20.04上make编译生成so的时候报错&#xff1a; make[1]:execvp:/bin/sh:Arguments too long对应makefile中的报错位置&#xff0c;仅仅是生成so的时候报错&#xff0c;伪代码如下 ${build_tool} -shared -fpic -o "$" ${OBJ_FILE} ${LDFLAGS}然而如…...

《手把手教你》系列基础篇(七十三)-java+ selenium自动化测试-框架设计基础-TestNG实现启动不同浏览器(详解教程)

1.简介 上一篇文章中&#xff0c;从TestNg的特点我们知道支持变量&#xff0c;那么我们这一篇就通过变量参数来启动不同的浏览器进行自动化测试。那么如何实现同时启动不同的浏览器对脚本进行测试&#xff0c;且听我娓娓道来。 2.项目实战 2.1创建一个TestNg class 1.首先按…...

Maven基础

Maven简介 传统项目&#xff1a; jar包不统一 不兼容 项目中有部分jar包会升级 没升级的部分会起冲突 管理复杂 Maven本质是一个项目管理工具 pom POM Project Object Model 项目对象模型 把项目以对象形式进行管理 先写 pom.xml 的配置文件 代表一个项目 1个项目对应1个po…...

C++入门:初识类和对象

C入门&#xff1a;类和对象1 本节目录C入门&#xff1a;类和对象11.auto关键字&#xff08;C11)1.1类型别名思考1.2auto简介typeid运算符&#xff1a;获取类型信息1.3 auto的使用细则1.4auto不能推到的场景2.基于范围的for循环(C11)2.1范围for的语法2.2范围for的使用条件3.指针…...

BERT在CNN上也能用?看看这篇ICLR Spotlight论文丨已开源

如何在卷积神经网络上运行 BERT&#xff1f;你可以直接用 SparK —— 字节跳动技术团队提出的提出的稀疏层次化掩码建模 ( Designing BERT for Convolutional Networks: Sparse and Hierarchical Masked Modeling )&#xff0c;近期已被人工智能顶会 ICLR 2023 收录为 Spotligh…...

【MFC】模拟采集系统——界面设计(17)

功能介绍 启动界面 开始采集&#xff1a; PS&#xff1a;不涉及 数据保存&#xff0c;重现等功能 界面设计 界面分为三块&#xff1a;顶部黑条带关闭按钮、左边对话框&#xff0c;右边的主界面 资源&#xff1a; 顶部黑条 top.bmp 2* 29 &#xff08;宽 * 高 像素点&…...

锐捷(十五)mpls vxn跨域optionc场景

一 实验拓扑二 实验需求ce1和ce2为两个分公司&#xff0c;要求两个分公司之间用mpls vxn 进行通信&#xff0c;组网方式是optionc。三 实验分析optionc在转发平面上有点难理解&#xff0c;有一些关键点需要注意&#xff0c;大家点击链接可以参考我上篇发过的一个文章&#xff1…...

2023备战金三银四,Python自动化软件测试面试宝典合集(七)

马上就又到了程序员们躁动不安&#xff0c;蠢蠢欲动的季节~这不&#xff0c;金三银四已然到了家门口&#xff0c;元宵节一过后台就有不少人问我&#xff1a;现在外边大厂面试都问啥想去大厂又怕面试挂面试应该怎么准备测试开发前景如何面试&#xff0c;一个程序员成长之路永恒绕…...

redis 主从复制

在redis的持久化RDB与AOF详解文章中&#xff0c;我们知道如果redis宕机了&#xff0c;我们可以通过AOF 和 RDB 文件的方式恢复数据&#xff0c;从而保证数据的丢失&#xff08;或少量损失&#xff09;从而提高稳定性。但是&#xff0c;如果我们数据只存在一台redis服务器中&…...

如何用Redis实现延迟队列

背景前段时间有个小项目需要使用延迟任务&#xff0c;谈到延迟任务&#xff0c;我脑子第一时间一闪而过的就是使用消息队列来做&#xff0c;比如RabbitMQ的死信队列又或者RocketMQ的延迟队列&#xff0c;但是奈何这是一个小项目&#xff0c;并没有引入MQ&#xff0c;我也不太想…...

项目文件相关总结

风险登记册 风险登记册记录了已识别单个风险的详细信息。其主要内容包括: 已识别的风险清单潜在的风险责任人潜在的风险应对措施清单风险管理计划要求的其他信息供方选择标准 供方选择标准用于确保选出的建议书将提供最佳质量的所需服务,主要内容 包括: 能力和潜力产品成本…...

ZooKeeper集群搭建步骤

一、准备虚拟机准备三台虚拟机&#xff0c;对应ip地址和主机名如下&#xff1a;ip地址Hostname192.168.153.150ant163192.168.153.151ant164192.168.153.152ant165修改hostname&#xff0c;并使之生效[rootlocalhost /]# hostnamectl set-hostname zookeeper1 //修改hostname …...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

ElasticSearch搜索引擎之倒排索引及其底层算法

文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

给网站添加live2d看板娘

给网站添加live2d看板娘 参考文献&#xff1a; stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下&#xff0c;文章也主…...

【无标题】湖北理元理律师事务所:债务优化中的生活保障与法律平衡之道

文/法律实务观察组 在债务重组领域&#xff0c;专业机构的核心价值不仅在于减轻债务数字&#xff0c;更在于帮助债务人在履行义务的同时维持基本生活尊严。湖北理元理律师事务所的服务实践表明&#xff0c;合法债务优化需同步实现三重平衡&#xff1a; 法律刚性&#xff08;债…...