点可云进销存管理系统介绍
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’字段值的商品记录。







