点可云进销存管理系统介绍
ERP进销存是一款基于B/S架构的专业企业管理软件,旨在为企业提供全面的进销存管理和流程优化。该软件提供了采购管理、销售管理、库存管理、财务管理等多个模块,可以帮助企业实现从采购到销售全过程的管理和监控,提高企业运营效率和管理水平。
在线演示:erp.nodcloud.com
点可云进销存管理系统修改记录
1、取消“系统参数——基础资料——商品管理”名称不能重复的限制
找到根目录/app/validate/goods.php文件,这是原文件的代码:
<?php namespace app\validate; use think\Validate; class Goods extends Validate { //常规验证规则 protected $rule = [ 'name' => ['require','unique:goods'], 'number' => ['require','unique:goods'], 'category' => ['require','integer'], 'buy' => ['require','float'], 'sell' => ['require','float'], 'retail' => ['require','float'], 'integral' => ['require','float'], 'stock' => ['require','float'], 'type' => ['require','integer'], 'imgs' => ['array'], 'units' => ['array'], 'serial' => ['require','boolean'], 'batch' => ['require','boolean'], 'protect' => ['require','integer'], 'threshold' => ['require','integer'], 'more' => ['array'], ]; //常规规则提示 protected $message = [ 'name.require' => '商品名称不可为空!', 'name.unique' => '商品名称重复!', 'number.require' => '商品编号不可为空!', 'number.unique' => '商品编号重复!', 'category.require' => '商品分类不可为空!', 'category.integer' => '商品分类不正确!', 'buy.require' => '采购价格不可为空!', 'buy.float' => '采购价格不正确!', 'sell.require' => '销售价格不可为空!', 'sell.float' => '销售价格不正确!', 'retail.require' => '零售价格不可为空!', 'retail.float' => '零售价格不正确!', 'integral.require' => '兑换积分不可为空!', 'integral.float' => '兑换积分不正确!', 'stock.require' => '库存阈值不可为空!', 'stock.float' => '库存阈值不正确!', 'type.require' => '商品类型不可为空!', 'type.integer' => '商品类型不正确!', 'imgs.array' => '商品图像不正确!', 'units.array' => '多单位配置不正确!', 'serial.require' => '序列商品不可为空!', 'serial.boolean' => '序列商品不正确!', 'batch.require' => '批次商品不可为空!', 'batch.boolean' => '批次商品不正确!', 'protect.require' => '保质期不可为空!', 'protect.integer' => '保质期不正确!', 'threshold.require' => '保质期不可为空!', 'threshold.integer' => '预警阀值不正确!', 'more.array' => '扩展信息不正确!', ]; //场景规则 protected $scene = [ 'update' => ['name','number','category','buy','sell','retail','integral','stock','type','imgs','units','serial','batch','protect','threshold','more'], 'imports' => ['name','number','buy','sell','retail','integral','stock','type','imgs','units','serial','batch','protect','threshold','more'] ]; }
要实现不限制商品名称重复,并通过商品编码来区分商品,您需要对rule和message进行修改。
首先,移除’name’规则中的’unique:goods’,并添加一个新的规则’number’,设置为’unique:goods’。这样可以确保商品编码的唯一性。
接下来,您需要修改$message数组中的相关错误提示信息,以适应新的验证规则。这包括将’name.unique’的提示信息移除,然后添加一个新的提示信息’number.unique’。
下面是修改后的代码:
['require'], 'number' => ['require','unique:goods'], 'category' => ['require','integer'], 'buy' => ['require','float'], 'sell' => ['require','float'], 'retail' => ['require','float'], 'integral' => ['require','float'], 'stock' => ['require','float'], 'type' => ['require','integer'], 'imgs' => ['array'], 'units' => ['array'], 'serial' => ['require','boolean'], 'batch' => ['require','boolean'], 'protect' => ['require','integer'], 'threshold' => ['require','integer'], 'more' => ['array'], ]; //常规规则提示 protected $message = [ 'name.require' => '商品名称不可为空!', 'number.require' => '商品编号不可为空!', 'number.unique' => '商品编号重复!', 'category.require' => '商品分类不可为空!', 'category.integer' => '商品分类不正确!', 'buy.require' => '采购价格不可为空!', 'buy.float' => '采购价格不正确!', 'sell.require' => '销售价格不可为空!', 'sell.float' => '销售价格不正确!', 'retail.require' => '零售价格不可为空!', 'retail.float' => '零售价格不正确!', 'integral.require' => '兑换积分不可为空!', 'integral.float' => '兑换积分不正确!', 'stock.require' => '库存阈值不可为空!', 'stock.float' => '库存阈值不正确!', 'type.require' => '商品类型不可为空!', 'type.integer' => '商品类型不正确!', 'imgs.array' => '商品图像不正确!', 'units.array' => '多单位配置不正确!', 'serial.require' => '序列商品不可为空!', 'serial.boolean' => '序列商品不正确!', 'batch.require' => '批次商品不可为空!', 'batch.boolean' => '批次商品不正确!', 'protect.require' => '保质期不可为空!', 'protect.integer' => '保质期不正确!', 'threshold.require' => '保质期不可为空!', 'threshold.integer' => '预警阀值不正确!', 'more.array' => '扩展信息不正确!', ]; //场景规则 protected $scene = [ 'update' => ['name','number','category','buy','sell','retail','integral','stock','type','imgs','units','serial','batch','protect','threshold','more'], 'imports' => ['name','number','buy','sell','retail','integral','stock','type','imgs','units','serial','batch','protect','threshold','more'] ]; }
在’number’规则中,’unique:goods’是验证规则的一部分。这部分规则指定了在数据库中进行唯一性验证,以确保’number’字段的值在goods表中是唯一的。
具体地说,’unique:goods’中的’goods’表示数据库表名。这告诉验证器在执行唯一性验证时,需要在goods表中检查是否已经存在具有相同’number’字段值的记录。如果存在重复值,验证将失败,并返回错误信息。
所以,’number’ => [‘require’,’unique:goods’]的含义是:
‘number’字段是必需的(不能为空)。
在进行验证时,要检查’number’字段的值是否在goods表中唯一,如果不唯一,则验证失败。
这样的配置可以确保在数据库中不会存在具有相同’number’字段值的商品记录。