点可云ERP进销存管理系统自定义修改记录

点可云进销存管理系统介绍

ERP进销存是一款基于B/S架构的专业企业管理软件,旨在为企业提供全面的进销存管理和流程优化。该软件提供了采购管理、销售管理、库存管理、财务管理等多个模块,可以帮助企业实现从采购到销售全过程的管理和监控,提高企业运营效率和管理水平。

 在线演示:erp.nodcloud.com

官网:https://www.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’字段值的商品记录。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索