# Material **Repository Path**: agilean-test/material ## Basic Information - **Project Name**: Material - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-07 - **Last Updated**: 2021-12-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: online ## README ### ready 1. checkout当前仓库 2. 时间: 1小时 3. 代码: 按照分层结构实现物料和BOM清单的CURD, 要求包括 * 持久层(可以使用spring-jpa, 也可以使用spring-jdbc) * 服务层 * REST API 4. 服务层代码需要单元测试 5. 业务规则 * 物料的code不能重复 * 物料的code,name,spec不能为空 * BOM清单中生产某个产品需要的原材料不能重复 * BOM清单中生产某个产品需要的原材料的数量不能小于等于0 * BOM清单中生产某个产品需要的原材料的数量保留小数点2位 6. 上述规则单元测试 --- ### 术语 **物料**: 成产过程中的原材料和成品等统称物料, 具有编码、名称、规格、精度、单位等属性 **BOM**: 生产某个成品需要某些原材料, BOM清单对应的就是所需原材料清单. 包括所需的物料、数量等属性 举例: 某工厂有5中物料: M0001,M0002,M0003,M0004,M0005 生产M0001所需物料: M0002,M0003,M0004,M0005 物料 |命名|类型|备注| |---|---|---| |code|字符|编码| |name|字符|名称| |spec|字符|规格| |unit|字符|单位| |precision|数字|精度| |description|字符|备注| BOM |命名|类型|备注| |---|---|---| |parentMaterial|引用或关联Material|产品(主物料)| |childMaterial|引用或关联Material|生产产品所需的物料(子物料)| |quantity|数字|数量, 例如生产1个产品需要2个原材料| |description|字符|备注|