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

基于Jeecgboot前后端分离的ERP系统开发代码生成(六)

      商品信息原先生成的不符合要求,重新生成,包括一个附表商品价格信息表

     一、采用TAB主题一对多的模式

       因为主键,在online表单配置是灰的,所以不能进行外键管理,只能通过下面数据库进行关联录入,否则online界面上不能录入。

 效果如下:

 二、生成代码使用页面风格tab风格

 三、生成tab风格的代码还是需要进行修改

1、没有详情了,所以ErpGoodsList.vue需要增加

<a-menu-item>
         <a @click="handleDetail(record)">详情</a>
</a-menu-item>

同时需要增加下面信息:

增加几个价格信息的列

        {
            title:'采购价格',
            align:"center",
            dataIndex: 'purchasePrice'
          },
          {
            title:'销售价格',
            align:"center",
            dataIndex: 'salePrice'
          },
          {
            title:'零售价格',
            align:"center",
            dataIndex: 'retailPrice'
          },

list修改成如下:

url: {
          list: "/goods/erpGoodsDto/list",

同时在ErpGoodsModal.vue文件把按钮要隐藏掉

:okButtonProps="{ class:{'jee-hidden': disableSubmit}

2、ErpGoodsForm.vue增加两个名称显示

<a-col :xs="24" :sm="12"><a-form-model-item label="类别编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="categoryId"><j-popupv-model="model.categoryId"field="categoryId"org-fields="id,name"dest-fields="categoryId,categoryName"code="SelectorGoodsCategory":multi="true"@input="popupCallback"/><a-input v-model="model.categoryName"></a-input></a-form-model-item></a-col><a-col :xs="24" :sm="12"><a-form-model-item label="品牌编号" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="brandId"><j-popupv-model="model.brandId"field="brandId"org-fields="id,name"dest-fields="brandId,brandName"code="SelectorBrand":multi="true"@input="popupCallback"/><a-input v-model="model.brandName"></a-input></a-form-model-item></a-col>

3、后端增加相关文件

    3.1 ErpGoodsDto.java文件

package com.nbcio.modules.erp.goods.dto;import java.io.Serializable;import org.jeecg.common.aspect.annotation.Dict;import io.swagger.annotations.ApiModelProperty;
import lombok.Data;@Data
public class ErpGoodsDto implements Serializable {private static final long serialVersionUID = 1L;/**ID*/private java.lang.String id;/**编号*/private java.lang.String code;/**名称*/private java.lang.String name;/**SPU编号*///private java.lang.String spuId;/**类别编号*/private java.lang.String categoryId;/**类别名称*/private java.lang.String categoryName;/**品牌编号*/private java.lang.String brandId;/**品牌名称*/private java.lang.String brandName;/**规格*/private java.lang.String spec;/**单位*/private java.lang.String unit;/**采购价格*/private java.math.BigDecimal purchasePrice;/**销售价格*/private java.math.BigDecimal salePrice;/**零售价格*/private java.math.BigDecimal retailPrice;/**税率(%)*/private java.math.BigDecimal taxRate;/**销项税率(%)*/private java.math.BigDecimal saleTaxRate;/**数量*/private java.lang.Integer num;/**总价格*/private java.math.BigDecimal totalPrice;/**库存数量*/private java.lang.Integer stockNum;@Dict(dicCode = "erp_status")@ApiModelProperty(value = "状态")private java.lang.Integer status;}

  3.2 ErpGoodsDtoController.java文件

package com.nbcio.modules.erp.goods.controller;import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.jeecg.common.api.vo.Result;import com.nbcio.modules.erp.goods.dto.ErpGoodsDto;
import com.nbcio.modules.erp.goods.service.IErpGoodsDtoService;
import com.nbcio.modules.erp.goods.vo.QueryGoodsVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;/*** @Description: erp_goods_dto* @Author: nbacheng* @Date:   2023-02-09* @Version: V1.0*/
@Api(tags="erp_goods_dto")
@RestController
@RequestMapping("/goods/erpGoodsDto")
@Slf4j
public class ErpGoodsDtoController extends JeecgController<ErpGoodsDto, IErpGoodsDtoService> {@Autowiredprivate IErpGoodsDtoService erpGoodsDtoService;/*** 分页列表查询** @param erpGoods* @param pageNo* @param pageSize* @param req* @return*/@AutoLog(value = "erp_goods-商品信息列表查询")@ApiOperation(value="erp_goods-商品信息列表查询", notes="erp_goods-商品信息列表查询")@GetMapping(value = "/list")public Result<?> queryGoodsList(QueryGoodsVo queryGoodsvo,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,HttpServletRequest req) {Page<ErpGoodsDto> page = new Page<ErpGoodsDto>(pageNo, pageSize);IPage<ErpGoodsDto> pageList = erpGoodsDtoService.queryGoodsList(page, queryGoodsvo);return Result.OK(pageList);}/*** 通过ids查询** @param ids* @return*/@AutoLog(value = "商品-通过ids查询")@ApiOperation(value="商品-通过ids查询", notes="商品-通过ids查询")@GetMapping(value = "/queryByIds")public Result<?> queryByIds(@RequestParam(name="ids",required=true) String ids) {List<ErpGoodsDto> listErpGoodsDto = erpGoodsDtoService.queryByIds(ids);if(listErpGoodsDto.size()==0) {return Result.error("未找到对应数据");}return Result.OK(listErpGoodsDto);}}

3.3 ErpGoodsDtoMapper.java文件

package com.nbcio.modules.erp.goods.mapper;import com.nbcio.modules.erp.goods.dto.ErpGoodsDto;
import com.nbcio.modules.erp.goods.vo.QueryGoodsVo;import java.util.List;import org.apache.ibatis.annotations.Param;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;/*** @Description: erp_goods_dto* @Author: nbacheng* @Date:   2023-02-09* @Version: V1.0*/
public interface ErpGoodsDtoMapper extends BaseMapper<ErpGoodsDto> {List<ErpGoodsDto> queryGoodsList(Page<ErpGoodsDto> page, @Param("vo") QueryGoodsVo vo);public List<ErpGoodsDto> getByIds(@Param("idArray") String[] idArray);
}

3.4 ErpGoodsDtoMapper.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nbcio.modules.erp.goods.mapper.ErpGoodsDtoMapper"><resultMap id="ErpGoodsDtoMap" type="com.nbcio.modules.erp.goods.dto.ErpGoodsDto"><id column="id" property="id"/><result column="code" property="code"/><result column="name" property="name"/><result column="category_id" property="categoryId"/><result column="category_name" property="categoryName"/><result column="brand_id" property="brandId"/><result column="brand_name" property="brandName"/><result column="spec" property="spec"/><result column="unit" property="unit"/><result column="status" property="status"/><result column="purchase_price" property="purchasePrice"/><result column="sale_price" property="salePrice"/><result column="retail_price" property="retailPrice"/><result column="tax_rate" property="taxRate"/><result column="sale_tax_rate" property="saleTaxRate"/><result column="num" property="num"/><result column="total_price" property="totalPrice"/></resultMap><sql id="ErpGoodsDto_sql">SELECTa.id,a.code,a.name,c.id AS category_id,c.name AS category_name,b.id AS brand_id,b.name AS brand_name,a.spec,a.unit,a.status,price.purchase AS purchase_price,price.sale AS sale_price,price.retail AS retail_price,a.tax_rate,a.sale_tax_rate,1 as num,price.sale*1 as total_priceFROM erp_goods AS aLEFT JOIN erp_goods_price AS price ON price.id = a.idLEFT JOIN erp_goods_category AS c ON c.id = a.category_idLEFT JOIN erp_goods_brand AS b ON b.id = a.brand_id</sql><select id="queryGoodsList" resultMap="ErpGoodsDtoMap"><include refid="ErpGoodsDto_sql"/><where><if test="vo != null"><if test="vo.condition != null and vo.condition != ''">AND (a.id LIKE CONCAT('%', #{vo.condition}, '%')OR a.code LIKE CONCAT('%', #{vo.condition}, '%')OR a.name LIKE CONCAT('%', #{vo.condition}, '%'))</if><if test="vo.brandId != null and vo.brandId != ''">AND b.id = #{vo.brandId}</if><if test="vo.categoryId != null and vo.categoryId != ''">AND (c.id = #{vo.categoryId} </if></if>AND a.status = '1' </where>ORDER BY a.code</select><select id="getByIds" resultType="com.nbcio.modules.erp.goods.dto.ErpGoodsDto"><include refid="ErpGoodsDto_sql"/><where>a.id IN (<foreach collection="idArray" item="id" separator=",">#{id}</foreach>)</where>order by a.code desc</select>	 </mapper>

3.5 IErpGoodsDtoService.java文件

package com.nbcio.modules.erp.goods.service;import com.nbcio.modules.erp.goods.dto.ErpGoodsDto;
import com.nbcio.modules.erp.goods.vo.QueryGoodsVo;import java.util.List;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;/*** @Description: erp_goods_dto* @Author: nbacheng* @Date:   2023-02-09* @Version: V1.0*/
public interface IErpGoodsDtoService extends IService<ErpGoodsDto> {IPage<ErpGoodsDto> queryGoodsList(Page<ErpGoodsDto> page, QueryGoodsVo queryGoodsVo);List<ErpGoodsDto> queryByIds(String ids);
}

3.6 ErpGoodsDtoServiceImpl.java文件

package com.nbcio.modules.erp.goods.service.impl;import com.nbcio.modules.erp.goods.dto.ErpGoodsDto;
import com.nbcio.modules.erp.goods.mapper.ErpGoodsDtoMapper;
import com.nbcio.modules.erp.goods.service.IErpGoodsDtoService;
import com.nbcio.modules.erp.goods.vo.QueryGoodsVo;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;/*** @Description: erp_goods* @Author: nbacheng* @Date:   2023-02-09* @Version: V1.0*/
@Service
public class ErpGoodsDtoServiceImpl extends ServiceImpl<ErpGoodsDtoMapper, ErpGoodsDto> implements IErpGoodsDtoService {@Autowiredprivate ErpGoodsDtoMapper erpGoodsDtoMapper;@Overridepublic IPage<ErpGoodsDto> queryGoodsList(Page<ErpGoodsDto> page, QueryGoodsVo queryGoodsVo) {List<ErpGoodsDto> erpGoodsDtoLists = this.baseMapper.queryGoodsList(page, queryGoodsVo);return page.setRecords(erpGoodsDtoLists);}@Overridepublic List<ErpGoodsDto> queryByIds(String ids) {// TODO Auto-generated method stubString [] idArray=ids.split(",");return erpGoodsDtoMapper.getByIds(idArray);}}

四、效果图

 

 

相关文章:

基于Jeecgboot前后端分离的ERP系统开发代码生成(六)

商品信息原先生成的不符合要求&#xff0c;重新生成&#xff0c;包括一个附表商品价格信息表 一、采用TAB主题一对多的模式 因为主键&#xff0c;在online表单配置是灰的&#xff0c;所以不能进行外键管理&#xff0c;只能通过下面数据库进行关联录入&#xff0c;否则online界面…...

什么?同步代码块失效了?-- 自定义类加载器引起的问题

一、背景 最近编码过程中遇到了一个非常奇怪的问题&#xff0c;基于单例对象的同步代码块似乎失效了&#xff0c;百思不得其姐。 下面给出模拟过程和最终的结论。 二、场景描述和模拟 2.1 现象描述 Database实现单例&#xff0c;在 init 方法中使用同步代码块来保证 data不…...

CHAPTER 4 文件共享 - Samba

文件共享 - Samba1 Samba1.1 Samba的软件架构1.2 搭建Samba服务器1.3 samba用户管理1. 添加用户2. 修改用户密码3. 删除用户和密码4. 查看samba用户列表5. 查看samba服务器状态1.4 samba共享设置&#xff08;配置文件详解&#xff09;1.5 访问共享目录1. windows访问2. linux客…...

深入分析@Configuration源码

文章目录一、源码时序图1. 注册ConfigurationClassPostProcessor流程源码时序图2. 注册ConfigurationAnnotationConfig流程源码时序图3. 实例化流程源码时序图二、源码解析1. 注册ConfigurationClassPostProcessor流程源码解析&#xff08;1&#xff09;运行案例程序启动类Conf…...

Unity 代码优化 内存管理优化

项目遇到了卡顿的情况 仔细检查了代码没检查出有误的地方 仔细的总结了一下可以优化的东西 解决了卡顿 记录一下 1 协程 项目之前写的关于倒计时之类的东西 都是开了个协程 虽然协程是消耗很小的线程 , 可是还是有额外消耗 而且 有很多用携程来检测销毁预制体的操作 也都放到U…...

设计模式~门面(外观)模式(Facade)-08

目录 &#xff08;1&#xff09;优点 &#xff08;2&#xff09;缺点 &#xff08;3&#xff09;使用场景 &#xff08;4&#xff09;注意事项&#xff1a; &#xff08;5&#xff09;应用实例&#xff1a; &#xff08;6&#xff09;源码中的经典应用 代码 外观模式&am…...

C++面向对象编程之一:封装

C面向对象编程三大特性为&#xff1a;封装&#xff0c;继承&#xff0c;多态。C认为万事万物皆为对象&#xff0c;对象有属性和行为。比如&#xff1a;游戏里的地图场景可以看作是长方形对象&#xff0c;属性场景id&#xff0c;有长&#xff0c;有宽&#xff0c;可能有NPC&…...

IDEA插件系列(3):Maven Helper插件

一、引言在写Java代码的时候&#xff0c;我们可能会出现Jar包的冲突的问题&#xff0c;这时候就需要我们去解决依赖冲突了&#xff0c;而解决依赖冲突就需要先找到是那些依赖发生了冲突&#xff0c;当项目比较小的时候&#xff0c;还比较依靠IEDA的【Diagrams】查看依赖关系&am…...

SAP 更改物料基本计量单位

前言部分 在SAP中物料创建后&#xff0c;一旦发生业务&#xff0c;其基本计量单位便很难修改。由于单位无法满足业务要求&#xff0c;往往会要求新建一个物料替代旧物料。这时候除了要将旧物料上所有的未清业务删除外&#xff0c;还需要替换工艺与BOM中的旧物料。特别是当出现旧…...

蓝桥web基础知识学习

HTMLCSS 知识点重要指数HTML 基础标签&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;HTML5 新特性&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;HTML5 本地存储&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;CSS 基础语法…...

Python+ChatGPT制作一个AI实用百宝箱

目录一、注册OpenAI二、搭建网站及其框架三、AI聊天机器人四、AI绘画机器人ChatGPT 最近在互联网掀起了一阵热潮&#xff0c;其高度智能化的功能能够给我们现实生活带来诸多的便利&#xff0c;可以帮助你写文章、写报告、写周报、做表格、做策划甚至还会写代码。只要与文字相关…...

Python中格式化字符串输出的4种方式

Python格式化字符串的4中方式 一、%号 二、str.format(args) 三、f-Strings 四、标准库模板 五、总结四种方式的应用场景’ 一、%号占位符 这是一种引入最早的一种&#xff0c;也是比较容易理解的一种方式.使用方式为&#xff1a; 1、格式化字符串中变化的部分使用占位符 2、…...

C#基础教程15 枚举与类

文章目录 C# 枚举(Enum)声明 enum 变量C# 类(Class)类的定义成员函数和封装C# 中的构造函数关键字 staticC# 枚举(Enum) 枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。 声明 enum 变…...

三步 让你的 vscode 自动编译ts文件

三步让你的 vscode 自动编译ts文件 TypeScript环境安装与如何在vscode实现自动编译ts文件? 文章目录三步让你的 vscode 自动编译ts文件前提条件环境安装自动编译运行监视任务时报错&#xff1f;前提条件 安装 node 环境 环境安装 tsc 作用&#xff1a;负责将ts 代码 转为 浏…...

STM32程序下载和启动方式

目录1 BOOT引脚配置和下载说明2 关于串口下载方式3 关于一按复位就跑代码4 关于下载调试速度5 关于三种启动方式5.1 FLASH启动5.2 系统存储器器启动5.3 SRAM启动6 关于程序的三种下载方式1 BOOT引脚配置和下载说明 BOOT0BOOT1程序运行ST-Link下载串口下载启动说明xx无0x√√用…...

基础01-ajax fetch axios 的区别

ajax fetch axios 的区别 题目 ajax fetch axios 的区别 分析 三者根本没有可比性&#xff0c;不要被题目搞混了。要说出他们的本质 传统 ajax AJAX &#xff08;几个单词首字母&#xff0c;按规范应该大写&#xff09; - Asynchronous JavaScript and XML&#xff08;异…...

Android Execution failed for task ‘:app:mergeDebugJavaResource

错误提示 FAILURE: Build failed with an exception.* What went wrong: Execution failed for task :app:mergeDebugJavaResource. > A failure occurred while executing com.android.build.gradle.internal.tasks.MergeJavaResWorkAction> 2 files found with path k…...

spring事物源码分析

今天的任务是剖析源码&#xff0c;看看Spring 是怎么运行事务的&#xff0c;并且是基于当前最流行的SpringBoot。还有&#xff0c;我们之前剖析Mybatis 的时候&#xff0c;也知道&#xff0c;Mybatis 也有事务&#xff0c;那么&#xff0c;他俩融合之后&#xff0c;事务是交给谁…...

炫龙游戏本Win10系统总是蓝屏崩溃怎么办?

炫龙游戏本Win10系统总是蓝屏崩溃怎么办&#xff1f;有用户使用的炫龙游戏本最近总是在运行的过程中出现自动蓝屏的情况&#xff0c;有的时候自己还在操作电脑&#xff0c;而屏幕却蓝屏了&#xff0c;导致自己的工作被中断了。那么这个情况要怎么去进行修复呢&#xff1f;来看看…...

华为OD机试题,用 Java 解【数字加减游戏】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

BLEU评分:机器翻译质量评估的黄金标准

BLEU评分&#xff1a;机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域&#xff0c;衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标&#xff0c;自2002年由IBM的Kishore Papineni等人提出以来&#xff0c;…...