当前位置: 首页 > article >正文

thinkphp框架diygw-ui-php进销存出库记录操作

将进销存的出库明细记录存储到数据库中,thinkphp框架diygw-ui-php后台通常涉及以下几个步骤:

数据库表定义

实现我们定义了三张表、一个产品表、出库订单表、出库订单产品明细表

生成API

进入DIY可视化API代码生成器,我们生成这三张表结应的API。

出库订单明细记录操作

我们在设计的表单界面写上我们出库记录的API。

出库订单数据操作

最核心的代码来了,我们这个add方法里可以增加我们的处理。系统model默认的add方法里有beforeAdd跟afterAdd拦截处理。

只需要在afterAdd拦截处理增加自己的代码。

afterAdd拦截方法处理

在orderModel增加增加后处理订单产品明细数据,对产品原有的数据进行数量减掉出库数量。

增加的核心代码

  /*
     * 提交订单时加工产品数据增加入录记录明细
     */
    public function afterAdd(&$data){
        $products = $data['products'];
        //循环出仓明细数据
        foreach ($products as $product) {
            $id = $product['id'];
            //这里新增一个产品id来存放对应产品数据。
            $product['productId'] = $product['id'];
            //默认id是一个自增值
            unset($product['id']);
            $product['ordersId'] = $data['id'];
            //增加出库记录
            $productOutModel = new ProductOutModel();
            $productOutModel->add($product);
            //减少库存数量
            $productModel = new ProductModel();
            $productModel->decValue($id,'number',$product['number']);
        }
        return true;
    }

 主表orders操作框架已经集成,不需要任何操作,我们只需要操作明细的记录。


http://www.kler.cn/a/446231.html

相关文章:

  • Java图片拼接
  • MVVM、MVC、MVP 的区别
  • 【Tomcat】第六站(最后一站啦!):数据的返回
  • 在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释
  • 穷举vs暴搜vs深搜vs回溯vs剪枝系列一>找出所有子集的异或总和再求和
  • 传统JavaWeb项目集成consul注册中心
  • 基于Spring Boot的高校素拓分管理系统
  • ImageGlass:基于C#开发的轻量级、多功能的图像查看器
  • 仿途唬养车系统汽修服务小程序修车店小程序源码
  • 数据库 MYSQL的概念
  • 怎么样保持mysql和redis数据一致性
  • CLION中运行远程的GUI程序
  • Nuc9 Truenas 和 Macmini4组雷电网桥 上传速度异常 1Mbp/s 解决
  • datasets 笔记:加载数据集(基本操作)
  • 【Qt编程入门】
  • 了解过.css 的优化吗?
  • 【计算机网络】lab2 Ethernet(链路层Ethernet frame结构细节)
  • 小数转换为二进制
  • 科技赋能医疗挂号:SSM 医院预约挂号系统的 Vue 卓越设计与达成
  • 查看mysql的冷数据配置比例
  • 计算机网络面经总结
  • 【C++读写.xlsx文件】OpenXLSX开源库在 Ubuntu 18.04 的编译、交叉编译与使用教程
  • 第七届传智杯初赛+重现赛总结
  • 如何利用webpack来优化前端性能?
  • 什么是零信任模型?如何实施以保证网络安全?
  • 渗透测试-前端加密分析之RSA加密登录(密钥来源服务器)