详情
章节
资料
为了检验学习的效果,我们基于简化的“库存盘点”需求设计了课后作业,覆盖了数据库设计、数据建模、服务端命令开发、前后端分离式移动端页面开发、单体(数据绑定)式PC页面开发等项目实战中常用的技术场景。
根据既往经验,您需要花费大约8小时完成本作业。根据您的岗位要求,我们推荐您采用不同的作业模式:
1、模式A:适用于以“带项目”为目标的高级低代码开发工程师。该模式下,学员需要从“一、需求概述”章节开始,了解作业项目的业务需求,自行完成功能设计和开发,无需关注“二、项目设计”章节的介绍,以能满足业务需求为首要目标,尽量兼顾界面设计和用户交互体验,推荐基于作业模板开发,但不做强制要求;
2、模式B(推荐!):适用于以“上项目”为目标的初中级低代码开发工程师。该模式下,学员需要从“二、项目设计”章节开始,基于作业模板,按照拆解后的界面设计和用户体验要求完成开发工作。
作业项目是库存管理系统的库存盘点(简称:盘存)模块,经过需求调研,业务团队提出了如下要求:
1、准备阶段:盘存工作需要按库位分批进行,每一个批次对应一张盘点单,一张盘点单覆盖一个或多个库位(盘点单上需要包含这些库位上的全部商品,以及创建盘点单时该商品在系统中的在库库存量),不同的盘点单会指派给不同的工作人员同时进行。打印盘点单的工作在库管的电脑上进行,为了便于管理,盘点单上有时候会记录一些备注性质内容,如本次盘存中需要重点关注的品类、该库位盘存工作的截止时间等。
2、执行阶段:工作人员使用PDA或手机做盘存工作。工作人员在手机上扫描盘点单上的条形码,逐个去库位完成执行操作,全部完成后,检查确认盘点执行人(默认为当前系统用户对应的员工,需考虑工作人员使用其他人账号进行盘库的场景,即允许执行操作的人手动选择盘点员工)、填写盘点中发现的其他异常信息后,提交盘点单。为了兼顾效率和效果,盘点过程中需要工作人员逐个填写各商品的实际在库库存,系统需自动识别存在盈亏(实盘库存和系统在库库存不符)的商品,并且在界面上用色彩进行提示。此外,盘点单上所有的商品库存均填写完成后,即认为完成了该批次的盘存工作,此时,系统需要自动更新系统在库库存数据。
3、汇总阶段:库管人员需要在电脑上查询所有盘点单的执行情况,对于那些已经“完成”的盘点单,可以在电脑上查看账实相符情况。为了方便后续工作,如交接给财务,库管人员还需要将盘点单中的所有库存数据导出为Excel文件,包含库位、商品名、系统在库、实际在库、盈亏差额。
4、其他要求:盘点操作需要考虑手机没电、浏览器进程被清理等故障情况。故障排除后,工作人员可再次扫码打开盘点单,系统需尽量恢复工作人员填写的数据;PDA设备的屏幕尺寸限制,页面设计和功能开发应考虑性能优化,每一页上不要显示超过5个商品,工作人员可以通过上下翻页查找商品;为了简化作业项目,库位数据、员工数据(包含员工和用户名的对应关系)、商品数据(含当前在库库存)都可以直接当做字典表存储在数据库,不需要提供管理界面。
提示:如果您选择了模式B,请严格按照项目设计完成开发。
数据库的设计请参照下方ER图。
您需要在活字格的内置库(不建议在生产用系统中使用内置库,学习阶段可做例外)中构建表、字段、表关联、自动编号、公式字段和统计字段。
综合考虑开发效率与可维护性要求,作业项目中部分操作需采用“前后端分离”模式开发。
您需要在活字格中创建如下服务端命令,所有服务端命令均需要做异常处理,捕获异常后,将返回码设置为ExceptionCode,返回信息设置为ExceptionMessage。
名称 |
目的 |
参数 |
输出值 |
示例 |
---|---|---|---|---|
create |
创建盘点单 |
Memo:基础类型,盘点说明 Locations:数组类型,盘点单需要覆盖的库位 |
|
返回信息:1 |
getCheckPlanData |
获取盘点单的主表信息 |
ID:基础类型,盘点单ID |
data:盘点单的主表数据和所涉及的库位列表(locations属性) |
{ "data": { "ID": 9, "StatusID": 1, "CheckedByID": null, "CheckedBy": null, "CheckedAt": null, "Memo": "课程演示用", "Status": "未执行", "Comments": null, "locations": [ { "value": 1, "label": "A-1" }, { "value": 2, "label": "A-2" }, { "value": 5, "label": "C" } ] } } |
getCheckPlanInventoryData |
获取盘点单中某个库位下的库存信息,支持分页加载 |
|
|
{ "data": [ { "Inventory": "移动硬盘 512GB", "Current": 10.0, "Check": null, "InventoryID": 6 }, { "Inventory": "C1", "Current": 0.0, "Check": null, "InventoryID": 5 }, { "Inventory": "GcExcel", "Current": 20.0, "Check": null, "InventoryID": 4 }, { "Inventory": "SpreadJS", "Current": 30.0, "Check": null, "InventoryID": 3 }, { "Inventory": "Wyn", "Current": 42.0, "Check": null, "InventoryID": 2 } ], "total": 6 } |
check |
执行盘点 |
|
|
空 |
流程图如下所示:
create
getCheckPlanData
getCheckPlanInventoryData
check
作业项目由如下页面构成:
功能描述:
1、用于展示盘点单,并可以根据盘点年度、盘点状态进行数据过滤
2、点击创建按钮,弹出“创建盘点单页面”,具体内容见以下第2点
3、点击查看按钮,弹出“盘点单详情页面”,具体内容见以下第3点
功能描述:
1、盘点是分仓库执行的,在创建盘点单时,需要指定当前这张盘点单需要覆盖哪些仓库,必要时填写盘点说明
2、点击【创建盘点单】时执行create的服务端命令,创建失败时提示错误信息,成功的话关闭创建页面
功能描述:
1、展示当前盘点单详情
2、可以将“在库情况”表格导出到Excel
3、可以与页面类似的PDF
PDF打印的效果
初始状态
输入单号后的状态
选择库位后的状态(顶部):
选择库位后的状态(底部):
功能描述:
1、初始状态:页面初始时只展示盘点单号的输入图框,输入或扫描盘点号(数字或格式化为9位数字的盘点单ID,如000000011)后点击右侧图表,调用“getCheckPlanData”接口,如果盘点单存在且不时盘点完成状态,则进入“输入单号后状态”;不存在的话,提示错误信息“没有找到该ID的盘点单”;存在但状态为盘点完成时也需要也需要提示信息“盘点单已经盘点完成,请使用PC版查看详情”。
2、输入单号后状态:点击选择库位,进入“选择库位后的状态”,并通过“getCheckPlanInventoryData”接口获取第一页(5行)商品库存数据(含商品、系统在库库存和实际在库库存,如果上述数据是第一次展示,实盘库存默认为空,两个库存数据不一致时,需要将该行数据设置为浅红色背景来做出提示),将其展示到页面上,同时使用该接口返回的总行数来初始化分页器;操作人的默认值,使用当前系统用户对应的员工;其他事项的默认值为空。
3、选择库位后的状态:点击上下翻页时,需调用“check”接口,提交当前展示页的库存数据,然后再调用“getCheckPlanInventoryData”接口获取上一页/下一页的数据并填充用到界面上;点击切换仓库时,需要先调用“check”保存当前展示页的库存数据,然后再执行上一步中的操作;点击提交按钮时,需要先检查盘点单上所有商品都已经完成盘点(商品的实盘库存为空意味着没盘点),如果存在没盘点的商品则提示“有商品尚未完成盘点”,否则调用“check”接口,提交当前展示页的库存数据的同时,还需要将操作人和其他事项的数据保存到盘点单中。
1、模板:模板(V10.0.2.0).fgcc
2、示例:https://hac.app.hzgcloud.cn/course_dev_homework/
如果采用模式A,请根据实际情况自行判断作业完成情况;如果采用模式B,可根据本章节自行评分。本课程作业的满分为100分+10附加分,80分及格,具体评分规则如下:
1、用户(仓库管理员)可以查看商品的当月在库库存,并对其进行调整 >> 模板内置,不计分
1.1 支持通过存货档案的名称做模糊查找
1.2 支持将在库库存导出为Excel表格
2、用户(系统管理员)可以管理员工档案,并将其与系统用户进行关联 >> 模板内置,不计分
2.1 支持通过员工姓名做模糊查找
2.2 支持类Excel的操作体验,完成创建、修改和删除操作
3、用户可以管理盘点单 >> 共35分
3.1 页面设计与示例相仿或更佳
3.2 支持通过盘点单的盘点时间/执行时间的年份进行过滤,候选项目为当前年度和之前的4个年度,默认为全部;支持通过盘点状态进行过滤,默认为全部
3.3 在查询结果中,如果盘点单已经完成盘点操作,需要将盈亏项目显示在列表中
3.4 支持创建盘点单。盘点单除了保存用户输入的盘点说明外,还需根据用户选择的库位,自动包含存货档案中没有被标记为删除的存货,及其当前时间节点下系统库存的数量以备查验
3.5 查看盘点单时,用户能看到盘点状态、盘点执行人、执行时间、盘点说明、其他事项等信息,还能查看存货的盘点情况(含存货名称、系统中的在库库存、实际盘点的库存、盘盈盘亏情况)
3.6 用户可以将盘点单中盘点结果数据导出为Excel文件,包含存货档案名称、系统库存、实际库存和盈亏情况
3.7 用户可以将盘点单导出为PDF文件,其中除了盘点单的内容外,还需要包含用于扫描的【盘点码】(将盘点单ID格式化为9位,前面补零,如123格式化为000000123)
4、用户可以在手机或PDA上执行盘点操作 >> 共60分
4.1 不允许使用数据绑定
4.2 页面设计与示例相仿或更佳
4.3 出于性能考虑,不能在页面可见区域内使用表格,图文列表需要支持分页,每页不超过5条
4.4 支持通过手工输入盘点单ID或扫描盘点码(扫描出的文字格式参考3.7),打开需要操作的盘点单,不能对已经完成盘点的单据再次进行盘点操作
4.5 支持通过选择当前盘点单中涉及到的库位,过滤出对应的商品列表和创建盘点单时的系统在库库存(系统在库库存来自3.4)
4.6 切换库位或数据分页时,自动将当前展示商品的实盘库存保存到数据库
4.8 如果当前登录的系统用户已关联到员工档案,需要将操作人的默认值设置为该员工
5、提交盘点结果时,系统需在自动更新盘点单的状态、详情外,同步更新在库库存数据 >> 共5分
6、附加分(如有必要可以修改数据库结构设计) >> 共10分
6.1 创建盘点单时,辅助仓库管理员选择本月份尚未创建盘点计划的库位
6.2 执行盘点时,如果盘点单上的在库库存和当前时间点的在库库存不一致时,给执行者做出提示
6.3 库存管理员可参考库位中商品的摆放位置以及盘点动线(在重排库位前,位置和动线都不会有变化)为商品指定盘点顺序,盘点单上的商品顺序需要按照该顺序展示
6.4 执行盘点时,执行者可以通过点击提交按钮,随时暂存数据
6.5 执行盘点时,即便仓库内网络不稳定,执行者也可以在已经打开的页面上确认在库库存、调整实盘库存,当网络恢复时,再一并提交
您可以根据作业要求自行自评打分,如果需要获取葡萄城的专家点评或寻求参考答案,请与您的伙伴经理或销售经理联系。如果您初次接触葡萄城,请点击链接预约技术顾问。
1.1 课程介绍
免 04:141.2 环境准备
免 13:101.3 Hello world!
免 28:582.1 数据库开发
免 34:063.1 页面布局
免 31:493.2 元素和样式
免 34:343.3 页面交互和跳转
免 01:05:083.4 数据绑定
免 49:144.1 服务端业务逻辑
免 22:314.2 数据库操作
免 26:164.3 前后端集成
免 31:245.1 基于Git的版本管理
免 15:566.1 用户与权限管理
免 32:057.1 服务器配置
免 17:557.2 运行日志
免 10:008.1 课程总结
免 07:049.1 课程大作业
免 00:00学习资料 |
大作业模板:模板(V9.0.1.0).fgcc
需登录下载: 157 |