项目初始化

main v1.0
chihao 6 months ago
parent 4908940577
commit e69954942c

70
.gitignore vendored

@ -0,0 +1,70 @@
######################################################################
# Build Tools
.gradle
/build/
!gradle/wrapper/gradle-wrapper.jar
ecerp-api/target/
framework/**/target
!.mvn/wrapper/maven-wrapper.jar
######################################################################
# IDE
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
.vscode
### JRebel ###
rebel.xml
### NetBeans ###
nbproject/private/
build/*
nbbuild/
dist/
nbdist/
.nb-gradle/
######################################################################
# Others
*.log
*.xml.versionsBackup
*.swp
!*/build/*.java
!*/build/*.html
!*/build/*.xml
=======
# Build and Release Folders
bin-debug/
bin-release/
[Oo]bj/
#[Bb]in/
logs
# Other files and folders
.settings/
# Executables
*.swf
*.air
*.ipa
*.apk
# Project files, i.e. `.project`, `.actionScriptProperties` and `.flexProperties`
# should NOT be excluded as they contain compiler settings and other important
# information for Eclipse / Flash Builder.
bak/

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 启航
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@ -0,0 +1,224 @@
# 启航电商ERP系统
启航电商ERP系统是一套为中小电商企业构建的一套简单、实用、覆盖全流程的电商系统本项目采用Java SpringBoot3+Vue2前后端分离开发。
支持供应商一件代发和仓库发货两种发货方式,功能覆盖采购、网店订单处理、供应商一件代发、仓库发货、网店售后、网店商品管理、仓库出入库、采购结算、代发结算等功能,基本上覆盖了电商日常业务。
支持的电商平台有:淘宝、京东、拼多多、抖店、视频号小店、快手、小红书。
![预览](docs/preview.png)
## 项目介绍
**启航电商ERP可以说是我这五年以来的工作经验成果。**
公司从2019年踏入电商以来一直都是由我组建和带领一帮技术人员从零开始建设了一套完全适应公司业务需要的电商ERP系统包括WMS仓库系统、OMS订单处理系统、财务系统、直播运营系统等子系统组成。主要功能模块包括采购模块、出入库模块、订单发货模块、网店订单管理模块、电子面单打印模块。公司ERP对接了批批网、1688、蘑菇街、淘宝天猫、拼多多、抖店、快手小店平台。
### 技术栈
+ Java17
+ SpringBoot3
+ Redis
+ Nacos
+ MyBatis-Plus
+ MySQL8
### 公司应用场景一:抖店直播
```mermaid
graph TD
A[早上7点开播] -->B(10点结束直播-一般是500单左右)
B --> C[使用ERP系统打单-对接平台电子面单接口]
C --> E(库存核对)
E --> F[库存不足]
F --> F1(采购补货)
F1 --> G1
E --> G(库存充足)
G --> G1[打印订单]
G1 --> G5(推送快递单号到平台)
G1 --> G2(生成备货单)
G2 --> G3(仓库人员备货出库)
G3 --> H(完成)
G5 --> H
```
## 一、功能模块
### 供应链管理
+ 供应商管理:管理供应商信息
+ 采购订单管理:管理采购流程,包括供应商选择、采购订单生成、采购合同管理等。
+ 采购账单管理
+ 采购退货管理
+ 采购物流管理:跟踪采购订单物流信息。
+ 供应商代发管理:管理一件代发订单。
+ 代发账单管理
**采购流程**
```mermaid
graph LR
A[创建采购订单] -->B(审核)
B --> C[供应商确认]
C --> E[供应商发货]
E --> F1(生成物流信息)
F1 --> G1[确认收货]
G1 --> G3[生成入库单]
G3 --> G4(入库)
G1 --> G2[生成财务应付及明细]
G4 --> H(完成)
G2 --> H
```
### 订单管理
+ 订单管理:所有导入的订单统一管理,
+ 查询、管理所有店铺审核过的订单。
+ 创建订单:手动创建订单。
+ 店铺订单导入:处理和管理多平台原始订单。
+ 支持淘宝、京东、拼多多、抖店、微信视频号小店、快手小店、小红书平台订单接口;
+ 审核订单,审核之后订单到统一订单库;
+ 更新订单,更新订单信息和状态
### 发货管理
+ 备货清单:展示需要发货的订单明细
+ 生成出库单
+ 拣货出库:拣货出库、生成出库单减库存;
+ 打包发货:记录包裹信息、物流发货、同步发货状态;
+ 物流跟踪:跟踪发货快递物流;
+ 供应商代发管理:管理供应商代发的订单
**订单发货流程**
```mermaid
graph TD
A[网店拉取订单] -->B(审核订单)
B --> C[订单库]
C --> C1[备货清单中展示需要发货的订单]
C1 --> D[仓库发货-生成出库单]
C1 --> E[分配供应商发货]
D --> F(拣货出库)
F --> F1[出库]
E --> H(打包发货-记录包裹信息)
F1 --> H
H --> G(推送发货信息-记录包裹信息-生成发货费用-物流费和代发费)
G --> I(完成)
```
**仓库发货流程**
```mermaid
graph TD
A[查询备货清单] -->B(生成拣货单)
B --> C[拣货出库]
C --> E(减库存)
E --> F[打包发货]
F --> F1(记录包裹信息)
F1 --> G(填写物流信息)
G --> G1[同步发货状态]
G1 --> H(完成)
G --> G2[生成物流费用账单]
G2 --> H
```
### 售后管理
对退货、换货、维修等售后处理进行管理,包括退款审核、退货入库、退款处理等环节。
+ 店铺售后管理:处理和管理多平台售后包括录入售后数据、退货入库、换货处理等。
+ 支持拼多多、抖店、快手小店、小红书平台售后接口;
+ 支持手动录入、备注;
+ 退货处理:数据录入、仓库收货确认、库存处理等。
+ 换货处理:数据录入、仓库收货确认、仓库发货、库存处理等。
**退货退款流程**
```mermaid
graph LR
A[录入退款退货] -->B(仅退款)
B --> H(完成)
A --> D(退货退款)
D --> E[仓库收货]
E --> F[退货入库处理]
F --> H
```
**售后流程**
```mermaid
graph LR
A[录入售后] -->B(补发商品)
B --> H[仓库出库-记录]
A --> D(换货)
D --> E[仓库收货-入库]
E --> H
H --> F(完成)
```
**订单拦截**
```mermaid
graph LR
A[录入拦截] -->B(通知仓库)
B --> H1[未发货-直接入库]
B --> D(已发货)
D --> E[通知消费者拒收]
E --> H[消费者拒收]
H --> C[退回入库]
C --> F(退款给消费者)
F --> G[完成]
H1 --> G
```
### 店铺管理
+ 店铺商品管理
+ 淘宝商品管理同步淘宝店铺商品关联到ERP商品用于仓库发货处理
+ 多多商品管理同步多多店铺商品关联到ERP商品用于仓库发货处理
+ 抖店商品管理同步抖店店铺商品关联到ERP商品用于仓库发货处理
+ 京东、视频号、快手、小红书同上
+ 店铺管理网店管理、API参数设置
+ 平台参数设置
### 库存管理
+ 入库管理
+ 出库管理
+ 库存查询:跟踪和管理库存,包括批次管理、库存盘点、库存调整、库存预警等。
+ 库位管理
### 商品管理
商品信息、分类信息、属性信息等管理。
## 二、部署说明
**项目采用SpringBoot+vue2开发。具体使用方法如下**
#### 2.1 配置启动MySQL
+ 创建数据库`qihang-erp`并导入sql脚本`docs\qihang-erp.sql`
#### 2.3 启动Redis
项目开发采用Redis7
#### 2.4 启动Nacos
项目开发采用Nacos2.2.0
#### 2.3 启动后端api
+ 修改`api`项目中的配置文件`application.yml`配置`Nacos`相关。
+ Nacos新建dataId:`ecerp-dev`配置项,配置内容在`docs\NacosConfig\ecerp-dev.txt`文件中。
+ IDE启动项目
#### 2.4 启动前端 `vue`
+ `npm install`
+ `npm run dev`
+ 打包`npm run build:prod`
+ 访问web
+ 访问地址:`http://localhost`
+ 登录名:`admin`
+ 登录密码:`admin123`

38
api/.gitignore vendored

@ -0,0 +1,38 @@
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**/target/
!**/src/test/**/target/
### IntelliJ IDEA ###
.idea/modules.xml
.idea/jarRepositories.xml
.idea/compiler.xml
.idea/libraries/
*.iws
*.iml
*.ipr
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
!**/src/main/**/build/
!**/src/test/**/build/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

@ -0,0 +1,7 @@
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY ecerp-api-0.2.0.jar .
CMD ["java", "-jar", "ecerp-api-0.2.0.jar"]

@ -0,0 +1,193 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>cn.qihangerp</groupId>
<artifactId>qihangerp</artifactId>
<version>2.0.1</version>
</parent>
<artifactId>api</artifactId>
<packaging>jar</packaging>
<version>2.0.1</version>
<name>api</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<!-- spring security 安全认证 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.1</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.h2database</groupId>-->
<!-- <artifactId>h2</artifactId>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.postgresql</groupId>-->
<!-- <artifactId>postgresql</artifactId>-->
<!-- <version>42.7.3</version>-->
<!-- </dependency>-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!-- nacos配置中心-->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.12</version>
</dependency>
<dependency>
<groupId>io.minio</groupId>
<artifactId>minio</artifactId>
<version>8.5.7</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>log4j</groupId>-->
<!-- <artifactId>log4j</artifactId>-->
<!-- <version>1.2.17</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.slf4j</groupId>-->
<!-- <artifactId>slf4j-api</artifactId>-->
<!-- <version>1.7.25</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.slf4j</groupId>-->
<!-- <artifactId>slf4j-log4j12</artifactId>-->
<!-- <version>1.7.25</version>-->
<!-- <scope>test</scope>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.poi</groupId>-->
<!-- <artifactId>poi</artifactId>-->
<!-- <version>5.2.5</version>-->
<!-- </dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.apache.poi</groupId>-->
<!-- <artifactId>poi-ooxml</artifactId>-->
<!-- <version>5.2.5</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.20</version>
<scope>runtime</scope>
</dependency>
<!-- &lt;!&ndash; https://mvnrepository.com/artifact/us.codecraft/webmagic-core &ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>us.codecraft</groupId>-->
<!-- <artifactId>webmagic-core</artifactId>-->
<!-- <version>0.10.0</version>-->
<!-- </dependency>-->
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>4.1.109.Final</version>
</dependency>
<!-- 引入框架 -->
<dependency>
<groupId>cn.qihangerp</groupId>
<artifactId>system</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>cn.qihangerp.api</groupId>
<artifactId>tao-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>cn.qihangerp.api</groupId>
<artifactId>jd-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>cn.qihangerp.api</groupId>
<artifactId>pdd-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>cn.qihangerp.api</groupId>
<artifactId>dou-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>cn.qihangerp.api</groupId>
<artifactId>wei-api</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>cn.qihangerp.api</groupId>
<artifactId>kwai-api</artifactId>
<version>0.4.28</version>
</dependency>
<dependency>
<groupId>cn.qihangerp.api</groupId>
<artifactId>xhs-api</artifactId>
<version>2.0.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>cn.qihangerp.api.ApiApplication</mainClass>
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

@ -0,0 +1,61 @@
package cn.qihangerp.api;
//import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import lombok.extern.java.Log;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
*
*
* @author qihang
*/
// @ComponentScan("com.zhijian")
@Log
//@NacosPropertySource(dataId = "ecerp-dev.yaml", autoRefreshed = true)
//@EnableTransactionManagement
//@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@ComponentScan("cn.qihangerp")
@SpringBootApplication
public class ApiApplication {
public static void main(String[] args) {
// System.setProperty("spring.devtools.restart.enabled", "false");
SpringApplication.run(ApiApplication.class, args);
log.info("启航电商ERP系统启动成功 \n" +
" ____ _____ _ _ _ _ _____ ______ _____ _____ \n" +
" / __ \\ |_ _|| | | | /\\ | \\ | | / ____|| ____|| __ \\ | __ \\ \n" +
" | | | | | | | |__| | / \\ | \\| || | __ | |__ | |__) || |__) |\n" +
" | | | | | | | __ | / /\\ \\ | . ` || | |_ || __| | _ / | ___/ \n" +
" | |__| | _| |_ | | | | / ____ \\ | |\\ || |__| || |____ | | \\ \\ | | \n" +
" \\___\\_\\|_____||_| |_|/_/ \\_\\|_| \\_| \\_____||______||_| \\_\\|_| \n");
// System.out.println("启航电商ERP系统启动成功 \n" +
// " ____ _____ _ _ _ _ _____ ______ _____ _____ \n" +
// " / __ \\ |_ _|| | | | /\\ | \\ | | / ____|| ____|| __ \\ | __ \\ \n" +
// " | | | | | | | |__| | / \\ | \\| || | __ | |__ | |__) || |__) |\n" +
// " | | | | | | | __ | / /\\ \\ | . ` || | |_ || __| | _ / | ___/ \n" +
// " | |__| | _| |_ | | | | / ____ \\ | |\\ || |__| || |____ | | \\ \\ | | \n" +
// " \\___\\_\\|_____||_| |_|/_/ \\_\\|_| \\_| \\_____||______||_| \\_\\|_|
// \n");
// System.out.println("(♥◠‿◠)ノ゙ 启航电商ERP系统启动成功 ლ(´ڡ`ლ)゙ \n" +
// " .-------. ____ __ \n" +
// " | _ _ \\ \\ \\ / / \n" +
// " | ( ' ) | \\ _. / ' \n" +
// " |(_ o _) / _( )_ .' \n" +
// " | (_,_).' __ ___(_ o _)' \n" +
// " | |\\ \\ | || |(_,_)' \n" +
// " | | \\ `' /| `-' / \n" +
// " | | \\ / \\ / \n" +
// " ''-' `'-' `-..-' ");
}
}

@ -0,0 +1,27 @@
//package cn.qihangerp.api;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import org.springframework.jdbc.datasource.DataSourceTransactionManager;
//import org.springframework.transaction.PlatformTransactionManager;
//import org.springframework.transaction.annotation.EnableTransactionManagement;
//
//import javax.sql.DataSource;
//
//@Configuration
//@EnableTransactionManagement
//public class MyBatisConfig {
//
// private final DataSource dataSource;
//
// public MyBatisConfig(DataSource dataSource) {
// this.dataSource = dataSource;
// }
//
// @Bean
// public PlatformTransactionManager transactionManager() {
// return new DataSourceTransactionManager(dataSource);
// }
//}
//
//

@ -0,0 +1,19 @@
package cn.qihangerp.api;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@MapperScan(basePackages = {"cn.qihangerp.api.mapper","cn.qihangerp.system.mapper", "cn.qihangerp.open.tao.mapper","cn.qihangerp.api.pdd.mapper","cn.qihangerp.api.dou.mapper","cn.qihangerp.api.xhs.mapper","cn.qihangerp.api.wei.mapper","cn.qihangerp.api.jd.mapper"})
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}

@ -0,0 +1,63 @@
//package cn.qihangerp.api.common;
///**
// * 描述:
// * 结果枚举
// *
// * @author qlp
// * @date 2019-04-10 10:31
// */
//public enum EnumResultVo {
// SUCCESS("成功", 0),
// NotFound("NotFound", 404),//没有找到
// Unable("Unable", 403),//无法处理
// NotLogin("未登录", 400),//未登录
// Cancelled("Cancelled", 401),//已经取消的
// StateError("StateError", 402),//状态错误
// Locking("Locking", 405),//锁定,不能操作
// NumberLess("数量不足", 406),
// StatusError("状态不正确", 407),
// DataError("DataError", 500),//数据错误,不能操作
// DataExist("DataExist", 800),//数据已存在,不能操作
// ParamsError("参数错误", 505),//参数错误
// HasAssociatedData("存在关联数据", 501),//存在关联数据
// Exist("已存在相同的数据", 502),//已存在相同的数据
// SystemException("系统异常", 505),//系统异常
// TokenFail("token过期", 1401),//ali token过期
// Fail("失败", 1000);
//
// private String name;
// private int index;
//
// // 构造方法
// private EnumResultVo(String name, int index) {
// this.name = name;
// this.index = index;
// }
//
// // 普通方法
// public static String getName(int index) {
// for (EnumResultVo c : EnumResultVo.values()) {
// if (c.getIndex() == index) {
// return c.name;
// }
// }
// return null;
// }
//
// // get set 方法
// public String getName() {
// return name;
// }
//
// public void setName(String name) {
// this.name = name;
// }
//
// public int getIndex() {
// return index;
// }
//
// public void setIndex(int index) {
// this.index = index;
// }
//}

@ -0,0 +1,9 @@
package cn.qihangerp.api.common;
import lombok.Data;
@Data
public class PageReq {
private Integer currentPage;
private Integer pageSize;
}

@ -0,0 +1,91 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.api.domain.ErpSaleAfterInfo;
import cn.qihangerp.api.service.ErpSaleAfterInfoService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.core.page.TableDataInfo;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Date;
@AllArgsConstructor
@RestController
@RequestMapping("/afterSale")
public class AfterSaleController extends BaseController {
private final ErpSaleAfterInfoService afterInfoService;
/**
*
*/
@GetMapping("/ship_again_list")
public TableDataInfo ship_again_list(ErpSaleAfterInfo bo, PageQuery pageQuery)
{
bo.setType(80);
PageResult<ErpSaleAfterInfo> result = afterInfoService.queryPageList(bo, pageQuery);
return getDataTable(result);
}
@PostMapping("/shipAgain")
public AjaxResult shipAgainAdd(@RequestBody ErpSaleAfterInfo addBo)
{
addBo.setType(80);
addBo.setCreateTime(new Date());
addBo.setCreateBy("手动添加");
addBo.setStatus(1);
var result = afterInfoService.save(addBo);
return toAjax(result);
}
@PutMapping("/shipAgain/complete/{id}")
public AjaxResult completeShipAgain(@PathVariable Long id)
{
ErpSaleAfterInfo complete = new ErpSaleAfterInfo();
complete.setId(id.toString());
complete.setStatus(2);
complete.setUpdateTime(new Date());
complete.setUpdateBy("手动完成");
afterInfoService.updateById(complete);
return toAjax(1);
}
@GetMapping("/returned_list")
public TableDataInfo returned_list(ErpSaleAfterInfo bo, PageQuery pageQuery)
{
bo.setType(10);
PageResult<ErpSaleAfterInfo> result = afterInfoService.queryPageList(bo, pageQuery);
return getDataTable(result);
}
@GetMapping("/exchange_list")
public TableDataInfo exchange_list(ErpSaleAfterInfo bo, PageQuery pageQuery)
{
bo.setType(20);
PageResult<ErpSaleAfterInfo> result = afterInfoService.queryPageList(bo, pageQuery);
return getDataTable(result);
}
@PostMapping("/exchange")
public AjaxResult exchangeAdd(@RequestBody ErpSaleAfterInfo addBo)
{
addBo.setType(20);
addBo.setCreateTime(new Date());
addBo.setCreateBy("手动添加");
addBo.setStatus(1);
var result = afterInfoService.save(addBo);
return toAjax(result);
}
@GetMapping("/intercept_list")
public TableDataInfo intercept_list(ErpSaleAfterInfo bo, PageQuery pageQuery)
{
bo.setType(99);
PageResult<ErpSaleAfterInfo> result = afterInfoService.queryPageList(bo, pageQuery);
return getDataTable(result);
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ErpGoodsBrand;
import cn.qihangerp.api.service.IErpGoodsBrandService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/brand")
public class ErpGoodsBrandController extends BaseController
{
@Autowired
private IErpGoodsBrandService erpGoodsBrandService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:brand:list')")
@GetMapping("/list")
public TableDataInfo list(ErpGoodsBrand erpGoodsBrand)
{
startPage();
List<ErpGoodsBrand> list = erpGoodsBrandService.selectErpGoodsBrandList(erpGoodsBrand);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:brand:export')")
@Log(title = "商品品牌", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ErpGoodsBrand erpGoodsBrand)
{
List<ErpGoodsBrand> list = erpGoodsBrandService.selectErpGoodsBrandList(erpGoodsBrand);
ExcelUtil<ErpGoodsBrand> util = new ExcelUtil<ErpGoodsBrand>(ErpGoodsBrand.class);
util.exportExcel(response, list, "商品品牌数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:brand:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(erpGoodsBrandService.selectErpGoodsBrandById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:brand:add')")
@Log(title = "商品品牌", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ErpGoodsBrand erpGoodsBrand)
{
return toAjax(erpGoodsBrandService.insertErpGoodsBrand(erpGoodsBrand));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:brand:edit')")
@Log(title = "商品品牌", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ErpGoodsBrand erpGoodsBrand)
{
return toAjax(erpGoodsBrandService.updateErpGoodsBrand(erpGoodsBrand));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:brand:remove')")
@Log(title = "商品品牌", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(erpGoodsBrandService.deleteErpGoodsBrandByIds(ids));
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ErpGoodsCategoryAttribute;
import cn.qihangerp.api.service.IErpGoodsCategoryAttributeService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/categoryAttribute")
public class ErpGoodsCategoryAttributeController extends BaseController
{
@Autowired
private IErpGoodsCategoryAttributeService erpGoodsCategoryAttributeService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttribute:list')")
@GetMapping("/list")
public TableDataInfo list(ErpGoodsCategoryAttribute erpGoodsCategoryAttribute)
{
startPage();
List<ErpGoodsCategoryAttribute> list = erpGoodsCategoryAttributeService.selectErpGoodsCategoryAttributeList(erpGoodsCategoryAttribute);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttribute:export')")
@Log(title = "商品分类属性", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ErpGoodsCategoryAttribute erpGoodsCategoryAttribute)
{
List<ErpGoodsCategoryAttribute> list = erpGoodsCategoryAttributeService.selectErpGoodsCategoryAttributeList(erpGoodsCategoryAttribute);
ExcelUtil<ErpGoodsCategoryAttribute> util = new ExcelUtil<ErpGoodsCategoryAttribute>(ErpGoodsCategoryAttribute.class);
util.exportExcel(response, list, "商品分类属性数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttribute:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(erpGoodsCategoryAttributeService.selectErpGoodsCategoryAttributeById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttribute:add')")
@Log(title = "商品分类属性", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ErpGoodsCategoryAttribute erpGoodsCategoryAttribute)
{
return toAjax(erpGoodsCategoryAttributeService.insertErpGoodsCategoryAttribute(erpGoodsCategoryAttribute));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttribute:edit')")
@Log(title = "商品分类属性", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ErpGoodsCategoryAttribute erpGoodsCategoryAttribute)
{
return toAjax(erpGoodsCategoryAttributeService.updateErpGoodsCategoryAttribute(erpGoodsCategoryAttribute));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttribute:remove')")
@Log(title = "商品分类属性", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(erpGoodsCategoryAttributeService.deleteErpGoodsCategoryAttributeByIds(ids));
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ErpGoodsCategoryAttributeValue;
import cn.qihangerp.api.service.IErpGoodsCategoryAttributeValueService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/categoryAttributeValue")
public class ErpGoodsCategoryAttributeValueController extends BaseController
{
@Autowired
private IErpGoodsCategoryAttributeValueService erpGoodsCategoryAttributeValueService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttributeValue:list')")
@GetMapping("/list")
public TableDataInfo list(ErpGoodsCategoryAttributeValue erpGoodsCategoryAttributeValue)
{
startPage();
List<ErpGoodsCategoryAttributeValue> list = erpGoodsCategoryAttributeValueService.selectErpGoodsCategoryAttributeValueList(erpGoodsCategoryAttributeValue);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttributeValue:export')")
@Log(title = "商品分类属性值", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ErpGoodsCategoryAttributeValue erpGoodsCategoryAttributeValue)
{
List<ErpGoodsCategoryAttributeValue> list = erpGoodsCategoryAttributeValueService.selectErpGoodsCategoryAttributeValueList(erpGoodsCategoryAttributeValue);
ExcelUtil<ErpGoodsCategoryAttributeValue> util = new ExcelUtil<ErpGoodsCategoryAttributeValue>(ErpGoodsCategoryAttributeValue.class);
util.exportExcel(response, list, "商品分类属性值数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttributeValue:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(erpGoodsCategoryAttributeValueService.selectErpGoodsCategoryAttributeValueById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttributeValue:add')")
@Log(title = "商品分类属性值", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ErpGoodsCategoryAttributeValue erpGoodsCategoryAttributeValue)
{
return toAjax(erpGoodsCategoryAttributeValueService.insertErpGoodsCategoryAttributeValue(erpGoodsCategoryAttributeValue));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttributeValue:edit')")
@Log(title = "商品分类属性值", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ErpGoodsCategoryAttributeValue erpGoodsCategoryAttributeValue)
{
return toAjax(erpGoodsCategoryAttributeValueService.updateErpGoodsCategoryAttributeValue(erpGoodsCategoryAttributeValue));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:categoryAttributeValue:remove')")
@Log(title = "商品分类属性值", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(erpGoodsCategoryAttributeValueService.deleteErpGoodsCategoryAttributeValueByIds(ids));
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ErpGoodsCategory;
import cn.qihangerp.api.service.IErpGoodsCategoryService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/category")
public class ErpGoodsCategoryController extends BaseController
{
@Autowired
private IErpGoodsCategoryService erpGoodsCategoryService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:category:list')")
@GetMapping("/list")
public TableDataInfo list(ErpGoodsCategory erpGoodsCategory)
{
// startPage();
List<ErpGoodsCategory> list = erpGoodsCategoryService.selectErpGoodsCategoryList(erpGoodsCategory);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:category:export')")
@Log(title = "商品分类", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ErpGoodsCategory erpGoodsCategory)
{
List<ErpGoodsCategory> list = erpGoodsCategoryService.selectErpGoodsCategoryList(erpGoodsCategory);
ExcelUtil<ErpGoodsCategory> util = new ExcelUtil<ErpGoodsCategory>(ErpGoodsCategory.class);
util.exportExcel(response, list, "商品分类数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:category:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(erpGoodsCategoryService.selectErpGoodsCategoryById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:category:add')")
@Log(title = "商品分类", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ErpGoodsCategory erpGoodsCategory)
{
return toAjax(erpGoodsCategoryService.insertErpGoodsCategory(erpGoodsCategory));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:category:edit')")
@Log(title = "商品分类", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ErpGoodsCategory erpGoodsCategory)
{
return toAjax(erpGoodsCategoryService.updateErpGoodsCategory(erpGoodsCategory));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:category:remove')")
@Log(title = "商品分类", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(erpGoodsCategoryService.deleteErpGoodsCategoryByIds(ids));
}
}

@ -0,0 +1,101 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ErpGoodsInventory;
import cn.qihangerp.api.service.IErpGoodsInventoryService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2024-01-09
*/
@RestController
@RequestMapping("/api/goodsInventory")
public class ErpGoodsInventoryController extends BaseController
{
@Autowired
private IErpGoodsInventoryService erpGoodsInventoryService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:goodsInventory:list')")
@GetMapping("/list")
public TableDataInfo list(ErpGoodsInventory erpGoodsInventory)
{
startPage();
List<ErpGoodsInventory> list = erpGoodsInventoryService.selectErpGoodsInventoryList(erpGoodsInventory);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:goodsInventory:export')")
@Log(title = "商品库存", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ErpGoodsInventory erpGoodsInventory)
{
List<ErpGoodsInventory> list = erpGoodsInventoryService.selectErpGoodsInventoryList(erpGoodsInventory);
ExcelUtil<ErpGoodsInventory> util = new ExcelUtil<ErpGoodsInventory>(ErpGoodsInventory.class);
util.exportExcel(response, list, "商品库存数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:goodsInventory:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(erpGoodsInventoryService.selectErpGoodsInventoryById(id));
}
// /**
// * 新增商品库存
// */
// @PreAuthorize("@ss.hasPermi('api:goodsInventory:add')")
// @Log(title = "商品库存", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody ErpGoodsInventory erpGoodsInventory)
// {
// return toAjax(erpGoodsInventoryService.insertErpGoodsInventory(erpGoodsInventory));
// }
//
// /**
// * 修改商品库存
// */
// @PreAuthorize("@ss.hasPermi('api:goodsInventory:edit')")
// @Log(title = "商品库存", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody ErpGoodsInventory erpGoodsInventory)
// {
// return toAjax(erpGoodsInventoryService.updateErpGoodsInventory(erpGoodsInventory));
// }
// /**
// * 删除商品库存
// */
// @PreAuthorize("@ss.hasPermi('api:goodsInventory:remove')")
// @Log(title = "商品库存", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(erpGoodsInventoryService.deleteErpGoodsInventoryByIds(ids));
// }
}

@ -0,0 +1,105 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import cn.qihangerp.domain.ErpOrder;
import cn.qihangerp.api.service.IErpOrderService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-31
*/
@RestController
@RequestMapping("/api/order")
public class ErpOrderController extends BaseController
{
@Autowired
private IErpOrderService orderService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:order:list')")
@GetMapping("/list")
public TableDataInfo list(ErpOrder order)
{
startPage();
List<ErpOrder> list = orderService.selectErpOrderList(order);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:order:export')")
@Log(title = "店铺订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ErpOrder order)
{
List<ErpOrder> list = orderService.selectErpOrderList(order);
ExcelUtil<ErpOrder> util = new ExcelUtil<ErpOrder>(ErpOrder.class);
util.exportExcel(response, list, "店铺订单数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:order:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(orderService.selectErpOrderById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:order:add')")
@Log(title = "店铺订单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ErpOrder order)
{
if(order.getGoodsAmount()==null)return new AjaxResult(1503,"请填写商品价格!");
order.setCreateBy(getUsername());
int result = orderService.insertErpOrder(order);
if(result == -1) return new AjaxResult(501,"订单号已存在!");
if(result == -2) return new AjaxResult(502,"请添加订单商品!");
if(result == -3) return new AjaxResult(503,"请选择订单商品规格!");
return toAjax(result);
}
/**
* (erpShipOrder)
* @param order
* @return
*/
// @Log(title = "店铺订单", businessType = BusinessType.UPDATE)
// @PostMapping("/ship")
// public AjaxResult ship(@RequestBody ErpOrder order)
// {
// order.setUpdateBy(getUsername());
// int result = orderService.shipErpOrder(order);
// if(result == -1) return new AjaxResult(501,"订单不存在!");
// else if(result == -2) return new AjaxResult(502,"订单状态不对!无法发货!");
// else if(result == -3) return new AjaxResult(502,"订单发货状态不对!无法发货!");
// return toAjax(result);
// }
}

@ -0,0 +1,26 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.api.domain.bo.RefundBo;
import cn.qihangerp.api.service.ErpSaleAfterRefundService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.core.page.TableDataInfo;
import cn.qihangerp.domain.ErpSaleAfterRefund;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.IOException;
@AllArgsConstructor
@RestController
@RequestMapping("/api/refund")
public class ErpOrderRefundController extends BaseController {
private final ErpSaleAfterRefundService refundService;
@GetMapping("/list")
public TableDataInfo list(RefundBo bo, PageQuery pageQuery) throws IOException, InterruptedException {
PageResult<ErpSaleAfterRefund> result = refundService.queryPageList(bo, pageQuery);
return getDataTable(result);
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ErpShipLogistics;
import cn.qihangerp.api.service.ErpShipLogisticsService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2024-01-12
*/
@RestController
@RequestMapping("/api/logistics")
public class ErpShipLogisticsController extends BaseController
{
@Autowired
private ErpShipLogisticsService bLogisticsCompanyService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:logistics:list')")
@GetMapping("/list")
public TableDataInfo list(ErpShipLogistics bLogisticsCompany)
{
startPage();
List<ErpShipLogistics> list = bLogisticsCompanyService.selectBLogisticsCompanyList(bLogisticsCompany);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:logistics:export')")
@Log(title = "物流公司", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ErpShipLogistics bLogisticsCompany)
{
List<ErpShipLogistics> list = bLogisticsCompanyService.selectBLogisticsCompanyList(bLogisticsCompany);
ExcelUtil<ErpShipLogistics> util = new ExcelUtil<ErpShipLogistics>(ErpShipLogistics.class);
util.exportExcel(response, list, "物流公司数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:logistics:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(bLogisticsCompanyService.selectBLogisticsCompanyById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:logistics:add')")
@Log(title = "物流公司", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ErpShipLogistics bLogisticsCompany)
{
return toAjax(bLogisticsCompanyService.insertBLogisticsCompany(bLogisticsCompany));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:logistics:edit')")
@Log(title = "物流公司", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ErpShipLogistics bLogisticsCompany)
{
return toAjax(bLogisticsCompanyService.updateBLogisticsCompany(bLogisticsCompany));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:logistics:remove')")
@Log(title = "物流公司", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(bLogisticsCompanyService.deleteBLogisticsCompanyByIds(ids));
}
}

@ -0,0 +1,104 @@
//package cn.qihangerp.api.controller;
//
//import java.util.List;
//import javax.servlet.http.HttpServletResponse;
//import org.springframework.security.access.prepost.PreAuthorize;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.PutMapping;
//import org.springframework.web.bind.annotation.DeleteMapping;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import com.qihang.common.annotation.Log;
//import com.qihang.core.controller.BaseController;
//import com.qihang.core.domain.AjaxResult;
//import com.qihang.common.enums.BusinessType;
//import cn.qihangerp.api.domain.FmsInventoryReport;
//import cn.qihangerp.api.service.IFmsInventoryReportService;
//import com.qihang.common.utils.poi.ExcelUtil;
//import com.qihang.core.page.TableDataInfo;
//
///**
// * 库存存货报Controller
// *
// * @author qihang
// * @date 2024-01-28
// */
//@RestController
//@RequestMapping("/fms/inventoryReport")
//public class FmsInventoryReportController extends BaseController
//{
// @Autowired
// private IFmsInventoryReportService fmsInventoryReportService;
//
// /**
// * 查询库存存货报列表
// */
// @PreAuthorize("@ss.hasPermi('fms:inventoryReport:list')")
// @GetMapping("/list")
// public TableDataInfo list(FmsInventoryReport fmsInventoryReport)
// {
// startPage();
// List<FmsInventoryReport> list = fmsInventoryReportService.selectFmsInventoryReportList(fmsInventoryReport);
// return getDataTable(list);
// }
//
// /**
// * 导出库存存货报列表
// */
// @PreAuthorize("@ss.hasPermi('fms:inventoryReport:export')")
// @Log(title = "库存存货报", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, FmsInventoryReport fmsInventoryReport)
// {
// List<FmsInventoryReport> list = fmsInventoryReportService.selectFmsInventoryReportList(fmsInventoryReport);
// ExcelUtil<FmsInventoryReport> util = new ExcelUtil<FmsInventoryReport>(FmsInventoryReport.class);
// util.exportExcel(response, list, "库存存货报数据");
// }
//
// /**
// * 获取库存存货报详细信息
// */
// @PreAuthorize("@ss.hasPermi('fms:inventoryReport:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(fmsInventoryReportService.selectFmsInventoryReportById(id));
// }
//
// /**
// * 新增库存存货报
// */
// @PreAuthorize("@ss.hasPermi('fms:inventoryReport:add')")
// @Log(title = "库存存货报", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody FmsInventoryReport fmsInventoryReport)
// {
// return toAjax(fmsInventoryReportService.insertFmsInventoryReport(fmsInventoryReport));
// }
//
// /**
// * 修改库存存货报
// */
// @PreAuthorize("@ss.hasPermi('fms:inventoryReport:edit')")
// @Log(title = "库存存货报", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody FmsInventoryReport fmsInventoryReport)
// {
// return toAjax(fmsInventoryReportService.updateFmsInventoryReport(fmsInventoryReport));
// }
//
// /**
// * 删除库存存货报
// */
// @PreAuthorize("@ss.hasPermi('fms:inventoryReport:remove')")
// @Log(title = "库存存货报", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(fmsInventoryReportService.deleteFmsInventoryReportByIds(ids));
// }
//}

@ -0,0 +1,103 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ScmPurchaseOrderPayable;
import cn.qihangerp.api.service.IScmPurchaseOrderPayableService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* --Controller
*
* @author qihang
* @date 2024-01-28
*/
@RestController
@RequestMapping("/fms/payablePurchase")
public class FmsPayablePurchaseController extends BaseController
{
@Autowired
private IScmPurchaseOrderPayableService fmsPayablePurchaseService;
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:payablePurchase:list')")
@GetMapping("/list")
public TableDataInfo list(ScmPurchaseOrderPayable fmsPayablePurchase)
{
startPage();
List<ScmPurchaseOrderPayable> list = fmsPayablePurchaseService.selectFmsPayablePurchaseList(fmsPayablePurchase);
return getDataTable(list);
}
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:payablePurchase:export')")
@Log(title = "财务管理-应付款-采购货款", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ScmPurchaseOrderPayable fmsPayablePurchase)
{
List<ScmPurchaseOrderPayable> list = fmsPayablePurchaseService.selectFmsPayablePurchaseList(fmsPayablePurchase);
ExcelUtil<ScmPurchaseOrderPayable> util = new ExcelUtil<ScmPurchaseOrderPayable>(ScmPurchaseOrderPayable.class);
util.exportExcel(response, list, "财务管理-应付款-采购货款数据");
}
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:payablePurchase:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(fmsPayablePurchaseService.selectFmsPayablePurchaseById(id));
}
/**
* --
*/
// @PreAuthorize("@ss.hasPermi('fms:payablePurchase:add')")
// @Log(title = "财务管理-应付款-采购货款", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody FmsPayablePurchase fmsPayablePurchase)
// {
// return toAjax(fmsPayablePurchaseService.insertFmsPayablePurchase(fmsPayablePurchase));
// }
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:payablePurchase:edit')")
@Log(title = "财务管理-应付款-采购货款", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ScmPurchaseOrderPayable fmsPayablePurchase)
{
return toAjax(fmsPayablePurchaseService.updateFmsPayablePurchase(fmsPayablePurchase));
}
/**
* --
*/
// @PreAuthorize("@ss.hasPermi('fms:payablePurchase:remove')")
// @Log(title = "财务管理-应付款-采购货款", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(fmsPayablePurchaseService.deleteFmsPayablePurchaseByIds(ids));
// }
}

@ -0,0 +1,104 @@
//package cn.qihangerp.api.controller;
//
//import java.util.List;
//import javax.servlet.http.HttpServletResponse;
//import org.springframework.security.access.prepost.PreAuthorize;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.PutMapping;
//import org.springframework.web.bind.annotation.DeleteMapping;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import com.qihang.common.annotation.Log;
//import com.qihang.core.controller.BaseController;
//import com.qihang.core.domain.AjaxResult;
//import com.qihang.common.enums.BusinessType;
//import cn.qihangerp.api.domain.FmsReceivableOrder;
//import cn.qihangerp.api.service.IFmsReceivableOrderService;
//import com.qihang.common.utils.poi.ExcelUtil;
//import com.qihang.core.page.TableDataInfo;
//
///**
// * 财务管理-应收款-订单收入Controller
// *
// * @author qihang
// * @date 2024-01-28
// */
//@RestController
//@RequestMapping("/fms/receivableOrder")
//public class FmsReceivableOrderController extends BaseController
//{
// @Autowired
// private IFmsReceivableOrderService fmsReceivableOrderService;
//
// /**
// * 查询财务管理-应收款-订单收入列表
// */
// @PreAuthorize("@ss.hasPermi('fms:receivableOrder:list')")
// @GetMapping("/list")
// public TableDataInfo list(FmsReceivableOrder fmsReceivableOrder)
// {
// startPage();
// List<FmsReceivableOrder> list = fmsReceivableOrderService.selectFmsReceivableOrderList(fmsReceivableOrder);
// return getDataTable(list);
// }
//
// /**
// * 导出财务管理-应收款-订单收入列表
// */
// @PreAuthorize("@ss.hasPermi('fms:receivableOrder:export')")
// @Log(title = "财务管理-应收款-订单收入", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, FmsReceivableOrder fmsReceivableOrder)
// {
// List<FmsReceivableOrder> list = fmsReceivableOrderService.selectFmsReceivableOrderList(fmsReceivableOrder);
// ExcelUtil<FmsReceivableOrder> util = new ExcelUtil<FmsReceivableOrder>(FmsReceivableOrder.class);
// util.exportExcel(response, list, "财务管理-应收款-订单收入数据");
// }
//
// /**
// * 获取财务管理-应收款-订单收入详细信息
// */
// @PreAuthorize("@ss.hasPermi('fms:receivableOrder:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(fmsReceivableOrderService.selectFmsReceivableOrderById(id));
// }
//
// /**
// * 新增财务管理-应收款-订单收入
// */
// @PreAuthorize("@ss.hasPermi('fms:receivableOrder:add')")
// @Log(title = "财务管理-应收款-订单收入", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody FmsReceivableOrder fmsReceivableOrder)
// {
// return toAjax(fmsReceivableOrderService.insertFmsReceivableOrder(fmsReceivableOrder));
// }
//
// /**
// * 修改财务管理-应收款-订单收入
// */
// @PreAuthorize("@ss.hasPermi('fms:receivableOrder:edit')")
// @Log(title = "财务管理-应收款-订单收入", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody FmsReceivableOrder fmsReceivableOrder)
// {
// return toAjax(fmsReceivableOrderService.updateFmsReceivableOrder(fmsReceivableOrder));
// }
//
// /**
// * 删除财务管理-应收款-订单收入
// */
// @PreAuthorize("@ss.hasPermi('fms:receivableOrder:remove')")
// @Log(title = "财务管理-应收款-订单收入", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(fmsReceivableOrderService.deleteFmsReceivableOrderByIds(ids));
// }
//}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.GoodsAttributeConfig;
import cn.qihangerp.api.service.IGoodsAttributeConfigService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/goodsAttributeConfig")
public class GoodsAttributeConfigController extends BaseController
{
@Autowired
private IGoodsAttributeConfigService goodsAttributeConfigService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttributeConfig:list')")
@GetMapping("/list")
public TableDataInfo list(GoodsAttributeConfig goodsAttributeConfig)
{
startPage();
List<GoodsAttributeConfig> list = goodsAttributeConfigService.selectGoodsAttributeConfigList(goodsAttributeConfig);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttributeConfig:export')")
@Log(title = "商品属性配置", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, GoodsAttributeConfig goodsAttributeConfig)
{
List<GoodsAttributeConfig> list = goodsAttributeConfigService.selectGoodsAttributeConfigList(goodsAttributeConfig);
ExcelUtil<GoodsAttributeConfig> util = new ExcelUtil<GoodsAttributeConfig>(GoodsAttributeConfig.class);
util.exportExcel(response, list, "商品属性配置数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttributeConfig:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(goodsAttributeConfigService.selectGoodsAttributeConfigById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttributeConfig:add')")
@Log(title = "商品属性配置", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody GoodsAttributeConfig goodsAttributeConfig)
{
return toAjax(goodsAttributeConfigService.insertGoodsAttributeConfig(goodsAttributeConfig));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttributeConfig:edit')")
@Log(title = "商品属性配置", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody GoodsAttributeConfig goodsAttributeConfig)
{
return toAjax(goodsAttributeConfigService.updateGoodsAttributeConfig(goodsAttributeConfig));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttributeConfig:remove')")
@Log(title = "商品属性配置", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(goodsAttributeConfigService.deleteGoodsAttributeConfigByIds(ids));
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.GoodsAttribute;
import cn.qihangerp.api.service.IGoodsAttributeService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/goodsAttribute")
public class GoodsAttributeController extends BaseController
{
@Autowired
private IGoodsAttributeService goodsAttributeService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttribute:list')")
@GetMapping("/list")
public TableDataInfo list(GoodsAttribute goodsAttribute)
{
startPage();
List<GoodsAttribute> list = goodsAttributeService.selectGoodsAttributeList(goodsAttribute);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttribute:export')")
@Log(title = "商品属性", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, GoodsAttribute goodsAttribute)
{
List<GoodsAttribute> list = goodsAttributeService.selectGoodsAttributeList(goodsAttribute);
ExcelUtil<GoodsAttribute> util = new ExcelUtil<GoodsAttribute>(GoodsAttribute.class);
util.exportExcel(response, list, "商品属性数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttribute:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(goodsAttributeService.selectGoodsAttributeById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttribute:add')")
@Log(title = "商品属性", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody GoodsAttribute goodsAttribute)
{
return toAjax(goodsAttributeService.insertGoodsAttribute(goodsAttribute));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttribute:edit')")
@Log(title = "商品属性", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody GoodsAttribute goodsAttribute)
{
return toAjax(goodsAttributeService.updateGoodsAttribute(goodsAttribute));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsAttribute:remove')")
@Log(title = "商品属性", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(goodsAttributeService.deleteGoodsAttributeByIds(ids));
}
}

@ -0,0 +1,120 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import cn.qihangerp.api.domain.vo.GoodsSpecListVo;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.Goods;
import cn.qihangerp.api.service.IGoodsService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/goods")
public class GoodsController extends BaseController
{
@Autowired
private IGoodsService goodsService;
/**
* SKU
* SKU
*/
@GetMapping("/searchSku")
public TableDataInfo searchSkuBy(String keyword)
{
startPage();
List<GoodsSpecListVo> list = goodsService.searchGoodsSpec(keyword);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goods:list')")
@GetMapping("/list")
public TableDataInfo list(Goods goods)
{
startPage();
List<Goods> list = goodsService.selectGoodsList(goods);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goods:export')")
@Log(title = "商品管理", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, Goods goods)
{
List<Goods> list = goodsService.selectGoodsList(goods);
ExcelUtil<Goods> util = new ExcelUtil<Goods>(Goods.class);
util.exportExcel(response, list, "商品管理数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goods:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(goodsService.selectGoodsById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goods:add')")
@Log(title = "商品管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody Goods goods)
{
goods.setCreateBy(getUsername());
int result = goodsService.insertGoods(goods);
if(result == -1) new AjaxResult(501,"商品编码已存在");
return toAjax(1);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goods:edit')")
@Log(title = "商品管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody Goods goods)
{
return toAjax(goodsService.updateGoods(goods));
}
// /**
// * 删除商品管理
// */
// @PreAuthorize("@ss.hasPermi('goods:goods:remove')")
// @Log(title = "商品管理", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(goodsService.deleteGoodsByIds(ids));
// }
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.GoodsImg;
import cn.qihangerp.api.service.IGoodsImgService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/goodsImg")
public class GoodsImgController extends BaseController
{
@Autowired
private IGoodsImgService goodsImgService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsImg:list')")
@GetMapping("/list")
public TableDataInfo list(GoodsImg goodsImg)
{
startPage();
List<GoodsImg> list = goodsImgService.selectGoodsImgList(goodsImg);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsImg:export')")
@Log(title = "商品图片", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, GoodsImg goodsImg)
{
List<GoodsImg> list = goodsImgService.selectGoodsImgList(goodsImg);
ExcelUtil<GoodsImg> util = new ExcelUtil<GoodsImg>(GoodsImg.class);
util.exportExcel(response, list, "商品图片数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsImg:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(goodsImgService.selectGoodsImgById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsImg:add')")
@Log(title = "商品图片", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody GoodsImg goodsImg)
{
return toAjax(goodsImgService.insertGoodsImg(goodsImg));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsImg:edit')")
@Log(title = "商品图片", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody GoodsImg goodsImg)
{
return toAjax(goodsImgService.updateGoodsImg(goodsImg));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsImg:remove')")
@Log(title = "商品图片", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(goodsImgService.deleteGoodsImgByIds(ids));
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.GoodsSpecAttr;
import cn.qihangerp.api.service.IGoodsSpecAttrService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/goodsSpecAttr")
public class GoodsSpecAttrController extends BaseController
{
@Autowired
private IGoodsSpecAttrService goodsSpecAttrService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpecAttr:list')")
@GetMapping("/list")
public TableDataInfo list(GoodsSpecAttr goodsSpecAttr)
{
startPage();
List<GoodsSpecAttr> list = goodsSpecAttrService.selectGoodsSpecAttrList(goodsSpecAttr);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpecAttr:export')")
@Log(title = "商品规格属性", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, GoodsSpecAttr goodsSpecAttr)
{
List<GoodsSpecAttr> list = goodsSpecAttrService.selectGoodsSpecAttrList(goodsSpecAttr);
ExcelUtil<GoodsSpecAttr> util = new ExcelUtil<GoodsSpecAttr>(GoodsSpecAttr.class);
util.exportExcel(response, list, "商品规格属性数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpecAttr:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(goodsSpecAttrService.selectGoodsSpecAttrById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpecAttr:add')")
@Log(title = "商品规格属性", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody GoodsSpecAttr goodsSpecAttr)
{
return toAjax(goodsSpecAttrService.insertGoodsSpecAttr(goodsSpecAttr));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpecAttr:edit')")
@Log(title = "商品规格属性", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody GoodsSpecAttr goodsSpecAttr)
{
return toAjax(goodsSpecAttrService.updateGoodsSpecAttr(goodsSpecAttr));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpecAttr:remove')")
@Log(title = "商品规格属性", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(goodsSpecAttrService.deleteGoodsSpecAttrByIds(ids));
}
}

@ -0,0 +1,101 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.GoodsSpec;
import cn.qihangerp.api.service.IGoodsSpecService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/goods/goodsSpec")
public class GoodsSpecController extends BaseController
{
@Autowired
private IGoodsSpecService goodsSpecService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpec:list')")
@GetMapping("/list")
public TableDataInfo list(GoodsSpec goodsSpec)
{
startPage();
List<GoodsSpec> list = goodsSpecService.selectGoodsSpecList(goodsSpec);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpec:export')")
@Log(title = "商品规格", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, GoodsSpec goodsSpec)
{
List<GoodsSpec> list = goodsSpecService.selectGoodsSpecList(goodsSpec);
ExcelUtil<GoodsSpec> util = new ExcelUtil<GoodsSpec>(GoodsSpec.class);
util.exportExcel(response, list, "商品规格数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('goods:goodsSpec:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(goodsSpecService.selectGoodsSpecById(id));
}
// /**
// * 新增商品规格
// */
// @PreAuthorize("@ss.hasPermi('goods:goodsSpec:add')")
// @Log(title = "商品规格", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody GoodsSpec goodsSpec)
// {
// return toAjax(goodsSpecService.insertGoodsSpec(goodsSpec));
// }
//
// /**
// * 修改商品规格
// */
// @PreAuthorize("@ss.hasPermi('goods:goodsSpec:edit')")
// @Log(title = "商品规格", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody GoodsSpec goodsSpec)
// {
// return toAjax(goodsSpecService.updateGoodsSpec(goodsSpec));
// }
//
// /**
// * 删除商品规格
// */
// @PreAuthorize("@ss.hasPermi('goods:goodsSpec:remove')")
// @Log(title = "商品规格", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(goodsSpecService.deleteGoodsSpecByIds(ids));
// }
}

@ -0,0 +1,29 @@
package cn.qihangerp.api.controller;
//import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HomeController {
// @Autowired
// private MySpiderController spiderController;
// @GetMapping("/test/22")
// public String home(){
// spiderController.startSpider();
// return "hello world";
// }
@Value(value = "${zhijian.name:1}")
private String serverName;
@GetMapping(value = "/test/na")
public String get() {
return serverName;
}
}

@ -0,0 +1,63 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.api.req.KeyWordListReq;
import cn.qihangerp.common.ApiResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import cn.qihangerp.api.domain.Keyword;
import cn.qihangerp.api.service.IKeywordService;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.common.annotation.RepeatSubmit;
import cn.qihangerp.common.enums.BusinessType;
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/keyword")
public class KeywordController {
private final IKeywordService keywordService;
public KeywordController(IKeywordService keywordService) {
this.keywordService = keywordService;
}
@GetMapping("/list")
public Page<Keyword> list(KeyWordListReq req){
System.out.println(req);
Page<Keyword> listAll = keywordService.getPageList(req);
System.out.println(listAll);
return listAll;
}
@Log(title="市场洞察-热搜词",businessType = BusinessType.INSERT)
@RepeatSubmit
@PostMapping("/save")
public ApiResult<String> save(@RequestBody Keyword keyword){
System.out.println(keyword);
if(keyword.getCreateTime() == null){
keyword.setCreateTime(null);
}
// if(StringUtils.isNotEmpty(keyword.getDate()) && keyword.getDate().length()>10){
// keyword.setDate(keyword.getDate().substring(0,10));
// }
keywordService.add(keyword);
return ApiResult.ok();
}
@DeleteMapping("/del/{id}")
public ApiResult<String> del(@PathVariable ("id") String id){
System.out.println(id);
keywordService.delById(id);
return ApiResult.ok();
}
@PutMapping("/edit")
public ApiResult<String> edit(@RequestBody Keyword keyword)
{
// if(StringUtils.isNotEmpty(keyword.getDate()) && keyword.getDate().length()>10){
// keyword.setDate(keyword.getDate().substring(0,10));
// }
System.out.println(keyword);
keywordService.editById(keyword);
return ApiResult.ok();
}
}

@ -0,0 +1,30 @@
//package cn.qihangerp.api.controller;
//
//
//import lombok.extern.java.Log;
//import us.codecraft.webmagic.Page;
//import us.codecraft.webmagic.Site;
//import us.codecraft.webmagic.processor.PageProcessor;
//import us.codecraft.webmagic.selector.Selectable;
//
//@Log
//public class MyPageProcessor implements PageProcessor {
// private Site site = Site.me().setRetryTimes(3).setSleepTime(1000);
// @Override
// public void process(Page page) {
// String url = page.getUrl().toString();
// log.info("开始抓取网页内容"+url);
// // 处理抓取到的网页内容的逻辑
//
//// Selectable xpath = page.getHtml().xpath("//td/text()");
// Selectable xpath = page.getHtml().xpath("//div[@class='hotword-container']/a/text()");
// System.out.println(xpath);
// log.info("完成");
// }
//
// @Override
// public Site getSite() {
//// return PageProcessor.super.getSite();
// return site;
// }
//}

@ -0,0 +1,116 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import cn.qihangerp.api.domain.bo.PurchaseOrderAddBo;
import cn.qihangerp.api.domain.bo.PurchaseOrderOptionBo;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ScmPurchaseOrder;
import cn.qihangerp.api.service.IScmPurchaseOrderService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/purchase/purchaseOrder")
public class ScmPurchaseOrderController extends BaseController
{
@Autowired
private IScmPurchaseOrderService scmPurchaseOrderService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrder:list')")
@GetMapping("/list")
public TableDataInfo list(ScmPurchaseOrder scmPurchaseOrder)
{
startPage();
List<ScmPurchaseOrder> list = scmPurchaseOrderService.selectScmPurchaseOrderList(scmPurchaseOrder);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrder:export')")
@Log(title = "采购订单", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ScmPurchaseOrder scmPurchaseOrder)
{
List<ScmPurchaseOrder> list = scmPurchaseOrderService.selectScmPurchaseOrderList(scmPurchaseOrder);
ExcelUtil<ScmPurchaseOrder> util = new ExcelUtil<ScmPurchaseOrder>(ScmPurchaseOrder.class);
util.exportExcel(response, list, "采购订单数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrder:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
ScmPurchaseOrder order = scmPurchaseOrderService.selectScmPurchaseOrderById(id);
return success(order);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrder:add')")
@Log(title = "采购订单", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody PurchaseOrderAddBo addBo)
{
addBo.setCreateBy(getUsername());
return toAjax(scmPurchaseOrderService.insertScmPurchaseOrder(addBo));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrder:edit')")
@Log(title = "采购订单", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody PurchaseOrderOptionBo scmPurchaseOrder)
{
scmPurchaseOrder.setUpdateBy(getUsername());
int result = scmPurchaseOrderService.updateScmPurchaseOrder(scmPurchaseOrder);
if(result == -1){
return new AjaxResult(0,"状态不正确");
}else{
return toAjax(result);
}
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrder:remove')")
@Log(title = "采购订单", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(scmPurchaseOrderService.deleteScmPurchaseOrderByIds(ids));
}
}

@ -0,0 +1,86 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ScmPurchaseOrderCost;
import cn.qihangerp.api.service.IScmPurchaseOrderCostService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-30
*/
@RestController
@RequestMapping("/purchase/purchaseOrderCost")
public class ScmPurchaseOrderCostController extends BaseController
{
@Autowired
private IScmPurchaseOrderCostService scmPurchaseOrderCostService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrderCost:list')")
@GetMapping("/list")
public TableDataInfo list(ScmPurchaseOrderCost scmPurchaseOrderCost)
{
startPage();
List<ScmPurchaseOrderCost> list = scmPurchaseOrderCostService.selectScmPurchaseOrderCostList(scmPurchaseOrderCost);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrderCost:export')")
@Log(title = "采购订单费用确认", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ScmPurchaseOrderCost scmPurchaseOrderCost)
{
List<ScmPurchaseOrderCost> list = scmPurchaseOrderCostService.selectScmPurchaseOrderCostList(scmPurchaseOrderCost);
ExcelUtil<ScmPurchaseOrderCost> util = new ExcelUtil<ScmPurchaseOrderCost>(ScmPurchaseOrderCost.class);
util.exportExcel(response, list, "采购订单费用确认数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrderCost:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(scmPurchaseOrderCostService.selectScmPurchaseOrderCostById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrderCost:edit')")
@Log(title = "采购订单费用确认", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ScmPurchaseOrderCost scmPurchaseOrderCost)
{
scmPurchaseOrderCost.setUpdateBy(getUsername());
return toAjax(scmPurchaseOrderCostService.updateScmPurchaseOrderCost(scmPurchaseOrderCost));
}
}

@ -0,0 +1,41 @@
package cn.qihangerp.api.controller;
import java.util.List;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.api.domain.ScmPurchaseOrderItem;
import cn.qihangerp.api.service.IScmPurchaseOrderItemService;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/purchase/purchaseOrderItem")
public class ScmPurchaseOrderItemController extends BaseController
{
@Autowired
private IScmPurchaseOrderItemService scmPurchaseOrderItemService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:purchaseOrderItem:list')")
@GetMapping("/list")
public TableDataInfo list(ScmPurchaseOrderItem scmPurchaseOrderItem)
{
startPage();
List<ScmPurchaseOrderItem> list = scmPurchaseOrderItemService.selectScmPurchaseOrderItemList(scmPurchaseOrderItem);
return getDataTable(list);
}
}

@ -0,0 +1,103 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import cn.qihangerp.api.domain.bo.PurchaseOrderStockInBo;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ScmPurchaseOrderShip;
import cn.qihangerp.api.service.IScmPurchaseOrderShipService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-30
*/
@RestController
@RequestMapping("/purchase/PurchaseOrderShip")
public class ScmPurchaseOrderShipController extends BaseController
{
@Autowired
private IScmPurchaseOrderShipService scmPurchaseOrderShipService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:PurchaseOrderShip:list')")
@GetMapping("/list")
public TableDataInfo list(ScmPurchaseOrderShip scmPurchaseOrderShip)
{
startPage();
List<ScmPurchaseOrderShip> list = scmPurchaseOrderShipService.selectScmPurchaseOrderShipList(scmPurchaseOrderShip);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:PurchaseOrderShip:export')")
@Log(title = "采购订单物流", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ScmPurchaseOrderShip scmPurchaseOrderShip)
{
List<ScmPurchaseOrderShip> list = scmPurchaseOrderShipService.selectScmPurchaseOrderShipList(scmPurchaseOrderShip);
ExcelUtil<ScmPurchaseOrderShip> util = new ExcelUtil<ScmPurchaseOrderShip>(ScmPurchaseOrderShip.class);
util.exportExcel(response, list, "采购订单物流数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:PurchaseOrderShip:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(scmPurchaseOrderShipService.selectScmPurchaseOrderShipById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('purchase:PurchaseOrderShip:edit')")
@Log(title = "采购订单物流", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult confirmReceipt(@RequestBody ScmPurchaseOrderShip scmPurchaseOrderShip)
{
scmPurchaseOrderShip.setUpdateBy(getUsername());
return toAjax(scmPurchaseOrderShipService.updateScmPurchaseOrderShip(scmPurchaseOrderShip));
}
@Log(title = "采购订单物流", businessType = BusinessType.UPDATE)
@PostMapping("/createStockInEntry")
public AjaxResult createStockInEntry(@RequestBody PurchaseOrderStockInBo bo)
{
bo.setCreateBy(getUsername());
int result = scmPurchaseOrderShipService.createStockInEntry(bo);
if(result == -1) return new AjaxResult(404,"采购物流不存在");
else if (result == -2) return new AjaxResult(501,"未确认收货不允许操作");
else if (result == -3) {
return new AjaxResult(502,"已处理过了请勿重复操作");
} else if (result == -4) {
return new AjaxResult(503,"状态不正确不能操作");
} else if (result == 1) {
return toAjax(1);
}else return toAjax(result);
}
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ScmSupplier;
import cn.qihangerp.api.service.IScmSupplierService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-29
*/
@RestController
@RequestMapping("/scm/supplier")
public class ScmSupplierController extends BaseController
{
@Autowired
private IScmSupplierService scmSupplierService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('scm:supplier:list')")
@GetMapping("/list")
public TableDataInfo list(ScmSupplier scmSupplier)
{
startPage();
List<ScmSupplier> list = scmSupplierService.selectScmSupplierList(scmSupplier);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:supplier:export')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ScmSupplier scmSupplier)
{
List<ScmSupplier> list = scmSupplierService.selectScmSupplierList(scmSupplier);
ExcelUtil<ScmSupplier> util = new ExcelUtil<ScmSupplier>(ScmSupplier.class);
util.exportExcel(response, list, "【请填写功能名称】数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:supplier:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(scmSupplierService.selectScmSupplierById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:supplier:add')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ScmSupplier scmSupplier)
{
return toAjax(scmSupplierService.insertScmSupplier(scmSupplier));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:supplier:edit')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ScmSupplier scmSupplier)
{
return toAjax(scmSupplierService.updateScmSupplier(scmSupplier));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('api:supplier:remove')")
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(scmSupplierService.deleteScmSupplierByIds(ids));
}
}

@ -0,0 +1,61 @@
package cn.qihangerp.api.controller;
import java.util.List;
import cn.qihangerp.api.domain.ErpShipOrderAgentFee;
import cn.qihangerp.api.service.ErpShipOrderAgentFeeService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* --Controller
*
* @author qihang
* @date 2024-01-28
*/
@RestController
@RequestMapping("/fms/agentShip")
public class ShipOrderAgentFeeController extends BaseController
{
@Autowired
private ErpShipOrderAgentFeeService agentFeeService;
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:agentShip:list')")
@GetMapping("/list")
public TableDataInfo list(ErpShipOrderAgentFee bo, PageQuery pageQuery)
{
PageResult<ErpShipOrderAgentFee> pageResult = agentFeeService.queryPageList(bo, pageQuery);
return getDataTable(pageResult);
}
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:agentShip:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(agentFeeService.getById(id));
}
}

@ -0,0 +1,91 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.api.domain.ErpShipOrder;
import cn.qihangerp.api.domain.bo.ShipOrderSupplierShipBo;
import cn.qihangerp.api.domain.bo.StockOutEntryGenerateBo;
import cn.qihangerp.api.mapper.ErpShipOrderMapper;
import cn.qihangerp.api.service.ErpShipOrderService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.enums.ErpOrderStatusEnum;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.core.page.TableDataInfo;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.domain.ErpOrderItem;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@AllArgsConstructor
@RestController
@RequestMapping("/shipping")
public class ShipOrderController extends BaseController {
private final ErpShipOrderService shipOrderService;
/**
* -
* @param bo
* @param pageQuery
* @return
*/
@GetMapping("/ship_order")
public TableDataInfo stockShipList(ErpShipOrder bo, PageQuery pageQuery)
{
PageResult<ErpShipOrder> list = shipOrderService.queryPageList(bo, pageQuery);
return getDataTable(list);
}
/**
* itemList
* @param id
* @return
*/
@GetMapping("/ship_order/{id}")
public TableDataInfo stockShipInfo(@PathVariable("id") Long id)
{
List<ErpShipOrder> list = shipOrderService.queryOrderListById(id);
return getDataTable(list);
}
/**
*
* @param bo
* @return
*/
@PostMapping("/ship_order/supplier_ship")
public AjaxResult supplierShip(@RequestBody ShipOrderSupplierShipBo bo)
{
int result = shipOrderService.supplierShip(bo);
if(result == -1) return AjaxResult.error("参数错误shipOrderId为空");
else if(result == -2) return AjaxResult.error("参数错误erpOrderId为空");
else if(result == -3) return AjaxResult.error("参数错误erpOrderId找不到数据");
else if(result == -1001) return AjaxResult.error("存在错误的shipOrderId找不到数据");
else if(result == -1002) return AjaxResult.error("存在错误的shipOrder数据不是供应商发货");
else if(result == -1003) return AjaxResult.error("存在错误的shipOrder数据发货状态不正确");
//wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry)
return toAjax(1);
}
/**
*
* @param bo
* @return
*/
@PostMapping("/ship_order/wms_ship")
public AjaxResult wmsShip(@RequestBody ShipOrderSupplierShipBo bo)
{
int result = shipOrderService.wmsShip(bo);
if(result == -1) return AjaxResult.error("参数错误shipOrderId为空");
else if(result == -2) return AjaxResult.error("参数错误erpOrderId为空");
else if(result == -3) return AjaxResult.error("参数错误erpOrderId找不到数据");
else if(result == -1001) return AjaxResult.error("存在错误的shipOrderId找不到数据");
else if(result == -1002) return AjaxResult.error("存在错误的shipOrder数据不是供应商发货");
else if(result == -1003) return AjaxResult.error("存在错误的shipOrder数据发货状态不正确");
//wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry)
return toAjax(1);
}
}

@ -0,0 +1,56 @@
package cn.qihangerp.api.controller;
import java.util.List;
import cn.qihangerp.api.domain.ErpShipOrderFee;
import cn.qihangerp.api.service.ErpShipOrderFeeService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.core.page.TableDataInfo;
/**
* --Controller
*
* @author qihang
* @date 2024-01-28
*/
@RestController
@RequestMapping("/fms/shipFee")
public class ShipOrderFeeController extends BaseController
{
@Autowired
private ErpShipOrderFeeService feeService;
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:shipFee:list')")
@GetMapping("/list")
public TableDataInfo list(ErpShipOrderFee bo, PageQuery pageQuery)
{
PageResult<ErpShipOrderFee> pageResult = feeService.queryPageList(bo, pageQuery);
return getDataTable(pageResult);
}
/**
* --
*/
@PreAuthorize("@ss.hasPermi('fms:shipFee:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(feeService.getById(id));
}
}

@ -0,0 +1,57 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.api.domain.WmsStockOutEntry;
import cn.qihangerp.api.domain.WmsStockOutEntryItem;
import cn.qihangerp.api.domain.bo.StockOutEntryGenerateBo;
import cn.qihangerp.api.service.ErpOrderItemService;
import cn.qihangerp.api.service.WmsStockOutEntryItemService;
import cn.qihangerp.api.service.WmsStockOutEntryService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.enums.ErpOrderStatusEnum;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.core.page.TableDataInfo;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.domain.ErpOrderItem;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@AllArgsConstructor
@RestController
@RequestMapping("/shipping")
public class ShipStockOutController extends BaseController {
private final ErpOrderItemService erpOrderItemService;
private final WmsStockOutEntryService stockOutEntryService;
private final WmsStockOutEntryItemService stockOutEntryItemService;
/**
* list
* @param bo
* @param pageQuery
* @return
*/
@GetMapping("/order_stock_out_entry_list")
public TableDataInfo stockOutEntryList(WmsStockOutEntry bo, PageQuery pageQuery)
{
bo.setStockOutType(1);
bo.setStatus(0);
PageResult<WmsStockOutEntry> list = stockOutEntryService.queryPageList(bo, pageQuery);
return getDataTable(list);
}
/**
* list
* @param bo
* @param pageQuery
* @return
*/
@GetMapping("/order_stock_out_entry_item_list")
public TableDataInfo stockOutEntryItemList(WmsStockOutEntryItem bo, PageQuery pageQuery)
{
bo.setStockOutType(1);
bo.setStatus(0);
PageResult<WmsStockOutEntryItem> list = stockOutEntryItemService.queryPageList(bo, pageQuery);
return getDataTable(list);
}
}

@ -0,0 +1,90 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.api.domain.bo.OrderItemSpecIdUpdateBo;
import cn.qihangerp.api.domain.bo.SupplierShipDistBo;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.common.PageResult;
import cn.qihangerp.common.enums.ErpOrderStatusEnum;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.core.page.TableDataInfo;
import cn.qihangerp.domain.ErpOrderItem;
import cn.qihangerp.api.domain.WmsStockOutEntry;
import cn.qihangerp.api.domain.WmsStockOutEntryItem;
import cn.qihangerp.api.domain.bo.StockOutEntryGenerateBo;
import cn.qihangerp.api.service.ErpOrderItemService;
import cn.qihangerp.api.service.WmsStockOutEntryItemService;
import cn.qihangerp.api.service.WmsStockOutEntryService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
@AllArgsConstructor
@RestController
@RequestMapping("/shipping")
public class ShippingController extends BaseController {
private final ErpOrderItemService erpOrderItemService;
private final WmsStockOutEntryService stockOutEntryService;
private final WmsStockOutEntryItemService stockOutEntryItemService;
/**
* -
* @param bo
* @param pageQuery
* @return
*/
@GetMapping("/stock_ship_list")
public TableDataInfo stockShipList(ErpOrderItem bo, PageQuery pageQuery)
{
PageResult<ErpOrderItem> list = erpOrderItemService.queryPageList(ErpOrderStatusEnum.WAIT_SELLER_SEND_GOODS,0,bo, pageQuery);
return getDataTable(list);
}
/**
*
*/
@PostMapping("/generate_stock_out_entry")
public AjaxResult generateStockOutEntry(@RequestBody StockOutEntryGenerateBo bo)
{
int result = stockOutEntryService.generateStockOutEntryForOrderItem(bo);
if(result == -1) return AjaxResult.error("参数错误orderItemIds为空");
if(result == -2) return AjaxResult.error("参数错误:没有要添加的");
else if(result == -1001) return AjaxResult.error("存在错误的orderItemId状态不对不能生成出库单");
else if(result == -1002) return AjaxResult.error("存在错误的订单数据名单明细中没有skuId请修改");
//wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry)
return toAjax(1);
}
@PostMapping("/supplier_ship_dist")
public AjaxResult SupplierShipDist(@RequestBody SupplierShipDistBo bo)
{
int result = erpOrderItemService.distributeSupplierShip(bo);
if(result == -1) return AjaxResult.error("参数错误orderItemIds为空");
if(result == -2) return AjaxResult.error("参数错误存在错误的orderItemId");
else if(result == -1001) return AjaxResult.error("存在错误的orderItemId状态不对不能分配发货");
else if(result == -1002) return AjaxResult.error("存在错误的订单数据名单明细中没有supplierId请修改");
return toAjax(1);
}
/**
* specId
* @param bo
* @return
*/
@PostMapping("/order_item_spec_id_update")
public AjaxResult orderItemSpecIdUpdate(@RequestBody OrderItemSpecIdUpdateBo bo)
{
if(bo.getOrderItemId()==null || bo.getOrderItemId() ==0) return AjaxResult.error("参数错误orderItemId为空");
if(bo.getErpGoodsSpecId()==null || bo.getErpGoodsSpecId() ==0) return AjaxResult.error("参数错误ErpGoodsSpecId为空");
int result = erpOrderItemService.orderItemSpecIdUpdate(bo);
if(result == -1) return AjaxResult.error("参数错误orderItemId错误");
else if(result == -2) return AjaxResult.error("参数错误找不到ErpGoodsSpec");
return toAjax(1);
}
}

@ -0,0 +1,130 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import cn.qihangerp.domain.ShopSetting;
import cn.qihangerp.api.service.IShopSettingService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.domain.Shop;
import cn.qihangerp.api.service.IShopService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-31
*/
@RestController
@RequestMapping("/shop/shop")
public class ShopController extends BaseController
{
@Autowired
private IShopService shopService;
@Autowired
private IShopSettingService shopSettingService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:shop:list')")
@GetMapping("/list")
public TableDataInfo list(Shop shop)
{
startPage();
List<Shop> list = shopService.selectShopList(shop);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:shop:export')")
@Log(title = "店铺", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, Shop shop)
{
List<Shop> list = shopService.selectShopList(shop);
ExcelUtil<Shop> util = new ExcelUtil<Shop>(Shop.class);
util.exportExcel(response, list, "店铺数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:shop:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(shopService.selectShopById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:shop:add')")
@Log(title = "店铺", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody Shop shop)
{
shop.setModifyOn(System.currentTimeMillis()/1000);
return toAjax(shopService.insertShop(shop));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:shop:edit')")
@Log(title = "店铺", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody Shop shop)
{
return toAjax(shopService.updateShop(shop));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:shop:remove')")
@Log(title = "店铺", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(shopService.deleteShopByIds(ids));
}
@GetMapping("/platformList")
public TableDataInfo platformList( ShopSetting bo)
{
List<ShopSetting> list = shopSettingService.selectShopSettingList(bo);
return getDataTable(list);
}
@GetMapping(value = "/platform/{id}")
public AjaxResult getPlatform(@PathVariable("id") Long id)
{
return success(shopSettingService.selectShopSettingById(id));
}
@PutMapping("/platform")
public AjaxResult edit(@RequestBody ShopSetting bo)
{
return toAjax(shopSettingService.updateShopSetting(bo));
}
}

@ -0,0 +1,107 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.ShopGoods;
import cn.qihangerp.api.service.IShopGoodsService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-31
*/
@RestController
@RequestMapping("/shop/goods")
public class ShopGoodsController extends BaseController
{
@Autowired
private IShopGoodsService shopGoodsService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:goods:list')")
@GetMapping("/list")
public TableDataInfo list(ShopGoods shopGoods)
{
startPage();
List<ShopGoods> list = shopGoodsService.selectShopGoodsList(shopGoods);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:goods:export')")
@Log(title = "店铺商品", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, ShopGoods shopGoods)
{
List<ShopGoods> list = shopGoodsService.selectShopGoodsList(shopGoods);
ExcelUtil<ShopGoods> util = new ExcelUtil<ShopGoods>(ShopGoods.class);
util.exportExcel(response, list, "店铺商品数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:goods:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(shopGoodsService.selectShopGoodsById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:goods:add')")
@Log(title = "店铺商品", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody ShopGoods shopGoods)
{
int result = shopGoodsService.insertShopGoods(shopGoods);
if(result==10020) return AjaxResult.error("缺少参数ShopId");
else if(result==10021) return AjaxResult.error("找不到店铺");
return toAjax(result);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:goods:edit')")
@Log(title = "店铺商品", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ShopGoods shopGoods)
{
return toAjax(shopGoodsService.updateShopGoods(shopGoods));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('shop:goods:remove')")
@Log(title = "店铺商品", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Long[] ids)
{
return toAjax(shopGoodsService.deleteShopGoodsByIds(ids));
}
}

@ -0,0 +1,26 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.core.page.TableDataInfo;
import cn.qihangerp.api.domain.SShopPullLogs;
import cn.qihangerp.api.service.SShopPullLogsService;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@AllArgsConstructor
@RestController
@RequestMapping("/shop")
public class ShopPullLogsController extends BaseController {
private final SShopPullLogsService pullLogsService;
@GetMapping("/pull_logs_list")
public TableDataInfo list(SShopPullLogs logs, PageQuery pageQuery)
{
var pageList = pullLogsService.queryPageList(logs,pageQuery);
return getDataTable(pageList);
}
}

@ -0,0 +1,112 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.api.service.WmsStockInEntryService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.WmsStockInEntry;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2023-12-31
*/
@RestController
@RequestMapping("/wms/WmsStockInEntry")
public class WmsStockInEntryController extends BaseController
{
@Autowired
private WmsStockInEntryService wmsStockInEntryService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:WmsStockInEntry:list')")
@GetMapping("/list")
public TableDataInfo list(WmsStockInEntry bo, PageQuery pageQuery) {
var list = wmsStockInEntryService.queryPageList(bo, pageQuery);
return getDataTable(list);
}
/**
*
*/
// @PreAuthorize("@ss.hasPermi('wms:WmsStockInEntry:export')")
// @Log(title = "入库单", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, WmsStockInEntry wmsStockInEntry)
// {
// List<WmsStockInEntry> list = wmsStockInEntryService.selectWmsStockInEntryList(wmsStockInEntry);
// ExcelUtil<WmsStockInEntry> util = new ExcelUtil<WmsStockInEntry>(WmsStockInEntry.class);
// util.exportExcel(response, list, "入库单数据");
// }
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:WmsStockInEntry:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(wmsStockInEntryService.getById(id));
}
// /**
// * 新增入库单
// */
// @PreAuthorize("@ss.hasPermi('wms:WmsStockInEntry:add')")
// @Log(title = "入库单", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody WmsStockInEntry wmsStockInEntry)
// {
// return toAjax(wmsStockInEntryService.insertWmsStockInEntry(wmsStockInEntry));
// }
//
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:WmsStockInEntry:edit')")
@Log(title = "入库单", businessType = BusinessType.UPDATE)
@PostMapping("/stockIn")
public AjaxResult stockIn(@RequestBody WmsStockInEntry wmsStockInEntry)
{
wmsStockInEntry.setUpdateBy(getUsername());
wmsStockInEntry.setStockInOperatorId(getUserId());
int result = wmsStockInEntryService.stockIn(wmsStockInEntry);
if(result == -1) return new AjaxResult(505,"入库单不存在");
else if(result == -2) return new AjaxResult(506,"请填写入库数据");
else if(result == -3) return new AjaxResult(507,"商品数据错误");
else if(result == -9) return new AjaxResult(509,"入库单已全部入库!无法操作!");
return toAjax(result);
}
@GetMapping("/complete/{id}")
public AjaxResult complete(@PathVariable Long id)
{
return toAjax(wmsStockInEntryService.complete(id,getUsername()));
}
// /**
// * 删除入库单
// */
// @PreAuthorize("@ss.hasPermi('wms:WmsStockInEntry:remove')")
// @Log(title = "入库单", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(wmsStockInEntryService.deleteWmsStockInEntryByIds(ids));
// }
}

@ -0,0 +1,111 @@
package cn.qihangerp.api.controller;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.WmsStockLocation;
import cn.qihangerp.api.service.IWmsStockLocationService;
import cn.qihangerp.common.utils.poi.ExcelUtil;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2024-01-09
*/
@RestController
@RequestMapping("/wms/location")
public class WmsStockLocationController extends BaseController
{
@Autowired
private IWmsStockLocationService wmsStockLocationService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:location:list')")
@GetMapping("/list")
public TableDataInfo list(WmsStockLocation wmsStockLocation)
{
startPage();
List<WmsStockLocation> list = wmsStockLocationService.selectWmsStockLocationList(wmsStockLocation);
return getDataTable(list);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:location:export')")
@Log(title = "仓库货架", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, WmsStockLocation wmsStockLocation)
{
List<WmsStockLocation> list = wmsStockLocationService.selectWmsStockLocationList(wmsStockLocation);
ExcelUtil<WmsStockLocation> util = new ExcelUtil<WmsStockLocation>(WmsStockLocation.class);
util.exportExcel(response, list, "仓库货架数据");
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:location:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
return success(wmsStockLocationService.selectWmsStockLocationById(id));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:location:add')")
@Log(title = "仓库货架", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody WmsStockLocation wmsStockLocation)
{
return toAjax(wmsStockLocationService.insertWmsStockLocation(wmsStockLocation));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:location:edit')")
@Log(title = "仓库货架", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody WmsStockLocation wmsStockLocation)
{
return toAjax(wmsStockLocationService.updateWmsStockLocation(wmsStockLocation));
}
@GetMapping("/search")
public TableDataInfo searchBy(String number)
{
startPage();
List<WmsStockLocation> list = wmsStockLocationService.search(number);
return getDataTable(list);
}
/**
*
*/
// @PreAuthorize("@ss.hasPermi('wms:location:remove')")
// @Log(title = "仓库货架", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(wmsStockLocationService.deleteWmsStockLocationByIds(ids));
// }
}

@ -0,0 +1,137 @@
package cn.qihangerp.api.controller;
import cn.qihangerp.api.domain.WmsStockOutEntryItem;
import cn.qihangerp.api.service.WmsStockOutEntryItemService;
import cn.qihangerp.common.PageQuery;
import cn.qihangerp.api.domain.bo.StockOutBo;
import cn.qihangerp.api.service.WmsStockOutEntryService;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.api.domain.WmsStockOutEntry;
//import cn.qihangerp.api.service.IWmsStockOutEntryService;
import cn.qihangerp.core.page.TableDataInfo;
/**
* Controller
*
* @author qihang
* @date 2024-01-10
*/
@RestController
@RequestMapping("/wms/stockOutEntry")
public class WmsStockOutEntryController extends BaseController
{
@Autowired
private WmsStockOutEntryService wmsStockOutEntryService;
@Autowired
private WmsStockOutEntryItemService wmsStockOutEntryItemService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:stockOutEntry:list')")
@GetMapping("/list")
public TableDataInfo list(WmsStockOutEntry bo, PageQuery pageQuery)
{
var list = wmsStockOutEntryService.queryPageList(bo, pageQuery);
return getDataTable(list);
}
/**
*
*/
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntry:export')")
// @Log(title = "出库单", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, WmsStockOutEntry wmsStockOutEntry)
// {
// List<WmsStockOutEntry> list = wmsStockOutEntryService.selectWmsStockOutEntryList(wmsStockOutEntry);
// ExcelUtil<WmsStockOutEntry> util = new ExcelUtil<WmsStockOutEntry>(WmsStockOutEntry.class);
// util.exportExcel(response, list, "出库单数据");
// }
/**
*
*/
@PreAuthorize("@ss.hasPermi('wms:stockOutEntry:query')")
@GetMapping(value = "/{id}")
public AjaxResult getInfo(@PathVariable("id") Long id)
{
// WmsStockOutEntry entry = wmsStockOutEntryService.selectById(id);
return success(wmsStockOutEntryService.selectOutEntryItemInventoryDetailsByEntryId(id));
}
/**
*
*/
@GetMapping(value = "/item/{id}")
public AjaxResult getItemInfo(@PathVariable("id") Long id)
{
return success(wmsStockOutEntryItemService.getById(id));
}
/**
*
* @param bo
* @return
*/
@Log(title = "出库单", businessType = BusinessType.INSERT)
@PostMapping("/stockOut")
public AjaxResult stockOut(@RequestBody StockOutBo bo)
{
bo.setOperatorId(getUserId());
bo.setOperatorName(getUsername());
int result = wmsStockOutEntryService.stockOut(bo);
if(result == -5) return new AjaxResult(500,"参数错误!请填写出库数量!");
else if(result == -1) return new AjaxResult(501,"数据错误!");
else if(result == -2) return new AjaxResult(502,"状态错误!");
else if(result == -3) return new AjaxResult(503,"已全部出库!");
else if(result == -4) return new AjaxResult(504,"出库数量超出!");
else if(result == -11) return new AjaxResult(511,"库存数据不存在!");
else if(result == -12) return new AjaxResult(512,"仓位库存不足!");
return toAjax(1);
}
// /**
// * 新增出库单
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntry:add')")
// @Log(title = "出库单", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody WmsStockOutEntry wmsStockOutEntry)
// {
// return toAjax(wmsStockOutEntryService.insertWmsStockOutEntry(wmsStockOutEntry));
// }
// /**
// * 修改出库单
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntry:edit')")
// @Log(title = "出库单", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody WmsStockOutEntry wmsStockOutEntry)
// {
// return toAjax(wmsStockOutEntryService.updateWmsStockOutEntry(wmsStockOutEntry));
// }
// /**
// * 删除出库单
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntry:remove')")
// @Log(title = "出库单", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(wmsStockOutEntryService.deleteWmsStockOutEntryByIds(ids));
// }
}

@ -0,0 +1,104 @@
//package cn.qihangerp.api.controller;
//
//import java.util.List;
//import javax.servlet.http.HttpServletResponse;
//import org.springframework.security.access.prepost.PreAuthorize;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.GetMapping;
//import org.springframework.web.bind.annotation.PostMapping;
//import org.springframework.web.bind.annotation.PutMapping;
//import org.springframework.web.bind.annotation.DeleteMapping;
//import org.springframework.web.bind.annotation.PathVariable;
//import org.springframework.web.bind.annotation.RequestBody;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RestController;
//import com.qihang.common.annotation.Log;
//import com.qihang.core.controller.BaseController;
//import com.qihang.core.domain.AjaxResult;
//import com.qihang.common.enums.BusinessType;
//import cn.qihangerp.api.domain.WmsStockOutEntryItemDetail;
//import cn.qihangerp.api.service.IWmsStockOutEntryItemDetailService;
//import com.qihang.common.utils.poi.ExcelUtil;
//import com.qihang.core.page.TableDataInfo;
//
///**
// * 出库明细详情Controller
// *
// * @author qihang
// * @date 2024-01-10
// */
//@RestController
//@RequestMapping("/wms/stockOutEntryItemDetail")
//public class WmsStockOutEntryItemDetailController extends BaseController
//{
// @Autowired
// private IWmsStockOutEntryItemDetailService wmsStockOutEntryItemDetailService;
//
// /**
// * 查询出库明细详情列表
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntryItemDetail:list')")
// @GetMapping("/list")
// public TableDataInfo list(WmsStockOutEntryItemDetail wmsStockOutEntryItemDetail)
// {
// startPage();
// List<WmsStockOutEntryItemDetail> list = wmsStockOutEntryItemDetailService.selectWmsStockOutEntryItemDetailList(wmsStockOutEntryItemDetail);
// return getDataTable(list);
// }
//
// /**
// * 导出出库明细详情列表
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntryItemDetail:export')")
// @Log(title = "出库明细详情", businessType = BusinessType.EXPORT)
// @PostMapping("/export")
// public void export(HttpServletResponse response, WmsStockOutEntryItemDetail wmsStockOutEntryItemDetail)
// {
// List<WmsStockOutEntryItemDetail> list = wmsStockOutEntryItemDetailService.selectWmsStockOutEntryItemDetailList(wmsStockOutEntryItemDetail);
// ExcelUtil<WmsStockOutEntryItemDetail> util = new ExcelUtil<WmsStockOutEntryItemDetail>(WmsStockOutEntryItemDetail.class);
// util.exportExcel(response, list, "出库明细详情数据");
// }
//
// /**
// * 获取出库明细详情详细信息
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntryItemDetail:query')")
// @GetMapping(value = "/{id}")
// public AjaxResult getInfo(@PathVariable("id") Long id)
// {
// return success(wmsStockOutEntryItemDetailService.selectWmsStockOutEntryItemDetailById(id));
// }
//
// /**
// * 新增出库明细详情
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntryItemDetail:add')")
// @Log(title = "出库明细详情", businessType = BusinessType.INSERT)
// @PostMapping
// public AjaxResult add(@RequestBody WmsStockOutEntryItemDetail wmsStockOutEntryItemDetail)
// {
// return toAjax(wmsStockOutEntryItemDetailService.insertWmsStockOutEntryItemDetail(wmsStockOutEntryItemDetail));
// }
//
// /**
// * 修改出库明细详情
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntryItemDetail:edit')")
// @Log(title = "出库明细详情", businessType = BusinessType.UPDATE)
// @PutMapping
// public AjaxResult edit(@RequestBody WmsStockOutEntryItemDetail wmsStockOutEntryItemDetail)
// {
// return toAjax(wmsStockOutEntryItemDetailService.updateWmsStockOutEntryItemDetail(wmsStockOutEntryItemDetail));
// }
//
// /**
// * 删除出库明细详情
// */
// @PreAuthorize("@ss.hasPermi('wms:stockOutEntryItemDetail:remove')")
// @Log(title = "出库明细详情", businessType = BusinessType.DELETE)
// @DeleteMapping("/{ids}")
// public AjaxResult remove(@PathVariable Long[] ids)
// {
// return toAjax(wmsStockOutEntryItemDetailService.deleteWmsStockOutEntryItemDetailByIds(ids));
// }
//}

@ -0,0 +1,142 @@
package cn.qihangerp.api.controller.system;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import cn.qihangerp.common.annotation.Log;
import cn.qihangerp.common.constant.UserConstants;
import cn.qihangerp.core.controller.BaseController;
import cn.qihangerp.domain.AjaxResult;
import cn.qihangerp.domain.SysMenu;
import cn.qihangerp.common.enums.BusinessType;
import cn.qihangerp.common.utils.StringUtils;
import cn.qihangerp.service.ISysMenuService;
/**
*
*
* @author qihang
*/
@RestController
@RequestMapping("/system/menu")
public class SysMenuController extends BaseController
{
@Autowired
private ISysMenuService menuService;
/**
*
*/
@PreAuthorize("@ss.hasPermi('system:menu:list')")
@GetMapping("/list")
public AjaxResult list(SysMenu menu)
{
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
return success(menus);
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('system:menu:query')")
@GetMapping(value = "/{menuId}")
public AjaxResult getInfo(@PathVariable Long menuId)
{
return success(menuService.selectMenuById(menuId));
}
/**
*
*/
@GetMapping("/treeselect")
public AjaxResult treeselect(SysMenu menu)
{
List<SysMenu> menus = menuService.selectMenuList(menu, getUserId());
return success(menuService.buildMenuTreeSelect(menus));
}
/**
*
*/
@GetMapping(value = "/roleMenuTreeselect/{roleId}")
public AjaxResult roleMenuTreeselect(@PathVariable("roleId") Long roleId)
{
List<SysMenu> menus = menuService.selectMenuList(getUserId());
AjaxResult ajax = AjaxResult.success();
ajax.put("checkedKeys", menuService.selectMenuListByRoleId(roleId));
ajax.put("menus", menuService.buildMenuTreeSelect(menus));
return ajax;
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('system:menu:add')")
@Log(title = "菜单管理", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@Validated @RequestBody SysMenu menu)
{
if (!menuService.checkMenuNameUnique(menu))
{
return error("新增菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
{
return error("新增菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
}
menu.setCreateBy(getUsername());
return toAjax(menuService.insertMenu(menu));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('system:menu:edit')")
@Log(title = "菜单管理", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@Validated @RequestBody SysMenu menu)
{
if (!menuService.checkMenuNameUnique(menu))
{
return error("修改菜单'" + menu.getMenuName() + "'失败,菜单名称已存在");
}
else if (UserConstants.YES_FRAME.equals(menu.getIsFrame()) && !StringUtils.ishttp(menu.getPath()))
{
return error("修改菜单'" + menu.getMenuName() + "'失败地址必须以http(s)://开头");
}
else if (menu.getMenuId().equals(menu.getParentId()))
{
return error("修改菜单'" + menu.getMenuName() + "'失败,上级菜单不能选择自己");
}
menu.setUpdateBy(getUsername());
return toAjax(menuService.updateMenu(menu));
}
/**
*
*/
@PreAuthorize("@ss.hasPermi('system:menu:remove')")
@Log(title = "菜单管理", businessType = BusinessType.DELETE)
@DeleteMapping("/{menuId}")
public AjaxResult remove(@PathVariable("menuId") Long menuId)
{
if (menuService.hasChildByMenuId(menuId))
{
return warn("存在子菜单,不允许删除");
}
if (menuService.checkMenuExistRole(menuId))
{
return warn("菜单已分配,不允许删除");
}
return toAjax(menuService.deleteMenuById(menuId));
}
}

@ -0,0 +1,182 @@
//package cn.qihangerp.api.domain;
//
//import java.io.Serializable;
//import java.util.Date;
//
//import com.baomidou.mybatisplus.annotation.TableName;
//import lombok.Data;
//
///**
// * 售后处理表
// * @TableName erp_after_sale
// */
//@TableName("erp_sale_after")
//@Data
//public class ErpAfterSale implements Serializable {
// /**
// *
// */
// private String id;
//
// /**
// * 类型10退货20换货80补发99订单拦截
// */
// private Integer type;
//
// /**
// * 店铺id
// */
// private Integer shopId;
//
// /**
// * 店铺类型
// */
// private Integer shopType;
//
// /**
// * 售后单号
// */
// private String afterSaleOrderId;
//
// /**
// * 订单号
// */
// private String orderId;
//
// /**
// * 子订单号
// */
// private String subOrderId;
//
// /**
// * 商品spuid
// */
// private String productId;
//
// /**
// * 商品skuid
// */
// private String skuId;
//
// /**
// * 数量
// */
// private Integer count;
//
// /**
// * 商品标题
// */
// private String title;
//
// /**
// * 商品图片
// */
// private String img;
//
// /**
// * sku描述
// */
// private String skuInfo;
//
// /**
// * sku编码
// */
// private String skuCode;
//
// /**
// * ERP商品id
// */
// private Integer erpGoodsId;
//
// /**
// * ERP商品skuId
// */
// private Integer erpSkuId;
//
// /**
// * 退回人信息json
// */
// private String returnInfo;
//
// /**
// * 退回快递单号
// */
// private String returnWaybillCode;
//
// /**
// * 退回物流公司名称
// */
// private String returnCompany;
//
// /**
// * 收件人姓名
// */
// private String receiverName;
//
// /**
// * 收件人联系电话
// */
// private String receiverTel;
//
// /**
// * 省
// */
// private String receiverProvince;
//
// /**
// * 市
// */
// private String receiverCity;
//
// /**
// * 区
// */
// private String receiverTown;
//
// /**
// * 收件人详细地址
// */
// private String receiverAddress;
//
// /**
// * 发货快递单号(补发、换货发货、拦截订单发货)
// */
// private String shipWaybillCode;
//
// /**
// * 发货快递公司
// */
// private String shipCompany;
//
// /**
// * 状态:1已发出2已完成(已收货);3已入库
// */
// private Integer status;
//
// /**
// * 备注
// */
// private String remark;
//
// /**
// *
// */
// private Date createTime;
//
// /**
// *
// */
// private String createBy;
//
// /**
// *
// */
// private Date updateTime;
//
// /**
// *
// */
// private String updateBy;
//
// private static final long serialVersionUID = 1L;
//}

@ -0,0 +1,55 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_brand
*
* @author qihang
* @date 2023-12-29
*/
public class ErpGoodsBrand extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 品牌名 */
@Excel(name = "品牌名")
private String name;
/** 状态 */
@Excel(name = "状态")
private Long status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setStatus(Long status)
{
this.status = status;
}
public Long getStatus()
{
return status;
}
}

@ -0,0 +1,120 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_category
*
* @author qihang
* @date 2023-12-29
*/
public class ErpGoodsCategory extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 分类编码 */
@Excel(name = "分类编码")
private String number;
/** 分类名称 */
@Excel(name = "分类名称")
private String name;
/** 上架分类id */
@Excel(name = "上架分类id")
private Long parentId;
/** 分类路径 */
@Excel(name = "分类路径")
private String path;
/** 排序值 */
@Excel(name = "排序值")
private Long sort;
/** 图片 */
@Excel(name = "图片")
private String image;
/** 0正常 1删除 */
@Excel(name = "0正常 1删除")
private Integer isDelete;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setNumber(String number)
{
this.number = number;
}
public String getNumber()
{
return number;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setParentId(Long parentId)
{
this.parentId = parentId;
}
public Long getParentId()
{
return parentId;
}
public void setPath(String path)
{
this.path = path;
}
public String getPath()
{
return path;
}
public void setSort(Long sort)
{
this.sort = sort;
}
public Long getSort()
{
return sort;
}
public void setImage(String image)
{
this.image = image;
}
public String getImage()
{
return image;
}
public void setIsDelete(Integer isDelete)
{
this.isDelete = isDelete;
}
public Integer getIsDelete()
{
return isDelete;
}
}

@ -0,0 +1,81 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_category_attribute
*
* @author qihang
* @date 2023-12-29
*/
public class ErpGoodsCategoryAttribute extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 分类id0为公共 */
@Excel(name = "分类id", readConverterExp = "0=为公共")
private Long categoryId;
/** 类型0属性1规格 */
@Excel(name = "类型0属性1规格")
private Long type;
/** '属性名' */
@Excel(name = "'属性名'")
private String title;
/** 固定值color颜色size尺码style款式 */
@Excel(name = "固定值color颜色size尺码style款式")
private String code;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCategoryId(Long categoryId)
{
this.categoryId = categoryId;
}
public Long getCategoryId()
{
return categoryId;
}
public void setType(Long type)
{
this.type = type;
}
public Long getType()
{
return type;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setCode(String code)
{
this.code = code;
}
public String getCode()
{
return code;
}
}

@ -0,0 +1,94 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_category_attribute_value
*
* @author qihang
* @date 2023-12-29
*/
public class ErpGoodsCategoryAttributeValue extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键属性值id */
private Long id;
/** 属性id */
@Excel(name = "属性id")
private Long categoryAttributeId;
/** 属性值文本 */
@Excel(name = "属性值文本")
private String value;
/** 生成SKU的编码 */
@Excel(name = "生成SKU的编码")
private String skuCode;
/** 排序 */
@Excel(name = "排序")
private Long orderNum;
/** 是否删除 */
@Excel(name = "是否删除")
private Long isDelete;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCategoryAttributeId(Long categoryAttributeId)
{
this.categoryAttributeId = categoryAttributeId;
}
public Long getCategoryAttributeId()
{
return categoryAttributeId;
}
public void setValue(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
public void setSkuCode(String skuCode)
{
this.skuCode = skuCode;
}
public String getSkuCode()
{
return skuCode;
}
public void setOrderNum(Long orderNum)
{
this.orderNum = orderNum;
}
public Long getOrderNum()
{
return orderNum;
}
public void setIsDelete(Long isDelete)
{
this.isDelete = isDelete;
}
public Long getIsDelete()
{
return isDelete;
}
}

@ -0,0 +1,134 @@
package cn.qihangerp.api.domain;
import java.util.List;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_inventory
*
* @author qihang
* @date 2024-01-09
*/
public class ErpGoodsInventory extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 商品id */
@Excel(name = "商品id")
private Long goodsId;
/** 商品编码 */
@Excel(name = "商品编码")
private String goodsNumber;
/** 商品规格id */
@Excel(name = "商品规格id")
private Long specId;
/** 规格编码(唯一) */
@Excel(name = "规格编码", readConverterExp = "唯=一")
private String specNumber;
/** 当前库存 */
@Excel(name = "当前库存")
private Long currentQty;
/** 锁定库存 */
@Excel(name = "锁定库存")
private Long lockedQty;
/** 0正常 1删除 */
@Excel(name = "0正常 1删除")
private Integer isDelete;
/** 商品库存明细信息 */
private List<ErpGoodsInventoryDetail> erpGoodsInventoryDetailList;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setGoodsNumber(String goodsNumber)
{
this.goodsNumber = goodsNumber;
}
public String getGoodsNumber()
{
return goodsNumber;
}
public void setSpecId(Long specId)
{
this.specId = specId;
}
public Long getSpecId()
{
return specId;
}
public void setSpecNumber(String specNumber)
{
this.specNumber = specNumber;
}
public String getSpecNumber()
{
return specNumber;
}
public void setCurrentQty(Long currentQty)
{
this.currentQty = currentQty;
}
public Long getCurrentQty()
{
return currentQty;
}
public void setLockedQty(Long lockedQty)
{
this.lockedQty = lockedQty;
}
public Long getLockedQty()
{
return lockedQty;
}
public void setIsDelete(Integer isDelete)
{
this.isDelete = isDelete;
}
public Integer getIsDelete()
{
return isDelete;
}
public List<ErpGoodsInventoryDetail> getErpGoodsInventoryDetailList()
{
return erpGoodsInventoryDetailList;
}
public void setErpGoodsInventoryDetailList(List<ErpGoodsInventoryDetail> erpGoodsInventoryDetailList)
{
this.erpGoodsInventoryDetailList = erpGoodsInventoryDetailList;
}
}

@ -0,0 +1,169 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_inventory_detail
*
* @author qihang
* @date 2024-01-09
*/
public class ErpGoodsInventoryDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 商品库存id */
@Excel(name = "商品库存id")
private Long inventoryId;
/** 入库数量 */
@Excel(name = "入库数量")
private Long inQty;
/** 入库前数量 */
@Excel(name = "入库前数量")
private Long originQty;
/** 当前库存数量 */
@Excel(name = "当前库存数量")
private Long currentQty;
/** 采购价 */
@Excel(name = "采购价")
private Long purPrice;
/** 入库单id */
@Excel(name = "入库单id")
private Long entryId;
/** 入库单itemId */
@Excel(name = "入库单itemId")
private Long entryItemId;
/** 规格id */
@Excel(name = "规格id")
private Long specId;
/** 商品id */
@Excel(name = "商品id")
private Long goodsId;
/** 入库仓位id */
@Excel(name = "入库仓位id")
private Long inLocation;
private String locationNum;
public String getLocationNum() {
return locationNum;
}
public void setLocationNum(String locationNum) {
this.locationNum = locationNum;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setInventoryId(Long inventoryId)
{
this.inventoryId = inventoryId;
}
public Long getInventoryId()
{
return inventoryId;
}
public void setInQty(Long inQty)
{
this.inQty = inQty;
}
public Long getInQty()
{
return inQty;
}
public void setOriginQty(Long originQty)
{
this.originQty = originQty;
}
public Long getOriginQty()
{
return originQty;
}
public void setCurrentQty(Long currentQty)
{
this.currentQty = currentQty;
}
public Long getCurrentQty()
{
return currentQty;
}
public void setPurPrice(Long purPrice)
{
this.purPrice = purPrice;
}
public Long getPurPrice()
{
return purPrice;
}
public void setEntryId(Long entryId)
{
this.entryId = entryId;
}
public Long getEntryId()
{
return entryId;
}
public void setEntryItemId(Long entryItemId)
{
this.entryItemId = entryItemId;
}
public Long getEntryItemId()
{
return entryItemId;
}
public void setSpecId(Long specId)
{
this.specId = specId;
}
public Long getSpecId()
{
return specId;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setInLocation(Long inLocation)
{
this.inLocation = inLocation;
}
public Long getInLocation()
{
return inLocation;
}
}

@ -0,0 +1,179 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName erp_sale_after_info
*/
@Data
public class ErpSaleAfterInfo implements Serializable {
/**
*
*/
private String id;
/**
* 10退208099
*/
private Integer type;
/**
* id
*/
private Integer shopId;
/**
*
*/
private Integer shopType;
/**
*
*/
private String afterSaleOrderId;
/**
*
*/
private String orderId;
/**
*
*/
private String subOrderId;
/**
* spuid
*/
private String productId;
/**
* skuid
*/
private String skuId;
/**
*
*/
private Integer count;
/**
*
*/
private String title;
/**
*
*/
private String img;
/**
* sku
*/
private String skuInfo;
/**
* sku
*/
private String skuCode;
/**
* ERPid
*/
private Integer erpGoodsId;
/**
* ERPskuId
*/
private Integer erpSkuId;
/**
* 退json
*/
private String returnInfo;
/**
* 退
*/
private String returnWaybillCode;
/**
* 退
*/
private String returnCompany;
/**
*
*/
private String receiverName;
/**
*
*/
private String receiverTel;
/**
*
*/
private String receiverProvince;
/**
*
*/
private String receiverCity;
/**
*
*/
private String receiverTown;
/**
*
*/
private String receiverAddress;
/**
*
*/
private String shipWaybillCode;
/**
*
*/
private String shipCompany;
/**
* :12();3
*/
private Integer status;
/**
*
*/
private String remark;
/**
*
*/
private Date createTime;
/**
*
*/
private String createBy;
/**
*
*/
private Date updateTime;
/**
*
*/
private String updateBy;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,77 @@
package cn.qihangerp.api.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* b_logistics_company
*
* @author qihang
* @date 2024-01-12
*/
@TableName("erp_ship_logistics")
public class ErpShipLogistics extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 快递公司 */
@Excel(name = "快递公司")
private String name;
/** 快递公司编码 */
@Excel(name = "快递公司编码")
private String number;
private String remark;
private Integer status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setNumber(String number)
{
this.number = number;
}
public String getNumber()
{
return number;
}
@Override
public String getRemark() {
return remark;
}
@Override
public void setRemark(String remark) {
this.remark = remark;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
}

@ -0,0 +1,219 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName erp_ship_order
*/
@Data
public class ErpShipOrder implements Serializable {
/**
* ID
*/
private String id;
/**
* ID
*/
private Long shopId;
/**
*
*/
private Integer shopType;
/**
* erpid
*/
private Long supplierId;
/**
*
*/
private String orderNum;
/**
* erpID
*/
private Long erpOrderId;
/**
* erpID
*/
private String erpOrderItemId;
/**
*
*/
private String orderTime;
/**
* erpid
*/
private Long goodsId;
/**
* erpid
*/
private Long specId;
/**
*
*/
private String specNum;
/**
*
*/
private Integer quantity;
/**
*
*/
private String remark;
/**
*
*/
private String logisticsCompany;
/**
*
*/
private String logisticsCode;
/**
*
*/
private Float logisticsFee;
/**
*
*/
private String shipTime;
/**
*
*/
private String shipMan;
/**
*
*/
private String outOperator;
/**
*
*/
private String outPosition;
/**
*
*/
private Date outTime;
/**
* 01
*/
private Integer shipType;
/**
* 123
*/
private Integer shipStatus;
/**
*
*/
private Double packageWeight;
/**
*
*/
private Double packageLength;
/**
*
*/
private Double packageWidth;
/**
*
*/
private Double packageHeight;
/**
*
*/
private String packsgeOperator;
/**
*
*/
private Date packsgeTime;
/**
* JSON
*/
private String packages;
/**
*
*/
private String receiverName;
/**
*
*/
private String receiverPhone;
/**
*
*/
private String address;
/**
* /
*/
private String country;
/**
*
*/
private String province;
/**
*
*/
private String city;
/**
*
*/
private String town;
/**
*
*/
private Date createTime;
/**
*
*/
private String createBy;
/**
*
*/
private Date updateTime;
/**
*
*/
private String updateBy;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,100 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName erp_ship_order_agent_fee
*/
@Data
public class ErpShipOrderAgentFee implements Serializable {
/**
*
*/
private Long id;
/**
*
*/
private String orderNum;
/**
* id
*/
private Long shopId;
/**
* id
*/
private Long supplierId;
/**
*
*/
private String supplierName;
/**
*
*/
private Date date;
/**
*
*/
private String logisticsCompany;
/**
*
*/
private String logisticsCode;
/**
*
*/
private Float totalAmount;
/**
*
*/
private Float shipAmount;
/**
*
*/
private Float goodsAmount;
/**
*
*/
private String remark;
/**
* 01)
*/
private Integer status;
/**
*
*/
private Date createTime;
/**
*
*/
private String createBy;
/**
*
*/
private Date updateTime;
/**
*
*/
private String updateBy;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,130 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName erp_ship_order_fee
*/
@Data
public class ErpShipOrderFee implements Serializable {
/**
*
*/
private Long id;
/**
*
*/
private String logisticsCompany;
/**
* id
*/
private String logisticsCompanyId;
/**
*
*/
private String logisticsNum;
/**
*
*/
private String orderNum;
/**
* id
*/
private Long shopId;
/**
*
*/
private Float amount;
/**
*
*/
private Date date;
/**
*
*/
private String remark;
/**
* 01)
*/
private Integer status;
/**
*
*/
private Date createTime;
/**
*
*/
private String createBy;
/**
*
*/
private Date updateTime;
/**
*
*/
private String updateBy;
/**
*
*/
private Float length;
/**
*
*/
private Float width;
/**
*
*/
private Float height;
/**
*
*/
private Float weight;
/**
*
*/
private String receiverName;
/**
*
*/
private String receiverPhone;
/**
*
*/
private String province;
/**
*
*/
private String city;
/**
*
*/
private String town;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,112 @@
//package cn.qihangerp.api.domain;
//
//import java.math.BigDecimal;
//import java.util.List;
//import java.util.Date;
//import com.fasterxml.jackson.annotation.JsonFormat;
//import com.qihang.common.annotation.Excel;
//import com.qihang.core.domain.BaseEntity;
//
///**
// * 库存存货报对象 fms_inventory_report
// *
// * @author qihang
// * @date 2024-01-28
// */
//public class FmsInventoryReport extends BaseEntity
//{
// private static final long serialVersionUID = 1L;
//
// /** $column.columnComment */
// private Long id;
//
// /** 日期 */
// @JsonFormat(pattern = "yyyy-MM-dd")
// @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
// private Date date;
//
// /** 库存总数量 */
// @Excel(name = "库存总数量")
// private Long total;
//
// /** 商品总数 */
// @Excel(name = "商品总数")
// private Long goodsCount;
//
// /** SKU总数 */
// @Excel(name = "SKU总数")
// private Long skuCount;
//
// /** 总货值 */
// @Excel(name = "总货值")
// private BigDecimal amount;
//
// /** 库存存货报明细信息 */
// private List<FmsInventoryReportDetail> fmsInventoryReportDetailList;
//
// public void setId(Long id)
// {
// this.id = id;
// }
//
// public Long getId()
// {
// return id;
// }
// public void setDate(Date date)
// {
// this.date = date;
// }
//
// public Date getDate()
// {
// return date;
// }
// public void setTotal(Long total)
// {
// this.total = total;
// }
//
// public Long getTotal()
// {
// return total;
// }
// public void setGoodsCount(Long goodsCount)
// {
// this.goodsCount = goodsCount;
// }
//
// public Long getGoodsCount()
// {
// return goodsCount;
// }
// public void setSkuCount(Long skuCount)
// {
// this.skuCount = skuCount;
// }
//
// public Long getSkuCount()
// {
// return skuCount;
// }
// public void setAmount(BigDecimal amount)
// {
// this.amount = amount;
// }
//
// public BigDecimal getAmount()
// {
// return amount;
// }
//
// public List<FmsInventoryReportDetail> getFmsInventoryReportDetailList()
// {
// return fmsInventoryReportDetailList;
// }
//
// public void setFmsInventoryReportDetailList(List<FmsInventoryReportDetail> fmsInventoryReportDetailList)
// {
// this.fmsInventoryReportDetailList = fmsInventoryReportDetailList;
// }
//
//}

@ -0,0 +1,124 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* fms_inventory_report_detail
*
* @author qihang
* @date 2024-01-28
*/
public class FmsInventoryReportDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** Report外键ID */
@Excel(name = "Report外键ID")
private Long reportId;
/** 日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date date;
/** 商品id */
@Excel(name = "商品id")
private Long goodsId;
/** 商品规格ID */
@Excel(name = "商品规格ID")
private Long specId;
/** 总数量 */
@Excel(name = "总数量")
private Long total;
/** 总货值 */
@Excel(name = "总货值")
private BigDecimal amount;
/** 库存分布 */
@Excel(name = "库存分布")
private String inventoryDist;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setReportId(Long reportId)
{
this.reportId = reportId;
}
public Long getReportId()
{
return reportId;
}
public void setDate(Date date)
{
this.date = date;
}
public Date getDate()
{
return date;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setSpecId(Long specId)
{
this.specId = specId;
}
public Long getSpecId()
{
return specId;
}
public void setTotal(Long total)
{
this.total = total;
}
public Long getTotal()
{
return total;
}
public void setAmount(BigDecimal amount)
{
this.amount = amount;
}
public BigDecimal getAmount()
{
return amount;
}
public void setInventoryDist(String inventoryDist)
{
this.inventoryDist = inventoryDist;
}
public String getInventoryDist()
{
return inventoryDist;
}
}

@ -0,0 +1,176 @@
//package cn.qihangerp.api.domain;
//
//import java.math.BigDecimal;
//import java.util.Date;
//import com.fasterxml.jackson.annotation.JsonFormat;
//import cn.qihangerp.common.annotation.Excel;
//import cn.qihangerp.domain.BaseEntity;
//
///**
// * 财务管理-应付款-代发账单对象 fms_payable_agent_ship
// *
// * @author qihang
// * @date 2024-01-28
// */
//public class FmsPayableAgentShip extends BaseEntity
//{
// private static final long serialVersionUID = 1L;
//
// /** $column.columnComment */
// private Long id;
//
// /** 订单号 */
// @Excel(name = "订单号")
// private String orderNum;
//
// /** 店铺id */
// @Excel(name = "店铺id")
// private Long shopId;
//
// /** 供应商id */
// @Excel(name = "供应商id")
// private Long supplierId;
//
// /** 供应商名称 */
// @Excel(name = "供应商名称")
// private String supplierName;
//
// /** 日期 */
// @JsonFormat(pattern = "yyyy-MM-dd")
// @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
// private Date date;
//
// /** 物流公司 */
// @Excel(name = "物流公司")
// private String shipCompany;
//
// /** 物流单号 */
// @Excel(name = "物流单号")
// private String shipNo;
//
// /** 应付总金额 */
// @Excel(name = "应付总金额")
// private BigDecimal amount;
//
// /** 物流费用 */
// @Excel(name = "物流费用")
// private Float shipAmount;
//
// /** 商品金额 */
// @Excel(name = "商品金额")
// private BigDecimal goodsAmount;
//
// /** 状态0已生成1已结算) */
// @Excel(name = "状态", readConverterExp = "状态0已生成1已结算)")
// private Long status;
//
// public void setId(Long id)
// {
// this.id = id;
// }
//
// public Long getId()
// {
// return id;
// }
// public void setOrderNum(String orderNum)
// {
// this.orderNum = orderNum;
// }
//
// public String getOrderNum()
// {
// return orderNum;
// }
// public void setShopId(Long shopId)
// {
// this.shopId = shopId;
// }
//
// public Long getShopId()
// {
// return shopId;
// }
// public void setSupplierId(Long supplierId)
// {
// this.supplierId = supplierId;
// }
//
// public Long getSupplierId()
// {
// return supplierId;
// }
// public void setSupplierName(String supplierName)
// {
// this.supplierName = supplierName;
// }
//
// public String getSupplierName()
// {
// return supplierName;
// }
// public void setDate(Date date)
// {
// this.date = date;
// }
//
// public Date getDate()
// {
// return date;
// }
// public void setShipCompany(String shipCompany)
// {
// this.shipCompany = shipCompany;
// }
//
// public String getShipCompany()
// {
// return shipCompany;
// }
// public void setShipNo(String shipNo)
// {
// this.shipNo = shipNo;
// }
//
// public String getShipNo()
// {
// return shipNo;
// }
// public void setAmount(BigDecimal amount)
// {
// this.amount = amount;
// }
//
// public BigDecimal getAmount()
// {
// return amount;
// }
// public void setShipAmount(Float shipAmount)
// {
// this.shipAmount = shipAmount;
// }
//
// public Float getShipAmount()
// {
// return shipAmount;
// }
// public void setGoodsAmount(BigDecimal goodsAmount)
// {
// this.goodsAmount = goodsAmount;
// }
//
// public BigDecimal getGoodsAmount()
// {
// return goodsAmount;
// }
// public void setStatus(Long status)
// {
// this.status = status;
// }
//
// public Long getStatus()
// {
// return status;
// }
//
//}

@ -0,0 +1,254 @@
//package cn.qihangerp.api.domain;
//
//import java.math.BigDecimal;
//import java.util.Date;
//import com.fasterxml.jackson.annotation.JsonFormat;
//import cn.qihangerp.common.annotation.Excel;
//import cn.qihangerp.domain.BaseEntity;
//
///**
// * 财务管理-应付款-物流费用对象 fms_payable_ship_fee
// *
// * @author qihang
// * @date 2024-01-28
// */
//public class FmsPayableShipFee extends BaseEntity
//{
// private static final long serialVersionUID = 1L;
//
// /** $column.columnComment */
// private Long id;
//
// /** 物流公司 */
// @Excel(name = "物流公司")
// private String logisticsCompany;
//
// /** 物流公司id */
// @Excel(name = "物流公司id")
// private String logisticsCompanyId;
//
// /** 物流单号 */
// @Excel(name = "物流单号")
// private String logisticsNum;
//
// /** 订单号 */
// @Excel(name = "订单号")
// private String orderNum;
//
// /** 店铺id */
// @Excel(name = "店铺id")
// private Long shopId;
//
// /** 应付金额 */
// @Excel(name = "应付金额")
// private BigDecimal amount;
//
// /** 应付日期 */
// @JsonFormat(pattern = "yyyy-MM-dd")
// @Excel(name = "应付日期", width = 30, dateFormat = "yyyy-MM-dd")
// private Date date;
//
// /** 状态0已生成1已结算) */
// @Excel(name = "状态", readConverterExp = "状态0已生成1已结算)")
// private Long status;
//
// /** 长 */
// @Excel(name = "长")
// private Float length;
//
// /** 宽 */
// @Excel(name = "宽")
// private Float width;
//
// /** 高 */
// @Excel(name = "高")
// private Float height;
//
// /** 重量 */
// @Excel(name = "重量")
// private Float weight;
//
// /** 收件人姓名 */
// @Excel(name = "收件人姓名")
// private String receiverName;
//
// /** 收件人手机号 */
// @Excel(name = "收件人手机号")
// private String receiverPhone;
//
// /** 省 */
// @Excel(name = "省")
// private String province;
//
// /** 市 */
// @Excel(name = "市")
// private String city;
//
// /** 区 */
// @Excel(name = "区")
// private String town;
//
// public void setId(Long id)
// {
// this.id = id;
// }
//
// public Long getId()
// {
// return id;
// }
// public void setLogisticsCompany(String logisticsCompany)
// {
// this.logisticsCompany = logisticsCompany;
// }
//
// public String getLogisticsCompany()
// {
// return logisticsCompany;
// }
// public void setLogisticsCompanyId(String logisticsCompanyId)
// {
// this.logisticsCompanyId = logisticsCompanyId;
// }
//
// public String getLogisticsCompanyId()
// {
// return logisticsCompanyId;
// }
// public void setLogisticsNum(String logisticsNum)
// {
// this.logisticsNum = logisticsNum;
// }
//
// public String getLogisticsNum()
// {
// return logisticsNum;
// }
// public void setOrderNum(String orderNum)
// {
// this.orderNum = orderNum;
// }
//
// public String getOrderNum()
// {
// return orderNum;
// }
// public void setShopId(Long shopId)
// {
// this.shopId = shopId;
// }
//
// public Long getShopId()
// {
// return shopId;
// }
// public void setAmount(BigDecimal amount)
// {
// this.amount = amount;
// }
//
// public BigDecimal getAmount()
// {
// return amount;
// }
// public void setDate(Date date)
// {
// this.date = date;
// }
//
// public Date getDate()
// {
// return date;
// }
// public void setStatus(Long status)
// {
// this.status = status;
// }
//
// public Long getStatus()
// {
// return status;
// }
// public void setLength(Float length)
// {
// this.length = length;
// }
//
// public Float getLength()
// {
// return length;
// }
// public void setWidth(Float width)
// {
// this.width = width;
// }
//
// public Float getWidth()
// {
// return width;
// }
// public void setHeight(Float height)
// {
// this.height = height;
// }
//
// public Float getHeight()
// {
// return height;
// }
// public void setWeight(Float weight)
// {
// this.weight = weight;
// }
//
// public Float getWeight()
// {
// return weight;
// }
// public void setReceiverName(String receiverName)
// {
// this.receiverName = receiverName;
// }
//
// public String getReceiverName()
// {
// return receiverName;
// }
// public void setReceiverPhone(String receiverPhone)
// {
// this.receiverPhone = receiverPhone;
// }
//
// public String getReceiverPhone()
// {
// return receiverPhone;
// }
// public void setProvince(String province)
// {
// this.province = province;
// }
//
// public String getProvince()
// {
// return province;
// }
// public void setCity(String city)
// {
// this.city = city;
// }
//
// public String getCity()
// {
// return city;
// }
// public void setTown(String town)
// {
// this.town = town;
// }
//
// public String getTown()
// {
// return town;
// }
//
//}

@ -0,0 +1,215 @@
//package cn.qihangerp.api.domain;
//
//import java.math.BigDecimal;
//import java.util.Date;
//import com.fasterxml.jackson.annotation.JsonFormat;
//import com.qihang.common.annotation.Excel;
//import com.qihang.core.domain.BaseEntity;
//
///**
// * 财务管理-应收款-订单收入对象 fms_receivable_order
// *
// * @author qihang
// * @date 2024-01-28
// */
//public class FmsReceivableOrder extends BaseEntity
//{
// private static final long serialVersionUID = 1L;
//
// /** $column.columnComment */
// private Long id;
//
// /** 日期 */
// @JsonFormat(pattern = "yyyy-MM-dd")
// @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
// private Date date;
//
// /** 订单号 */
// @Excel(name = "订单号")
// private String orderNum;
//
// /** 订单id */
// @Excel(name = "订单id")
// private Long orderId;
//
// /** 子订单id */
// @Excel(name = "子订单id")
// private Long orderItemId;
//
// /** 商品id */
// @Excel(name = "商品id")
// private Long goodsId;
//
// /** 商品名称 */
// @Excel(name = "商品名称")
// private String goodsName;
//
// /** 规格id */
// @Excel(name = "规格id")
// private Long specId;
//
// /** 规格名称 */
// @Excel(name = "规格名称")
// private String specName;
//
// /** 单价 */
// @Excel(name = "单价")
// private Double price;
//
// /** 应收金额 */
// @Excel(name = "应收金额")
// private Double amount;
//
// /** 数量 */
// @Excel(name = "数量")
// private Long quantity;
//
// /** 发票号码 */
// @Excel(name = "发票号码")
// private String invoiceNo;
//
// /** 订单说明 */
// @Excel(name = "订单说明")
// private String orderDesc;
//
// /** 状态0已生成1已结算) */
// @Excel(name = "状态", readConverterExp = "状态0已生成1已结算)")
// private Long status;
//
// public void setId(Long id)
// {
// this.id = id;
// }
//
// public Long getId()
// {
// return id;
// }
// public void setDate(Date date)
// {
// this.date = date;
// }
//
// public Date getDate()
// {
// return date;
// }
// public void setOrderNum(String orderNum)
// {
// this.orderNum = orderNum;
// }
//
// public String getOrderNum()
// {
// return orderNum;
// }
// public void setOrderId(Long orderId)
// {
// this.orderId = orderId;
// }
//
// public Long getOrderId()
// {
// return orderId;
// }
// public void setOrderItemId(Long orderItemId)
// {
// this.orderItemId = orderItemId;
// }
//
// public Long getOrderItemId()
// {
// return orderItemId;
// }
// public void setGoodsId(Long goodsId)
// {
// this.goodsId = goodsId;
// }
//
// public Long getGoodsId()
// {
// return goodsId;
// }
// public void setGoodsName(String goodsName)
// {
// this.goodsName = goodsName;
// }
//
// public String getGoodsName()
// {
// return goodsName;
// }
// public void setSpecId(Long specId)
// {
// this.specId = specId;
// }
//
// public Long getSpecId()
// {
// return specId;
// }
// public void setSpecName(String specName)
// {
// this.specName = specName;
// }
//
// public String getSpecName()
// {
// return specName;
// }
// public void setPrice(Double price)
// {
// this.price = price;
// }
//
// public Double getPrice()
// {
// return price;
// }
// public void setAmount(Double amount)
// {
// this.amount = amount;
// }
//
// public Double getAmount()
// {
// return amount;
// }
// public void setQuantity(Long quantity)
// {
// this.quantity = quantity;
// }
//
// public Long getQuantity()
// {
// return quantity;
// }
// public void setInvoiceNo(String invoiceNo)
// {
// this.invoiceNo = invoiceNo;
// }
//
// public String getInvoiceNo()
// {
// return invoiceNo;
// }
// public void setOrderDesc(String orderDesc)
// {
// this.orderDesc = orderDesc;
// }
//
// public String getOrderDesc()
// {
// return orderDesc;
// }
// public void setStatus(Long status)
// {
// this.status = status;
// }
//
// public Long getStatus()
// {
// return status;
// }
//
//}

@ -0,0 +1,471 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import cn.qihangerp.api.domain.bo.GoodsSpecAddBo;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods
*
* @author qihang
* @date 2023-12-29
*/
public class Goods extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 商品名称 */
@Excel(name = "商品名称")
private String name;
/** 商品图片地址 */
@Excel(name = "商品图片地址")
private String image;
/** 商品编号 */
@Excel(name = "商品编号")
private String number;
/** 单位名称 */
@Excel(name = "单位名称")
private String unitName;
/** 商品分类ID */
@Excel(name = "商品分类ID")
private Long categoryId;
/** 条码 */
@Excel(name = "条码")
private String barCode;
/** 状态1销售中2已下架 */
@Excel(name = "状态1销售中2已下架")
private Integer status;
/** 衣长/裙长/裤长 */
@Excel(name = "衣长/裙长/裤长")
private Long length;
/** 高度/袖长 */
@Excel(name = "高度/袖长")
private Long height;
/** 宽度/胸阔(围) */
@Excel(name = "宽度/胸阔(围)")
private Long width;
/** 肩阔 */
@Excel(name = "肩阔")
private Long width1;
/** 腰阔 */
@Excel(name = "腰阔")
private Long width2;
/** 臀阔 */
@Excel(name = "臀阔")
private Long width3;
/** 重量 */
@Excel(name = "重量")
private Long weight;
/** 0启用 1禁用 */
@Excel(name = "0启用 1禁用")
private Integer disable;
/** 保质期 */
@Excel(name = "保质期")
private String period;
/** 预计采购价格 */
@Excel(name = "预计采购价格")
private BigDecimal purPrice;
/** 建议批发价 */
@Excel(name = "建议批发价")
private BigDecimal wholePrice;
/** 建议零售价 */
@Excel(name = "建议零售价")
private BigDecimal retailPrice;
/** 单位成本 */
@Excel(name = "单位成本")
private BigDecimal unitCost;
/** 供应商id */
@Excel(name = "供应商id")
private Long supplierId;
/** 品牌id */
@Excel(name = "品牌id")
private Long brandId;
/** 属性1季节 */
@Excel(name = "属性1季节")
private String attr1;
/** 属性2分类 */
@Excel(name = "属性2分类")
private String attr2;
/** 属性3风格 */
@Excel(name = "属性3风格")
private String attr3;
/** 属性4年份 */
@Excel(name = "属性4年份")
private String attr4;
/** 属性5面料 */
@Excel(name = "属性5面料")
private String attr5;
/** 外链url */
@Excel(name = "外链url")
private String linkUrl;
/** 最低库存(预警) */
@Excel(name = "最低库存", readConverterExp = "预=警")
private Long lowQty;
/** 最高库存(预警) */
@Excel(name = "最高库存", readConverterExp = "预=警")
private Long highQty;
private Long[] colorValues;
private Map<Long,String> colorImages;
// private Map<Long,String> colorNames;
private Long[] sizeValues;
private Long[] styleValues;
private List<GoodsSpecAddBo> specList;
public Map<Long, String> getColorImages() {
return colorImages;
}
public void setColorImages(Map<Long, String> colorImages) {
this.colorImages = colorImages;
}
public Long[] getColorValues() {
return colorValues;
}
public void setColorValues(Long[] colorValues) {
this.colorValues = colorValues;
}
public Long[] getSizeValues() {
return sizeValues;
}
public void setSizeValues(Long[] sizeValues) {
this.sizeValues = sizeValues;
}
public Long[] getStyleValues() {
return styleValues;
}
public void setStyleValues(Long[] styleValues) {
this.styleValues = styleValues;
}
public List<GoodsSpecAddBo> getSpecList() {
return specList;
}
public void setSpecList(List<GoodsSpecAddBo> specList) {
this.specList = specList;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setImage(String image)
{
this.image = image;
}
public String getImage()
{
return image;
}
public void setNumber(String number)
{
this.number = number;
}
public String getNumber()
{
return number;
}
public void setUnitName(String unitName)
{
this.unitName = unitName;
}
public String getUnitName()
{
return unitName;
}
public void setCategoryId(Long categoryId)
{
this.categoryId = categoryId;
}
public Long getCategoryId()
{
return categoryId;
}
public void setBarCode(String barCode)
{
this.barCode = barCode;
}
public String getBarCode()
{
return barCode;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
public void setLength(Long length)
{
this.length = length;
}
public Long getLength()
{
return length;
}
public void setHeight(Long height)
{
this.height = height;
}
public Long getHeight()
{
return height;
}
public void setWidth(Long width)
{
this.width = width;
}
public Long getWidth()
{
return width;
}
public void setWidth1(Long width1)
{
this.width1 = width1;
}
public Long getWidth1()
{
return width1;
}
public void setWidth2(Long width2)
{
this.width2 = width2;
}
public Long getWidth2()
{
return width2;
}
public void setWidth3(Long width3)
{
this.width3 = width3;
}
public Long getWidth3()
{
return width3;
}
public void setWeight(Long weight)
{
this.weight = weight;
}
public Long getWeight()
{
return weight;
}
public void setDisable(Integer disable)
{
this.disable = disable;
}
public Integer getDisable()
{
return disable;
}
public void setPeriod(String period)
{
this.period = period;
}
public String getPeriod()
{
return period;
}
public void setPurPrice(BigDecimal purPrice)
{
this.purPrice = purPrice;
}
public BigDecimal getPurPrice()
{
return purPrice;
}
public void setWholePrice(BigDecimal wholePrice)
{
this.wholePrice = wholePrice;
}
public BigDecimal getWholePrice()
{
return wholePrice;
}
public void setRetailPrice(BigDecimal retailPrice)
{
this.retailPrice = retailPrice;
}
public BigDecimal getRetailPrice()
{
return retailPrice;
}
public void setUnitCost(BigDecimal unitCost)
{
this.unitCost = unitCost;
}
public BigDecimal getUnitCost()
{
return unitCost;
}
public void setSupplierId(Long supplierId)
{
this.supplierId = supplierId;
}
public Long getSupplierId()
{
return supplierId;
}
public void setBrandId(Long brandId)
{
this.brandId = brandId;
}
public Long getBrandId()
{
return brandId;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
}
public String getAttr1()
{
return attr1;
}
public void setAttr2(String attr2)
{
this.attr2 = attr2;
}
public String getAttr2()
{
return attr2;
}
public void setAttr3(String attr3)
{
this.attr3 = attr3;
}
public String getAttr3()
{
return attr3;
}
public void setAttr4(String attr4)
{
this.attr4 = attr4;
}
public String getAttr4()
{
return attr4;
}
public void setAttr5(String attr5)
{
this.attr5 = attr5;
}
public String getAttr5()
{
return attr5;
}
public void setLinkUrl(String linkUrl)
{
this.linkUrl = linkUrl;
}
public String getLinkUrl()
{
return linkUrl;
}
public void setLowQty(Long lowQty)
{
this.lowQty = lowQty;
}
public Long getLowQty()
{
return lowQty;
}
public void setHighQty(Long highQty)
{
this.highQty = highQty;
}
public Long getHighQty()
{
return highQty;
}
}

@ -0,0 +1,81 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_attribute
*
* @author qihang
* @date 2023-12-29
*/
public class GoodsAttribute extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 商品id */
@Excel(name = "商品id")
private Long goodsId;
/** 属性id */
@Excel(name = "属性id")
private Long attributeId;
/** 属性名 */
@Excel(name = "属性名")
private String name;
/** 属性值 */
@Excel(name = "属性值")
private String value;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setAttributeId(Long attributeId)
{
this.attributeId = attributeId;
}
public Long getAttributeId()
{
return attributeId;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setValue(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
}

@ -0,0 +1,68 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_attribute_config
*
* @author qihang
* @date 2023-12-29
*/
public class GoodsAttributeConfig extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 分类id0为所有共用 */
@Excel(name = "分类id", readConverterExp = "0=为所有共用")
private Long categoryId;
/** 属性名 */
@Excel(name = "属性名")
private String name;
/** 属性值 */
@Excel(name = "属性值")
private String value;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setCategoryId(Long categoryId)
{
this.categoryId = categoryId;
}
public Long getCategoryId()
{
return categoryId;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setValue(String value)
{
this.value = value;
}
public String getValue()
{
return value;
}
}

@ -0,0 +1,81 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_img
*
* @author qihang
* @date 2023-12-29
*/
public class GoodsImg extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 商品Id */
@Excel(name = "商品Id")
private Long goodsId;
/** 类型 */
@Excel(name = "类型")
private String type;
/** 图片url */
@Excel(name = "图片url")
private String url;
/** 排序 */
@Excel(name = "排序")
private Long sort;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setType(String type)
{
this.type = type;
}
public String getType()
{
return type;
}
public void setUrl(String url)
{
this.url = url;
}
public String getUrl()
{
return url;
}
public void setSort(Long sort)
{
this.sort = sort;
}
public Long getSort()
{
return sort;
}
}

@ -0,0 +1,277 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_spec
*
* @author qihang
* @date 2023-12-29
*/
public class GoodsSpec extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 商品id */
@Excel(name = "商品id")
private Long goodsId;
/** 规格名 */
@Excel(name = "规格名")
private String specName;
/** 规格编码 */
@Excel(name = "规格编码")
private String specNum;
/** 颜色id */
@Excel(name = "颜色id")
private Long colorId;
/** 颜色值 */
@Excel(name = "颜色值")
private String colorValue;
/** 颜色图片 */
@Excel(name = "颜色图片")
private String colorImage;
/** 尺码id */
@Excel(name = "尺码id")
private Long sizeId;
/** 尺码值 */
@Excel(name = "尺码值")
private String sizeValue;
/** 款式id */
@Excel(name = "款式id")
private Long styleId;
/** 款式值 */
@Excel(name = "款式值")
private String styleValue;
/** 库存条形码 */
@Excel(name = "库存条形码")
private String barCode;
/** 预计采购价 */
@Excel(name = "预计采购价")
private BigDecimal purPrice;
/** 建议批发价 */
@Excel(name = "建议批发价")
private BigDecimal wholePrice;
/** 建议零售价 */
@Excel(name = "建议零售价")
private BigDecimal retailPrice;
/** 单位成本 */
@Excel(name = "单位成本")
private BigDecimal unitCost;
/** 状态 */
@Excel(name = "状态")
private Integer status;
/** 最低库存(预警) */
@Excel(name = "最低库存", readConverterExp = "预=警")
private Long lowQty;
/** 最高库存(预警) */
@Excel(name = "最高库存", readConverterExp = "预=警")
private Long highQty;
/** 0启用 1禁用 */
@Excel(name = "0启用 1禁用")
private Integer disable;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setSpecName(String specName)
{
this.specName = specName;
}
public String getSpecName()
{
return specName;
}
public void setSpecNum(String specNum)
{
this.specNum = specNum;
}
public String getSpecNum()
{
return specNum;
}
public void setColorId(Long colorId)
{
this.colorId = colorId;
}
public Long getColorId()
{
return colorId;
}
public void setColorValue(String colorValue)
{
this.colorValue = colorValue;
}
public String getColorValue()
{
return colorValue;
}
public void setColorImage(String colorImage)
{
this.colorImage = colorImage;
}
public String getColorImage()
{
return colorImage;
}
public void setSizeId(Long sizeId)
{
this.sizeId = sizeId;
}
public Long getSizeId()
{
return sizeId;
}
public void setSizeValue(String sizeValue)
{
this.sizeValue = sizeValue;
}
public String getSizeValue()
{
return sizeValue;
}
public void setStyleId(Long styleId)
{
this.styleId = styleId;
}
public Long getStyleId()
{
return styleId;
}
public void setStyleValue(String styleValue)
{
this.styleValue = styleValue;
}
public String getStyleValue()
{
return styleValue;
}
public void setBarCode(String barCode)
{
this.barCode = barCode;
}
public String getBarCode()
{
return barCode;
}
public void setPurPrice(BigDecimal purPrice)
{
this.purPrice = purPrice;
}
public BigDecimal getPurPrice()
{
return purPrice;
}
public void setWholePrice(BigDecimal wholePrice)
{
this.wholePrice = wholePrice;
}
public BigDecimal getWholePrice()
{
return wholePrice;
}
public void setRetailPrice(BigDecimal retailPrice)
{
this.retailPrice = retailPrice;
}
public BigDecimal getRetailPrice()
{
return retailPrice;
}
public void setUnitCost(BigDecimal unitCost)
{
this.unitCost = unitCost;
}
public BigDecimal getUnitCost()
{
return unitCost;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
public void setLowQty(Long lowQty)
{
this.lowQty = lowQty;
}
public Long getLowQty()
{
return lowQty;
}
public void setHighQty(Long highQty)
{
this.highQty = highQty;
}
public Long getHighQty()
{
return highQty;
}
public void setDisable(Integer disable)
{
this.disable = disable;
}
public Integer getDisable()
{
return disable;
}
}

@ -0,0 +1,120 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* erp_goods_spec_attr
*
* @author qihang
* @date 2023-12-29
*/
public class GoodsSpecAttr extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long goodsId;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String type;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String k;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long kid;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long vid;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String v;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String img;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setType(String type)
{
this.type = type;
}
public String getType()
{
return type;
}
public void setK(String k)
{
this.k = k;
}
public String getK()
{
return k;
}
public void setKid(Long kid)
{
this.kid = kid;
}
public Long getKid()
{
return kid;
}
public void setVid(Long vid)
{
this.vid = vid;
}
public Long getVid()
{
return vid;
}
public void setV(String v)
{
this.v = v;
}
public String getV()
{
return v;
}
public void setImg(String img)
{
this.img = img;
}
public String getImg()
{
return img;
}
}

@ -0,0 +1,17 @@
package cn.qihangerp.api.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName("d_keyword")
public class Keyword {
private String id;
private String source;
private String word;
private String remark;
private Date date;
private Date createTime;
}

@ -0,0 +1,250 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* ${subTable.functionName} s_shop_goods_sku
*
* @author qihang
* @date 2023-12-31
*/
public class SShopGoodsSku extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键id */
private Long id;
/** 外键id */
@Excel(name = "外键id")
private Long shopGoodsId;
/** 商品id阿里productID */
@Excel(name = "商品id阿里productID")
private Long goodsId;
/** 商品skuid阿里 */
@Excel(name = "商品skuid阿里")
private Long skuId;
/** specId */
@Excel(name = "specId")
private String spec;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long erpGoodsSpecId;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long erpGoodsId;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String erpGoodsSpecCode;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long skuQuantity;
/** 分销基准价。代销场景均使用该价格。无SKU商品查看saleInfo中的consignPrice */
@Excel(name = "分销基准价。代销场景均使用该价格。无SKU商品查看saleInfo中的consignPrice")
private Long consignPrice;
/** sku编码 */
@Excel(name = "sku编码")
private String outerId;
/** spu编码 */
@Excel(name = "spu编码")
private String outerGoodsId;
/** 报价时该规格的单价国际站注意要点含有SKU属性的在线批发产品设定具体价格时使用此值若设置阶梯价格则使用priceRange */
@Excel(name = "报价时该规格的单价国际站注意要点含有SKU属性的在线批发产品设定具体价格时使用此值若设置阶梯价格则使用priceRange")
private Long price;
/** 建议零售价 */
@Excel(name = "建议零售价")
private Long retailPrice;
/** 可销售数量 */
@Excel(name = "可销售数量")
private Long amountOnSale;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long isSkuOnsale;
/** 指定规格的货号,对应ERP系统商品specNumber */
@Excel(name = "指定规格的货号,对应ERP系统商品specNumber")
private String cargoNumber;
/** SKU属性值json */
@Excel(name = "SKU属性值json")
private String attributes;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setShopGoodsId(Long shopGoodsId)
{
this.shopGoodsId = shopGoodsId;
}
public Long getShopGoodsId()
{
return shopGoodsId;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setSkuId(Long skuId)
{
this.skuId = skuId;
}
public Long getSkuId()
{
return skuId;
}
public void setSpec(String spec)
{
this.spec = spec;
}
public String getSpec()
{
return spec;
}
public void setErpGoodsSpecId(Long erpGoodsSpecId)
{
this.erpGoodsSpecId = erpGoodsSpecId;
}
public Long getErpGoodsSpecId()
{
return erpGoodsSpecId;
}
public void setErpGoodsId(Long erpGoodsId)
{
this.erpGoodsId = erpGoodsId;
}
public Long getErpGoodsId()
{
return erpGoodsId;
}
public void setErpGoodsSpecCode(String erpGoodsSpecCode)
{
this.erpGoodsSpecCode = erpGoodsSpecCode;
}
public String getErpGoodsSpecCode()
{
return erpGoodsSpecCode;
}
public void setSkuQuantity(Long skuQuantity)
{
this.skuQuantity = skuQuantity;
}
public Long getSkuQuantity()
{
return skuQuantity;
}
public void setConsignPrice(Long consignPrice)
{
this.consignPrice = consignPrice;
}
public Long getConsignPrice()
{
return consignPrice;
}
public void setOuterId(String outerId)
{
this.outerId = outerId;
}
public String getOuterId()
{
return outerId;
}
public void setOuterGoodsId(String outerGoodsId)
{
this.outerGoodsId = outerGoodsId;
}
public String getOuterGoodsId()
{
return outerGoodsId;
}
public void setPrice(Long price)
{
this.price = price;
}
public Long getPrice()
{
return price;
}
public void setRetailPrice(Long retailPrice)
{
this.retailPrice = retailPrice;
}
public Long getRetailPrice()
{
return retailPrice;
}
public void setAmountOnSale(Long amountOnSale)
{
this.amountOnSale = amountOnSale;
}
public Long getAmountOnSale()
{
return amountOnSale;
}
public void setIsSkuOnsale(Long isSkuOnsale)
{
this.isSkuOnsale = isSkuOnsale;
}
public Long getIsSkuOnsale()
{
return isSkuOnsale;
}
public void setCargoNumber(String cargoNumber)
{
this.cargoNumber = cargoNumber;
}
public String getCargoNumber()
{
return cargoNumber;
}
public void setAttributes(String attributes)
{
this.attributes = attributes;
}
public String getAttributes()
{
return attributes;
}
}

@ -0,0 +1,59 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName s_shop_pull_logs
*/
@Data
public class SShopPullLogs implements Serializable {
/**
* Id
*/
private Long id;
/**
* id
*/
private Integer shopId;
/**
* id
*/
private Integer shopType;
/**
* ORDERGOODSREFUND退
*/
private String pullType;
/**
*
*/
private String pullWay;
/**
*
*/
private String pullParams;
/**
*
*/
private String pullResult;
/**
*
*/
private Date pullTime;
/**
*
*/
private Long duration;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,214 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* scm_purchase_order
*
* @author qihang
* @date 2023-12-29
*/
public class ScmPurchaseOrder extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 供应商id */
@Excel(name = "供应商id")
private Long contactId;
@TableField(exist = false)
private String supplier;
/** 订单编号 */
@Excel(name = "订单编号")
private String orderNo;
/** 订单日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date orderDate;
/** 订单创建时间 */
@Excel(name = "订单创建时间")
private Long orderTime;
/** 订单总金额 */
@Excel(name = "订单总金额")
private BigDecimal orderAmount;
private BigDecimal shipAmount;
/** 订单状态 0待审核1已审核101供应商已确认102供应商已发货200已入库 */
@Excel(name = "订单状态 0待审核1已审核101供应商已确认102供应商已发货200已入库")
private Integer status;
/** 采购单审核人 */
@Excel(name = "采购单审核人")
private String auditUser;
/** 审核时间 */
@Excel(name = "审核时间")
private Long auditTime;
/** 供应商确认时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "供应商确认时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date supplierConfirmTime;
/** 供应商发货时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "供应商发货时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date supplierDeliveryTime;
/** 收货时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date receivedTime;
/** 入库时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "入库时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date stockInTime;
public String getSupplier() {
return supplier;
}
public void setSupplier(String supplier) {
this.supplier = supplier;
}
public BigDecimal getShipAmount() {
return shipAmount;
}
public void setShipAmount(BigDecimal shipAmount) {
this.shipAmount = shipAmount;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setContactId(Long contactId)
{
this.contactId = contactId;
}
public Long getContactId()
{
return contactId;
}
public void setOrderNo(String orderNo)
{
this.orderNo = orderNo;
}
public String getOrderNo()
{
return orderNo;
}
public void setOrderDate(Date orderDate)
{
this.orderDate = orderDate;
}
public Date getOrderDate()
{
return orderDate;
}
public void setOrderTime(Long orderTime)
{
this.orderTime = orderTime;
}
public Long getOrderTime()
{
return orderTime;
}
public void setOrderAmount(BigDecimal orderAmount)
{
this.orderAmount = orderAmount;
}
public BigDecimal getOrderAmount()
{
return orderAmount;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
public void setAuditUser(String auditUser)
{
this.auditUser = auditUser;
}
public String getAuditUser()
{
return auditUser;
}
public void setAuditTime(Long auditTime)
{
this.auditTime = auditTime;
}
public Long getAuditTime()
{
return auditTime;
}
public void setSupplierConfirmTime(Date supplierConfirmTime)
{
this.supplierConfirmTime = supplierConfirmTime;
}
public Date getSupplierConfirmTime()
{
return supplierConfirmTime;
}
public void setSupplierDeliveryTime(Date supplierDeliveryTime)
{
this.supplierDeliveryTime = supplierDeliveryTime;
}
public Date getSupplierDeliveryTime()
{
return supplierDeliveryTime;
}
public void setReceivedTime(Date receivedTime)
{
this.receivedTime = receivedTime;
}
public Date getReceivedTime()
{
return receivedTime;
}
public void setStockInTime(Date stockInTime)
{
this.stockInTime = stockInTime;
}
public Date getStockInTime()
{
return stockInTime;
}
}

@ -0,0 +1,217 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* scm_purchase_order_cost
*
* @author qihang
* @date 2023-12-31
*/
public class ScmPurchaseOrderCost extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 采购单ID主键 */
private Long id;
/** 采购单金额 */
@Excel(name = "采购单金额")
private BigDecimal orderAmount;
/** 采购订单日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "采购订单日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date orderDate;
/** 采购订单编号 */
@Excel(name = "采购订单编号")
private String orderNo;
/** 采购订单商品规格数 */
@Excel(name = "采购订单商品规格数")
private Integer orderSpecUnit;
/** 采购订单商品数 */
@Excel(name = "采购订单商品数")
private Integer orderGoodsUnit;
/** 采购订单总件数 */
@Excel(name = "采购订单总件数")
private Long orderSpecUnitTotal;
/** 实际金额 */
@Excel(name = "实际金额")
private BigDecimal actualAmount;
/** 运费 */
@Excel(name = "运费")
private BigDecimal freight;
/** 确认人 */
@Excel(name = "确认人")
private String confirmUser;
/** 确认时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "确认时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date confirmTime;
/** 已支付金额 */
@Excel(name = "已支付金额")
private BigDecimal payAmount;
/** 支付时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date payTime;
/** 支付次数 */
@Excel(name = "支付次数")
private Long payCount;
/** 状态0未支付1已支付 */
@Excel(name = "状态", readConverterExp = "0=未支付1已支付")
private Long status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setOrderAmount(BigDecimal orderAmount)
{
this.orderAmount = orderAmount;
}
public BigDecimal getOrderAmount()
{
return orderAmount;
}
public void setOrderDate(Date orderDate)
{
this.orderDate = orderDate;
}
public Date getOrderDate()
{
return orderDate;
}
public void setOrderNo(String orderNo)
{
this.orderNo = orderNo;
}
public String getOrderNo()
{
return orderNo;
}
public void setOrderSpecUnit(Integer orderSpecUnit)
{
this.orderSpecUnit = orderSpecUnit;
}
public Integer getOrderSpecUnit()
{
return orderSpecUnit;
}
public void setOrderGoodsUnit(Integer orderGoodsUnit)
{
this.orderGoodsUnit = orderGoodsUnit;
}
public Integer getOrderGoodsUnit()
{
return orderGoodsUnit;
}
public void setOrderSpecUnitTotal(Long orderSpecUnitTotal)
{
this.orderSpecUnitTotal = orderSpecUnitTotal;
}
public Long getOrderSpecUnitTotal()
{
return orderSpecUnitTotal;
}
public void setActualAmount(BigDecimal actualAmount)
{
this.actualAmount = actualAmount;
}
public BigDecimal getActualAmount()
{
return actualAmount;
}
public void setFreight(BigDecimal freight)
{
this.freight = freight;
}
public BigDecimal getFreight()
{
return freight;
}
public void setConfirmUser(String confirmUser)
{
this.confirmUser = confirmUser;
}
public String getConfirmUser()
{
return confirmUser;
}
public void setConfirmTime(Date confirmTime)
{
this.confirmTime = confirmTime;
}
public Date getConfirmTime()
{
return confirmTime;
}
public void setPayAmount(BigDecimal payAmount)
{
this.payAmount = payAmount;
}
public BigDecimal getPayAmount()
{
return payAmount;
}
public void setPayTime(Date payTime)
{
this.payTime = payTime;
}
public Date getPayTime()
{
return payTime;
}
public void setPayCount(Long payCount)
{
this.payCount = payCount;
}
public Long getPayCount()
{
return payCount;
}
public void setStatus(Long status)
{
this.status = status;
}
public Long getStatus()
{
return status;
}
}

@ -0,0 +1,301 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* scm_purchase_order_item
*
* @author qihang
* @date 2023-12-29
*/
public class ScmPurchaseOrderItem extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 订单id */
@Excel(name = "订单id")
private Long orderId;
/** 订单编号 */
@Excel(name = "订单编号")
private String orderNo;
/** 150501采购 150502退货 */
@Excel(name = "150501采购 150502退货")
private String transType;
/** 购货金额 */
@Excel(name = "购货金额")
private Double amount;
/** 订单日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "订单日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date orderDate;
/** 商品ID */
@Excel(name = "商品ID")
private Long goodsId;
/** 商品编码 */
@Excel(name = "商品编码")
private String goodsNum;
/** 商品规格id */
@Excel(name = "商品规格id")
private Long specId;
/** 商品规格编码 */
@Excel(name = "商品规格编码")
private String specNum;
private String goodsName;
private String colorValue;
private String colorImage;
private String sizeValue;
private String styleValue;
/** 单价 */
@Excel(name = "单价")
private BigDecimal price;
/** 折扣额 */
@Excel(name = "折扣额")
private BigDecimal disAmount;
/** 折扣率 */
@Excel(name = "折扣率")
private BigDecimal disRate;
/** 数量(采购单据) */
@Excel(name = "数量(采购单据)")
private Long quantity;
/** 已入库数量 */
@Excel(name = "已入库数量")
private Long inQty;
/** 入库的仓库id */
@Excel(name = "入库的仓库id")
private Long locationId;
/** 1删除 0正常 */
@Excel(name = "1删除 0正常")
private Integer isDelete;
/** 状态同billStatus0待审核1正常2已作废3已入库 */
@Excel(name = "状态", readConverterExp = "同=billStatus")
private Integer status;
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public String getColorValue() {
return colorValue;
}
public void setColorValue(String colorValue) {
this.colorValue = colorValue;
}
public String getColorImage() {
return colorImage;
}
public void setColorImage(String colorImage) {
this.colorImage = colorImage;
}
public String getSizeValue() {
return sizeValue;
}
public void setSizeValue(String sizeValue) {
this.sizeValue = sizeValue;
}
public String getStyleValue() {
return styleValue;
}
public void setStyleValue(String styleValue) {
this.styleValue = styleValue;
}
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setOrderId(Long orderId)
{
this.orderId = orderId;
}
public Long getOrderId()
{
return orderId;
}
public void setOrderNo(String orderNo)
{
this.orderNo = orderNo;
}
public String getOrderNo()
{
return orderNo;
}
public void setTransType(String transType)
{
this.transType = transType;
}
public String getTransType()
{
return transType;
}
public void setAmount(Double amount)
{
this.amount = amount;
}
public Double getAmount()
{
return amount;
}
public void setOrderDate(Date orderDate)
{
this.orderDate = orderDate;
}
public Date getOrderDate()
{
return orderDate;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setGoodsNum(String goodsNum)
{
this.goodsNum = goodsNum;
}
public String getGoodsNum()
{
return goodsNum;
}
public void setSpecId(Long specId)
{
this.specId = specId;
}
public Long getSpecId()
{
return specId;
}
public void setSpecNum(String specNum)
{
this.specNum = specNum;
}
public String getSpecNum()
{
return specNum;
}
public void setPrice(BigDecimal price)
{
this.price = price;
}
public BigDecimal getPrice()
{
return price;
}
public void setDisAmount(BigDecimal disAmount)
{
this.disAmount = disAmount;
}
public BigDecimal getDisAmount()
{
return disAmount;
}
public void setDisRate(BigDecimal disRate)
{
this.disRate = disRate;
}
public BigDecimal getDisRate()
{
return disRate;
}
public void setQuantity(Long quantity)
{
this.quantity = quantity;
}
public Long getQuantity()
{
return quantity;
}
public void setInQty(Long inQty)
{
this.inQty = inQty;
}
public Long getInQty()
{
return inQty;
}
public void setLocationId(Long locationId)
{
this.locationId = locationId;
}
public Long getLocationId()
{
return locationId;
}
public void setIsDelete(Integer isDelete)
{
this.isDelete = isDelete;
}
public Integer getIsDelete()
{
return isDelete;
}
public void setStatus(Integer status)
{
this.status = status;
}
public Integer getStatus()
{
return status;
}
}

@ -0,0 +1,137 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* -- fms_payable_purchase
*
* @author qihang
* @date 2024-01-28
*/
public class ScmPurchaseOrderPayable extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 供应商id */
@Excel(name = "供应商id")
private Long supplierId;
/** 供应商名称 */
@Excel(name = "供应商名称")
private String supplierName;
/** 应付金额 */
@Excel(name = "应付金额")
private BigDecimal amount;
/** 应付日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "应付日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date date;
/** 发票号码 */
@Excel(name = "发票号码")
private String invoiceNo;
/** 采购单号 */
@Excel(name = "采购单号")
private String purchaseOrderNo;
/** 采购说明 */
@Excel(name = "采购说明")
private String purchaseDesc;
/** 状态0已生成1已结算) */
@Excel(name = "状态", readConverterExp = "状态0已生成1已结算)")
private Long status;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setSupplierId(Long supplierId)
{
this.supplierId = supplierId;
}
public Long getSupplierId()
{
return supplierId;
}
public void setSupplierName(String supplierName)
{
this.supplierName = supplierName;
}
public String getSupplierName()
{
return supplierName;
}
public void setAmount(BigDecimal amount)
{
this.amount = amount;
}
public BigDecimal getAmount()
{
return amount;
}
public void setDate(Date date)
{
this.date = date;
}
public Date getDate()
{
return date;
}
public void setInvoiceNo(String invoiceNo)
{
this.invoiceNo = invoiceNo;
}
public String getInvoiceNo()
{
return invoiceNo;
}
public void setPurchaseOrderNo(String purchaseOrderNo)
{
this.purchaseOrderNo = purchaseOrderNo;
}
public String getPurchaseOrderNo()
{
return purchaseOrderNo;
}
public void setPurchaseDesc(String purchaseDesc)
{
this.purchaseDesc = purchaseDesc;
}
public String getPurchaseDesc()
{
return purchaseDesc;
}
public void setStatus(Long status)
{
this.status = status;
}
public Long getStatus()
{
return status;
}
}

@ -0,0 +1,209 @@
package cn.qihangerp.api.domain;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* scm_purchase_order_ship
*
* @author qihang
* @date 2023-12-31
*/
public class ScmPurchaseOrderShip extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 采购单ID主键 */
private Long id;
/** 物流公司 */
@Excel(name = "物流公司")
private String shipCompany;
/** 物流单号 */
@Excel(name = "物流单号")
private String shipNo;
/** 运费 */
@Excel(name = "运费")
private BigDecimal freight;
/** 运送时间 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "运送时间", width = 30, dateFormat = "yyyy-MM-dd")
private Date shipTime;
private Date receiptTime;
private Date stockInTime;
public Date getReceiptTime() {
return receiptTime;
}
public void setReceiptTime(Date receiptTime) {
this.receiptTime = receiptTime;
}
public Date getStockInTime() {
return stockInTime;
}
public void setStockInTime(Date stockInTime) {
this.stockInTime = stockInTime;
}
/** 状态0未收货1已收货2已入库 */
@Excel(name = "状态", readConverterExp = "0=未收货1已收货2已入库")
private Long status;
/** 退回数量 */
@Excel(name = "退回数量")
private Long backCount;
/** 入库数量 */
@Excel(name = "入库数量")
private Long stockInCount;
/** 采购订单日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "采购订单日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date orderDate;
/** 采购订单编号 */
@Excel(name = "采购订单编号")
private String orderNo;
/** 采购订单商品规格数 */
@Excel(name = "采购订单商品规格数")
private Integer orderSpecUnit;
/** 采购订单商品数 */
@Excel(name = "采购订单商品数")
private Integer orderGoodsUnit;
/** 采购订单总件数 */
@Excel(name = "采购订单总件数")
private Long orderSpecUnitTotal;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setShipCompany(String shipCompany)
{
this.shipCompany = shipCompany;
}
public String getShipCompany()
{
return shipCompany;
}
public void setShipNo(String shipNo)
{
this.shipNo = shipNo;
}
public String getShipNo()
{
return shipNo;
}
public void setFreight(BigDecimal freight)
{
this.freight = freight;
}
public BigDecimal getFreight()
{
return freight;
}
public void setShipTime(Date shipTime)
{
this.shipTime = shipTime;
}
public Date getShipTime()
{
return shipTime;
}
public void setStatus(Long status)
{
this.status = status;
}
public Long getStatus()
{
return status;
}
public void setBackCount(Long backCount)
{
this.backCount = backCount;
}
public Long getBackCount()
{
return backCount;
}
public void setStockInCount(Long stockInCount)
{
this.stockInCount = stockInCount;
}
public Long getStockInCount()
{
return stockInCount;
}
public void setOrderDate(Date orderDate)
{
this.orderDate = orderDate;
}
public Date getOrderDate()
{
return orderDate;
}
public void setOrderNo(String orderNo)
{
this.orderNo = orderNo;
}
public String getOrderNo()
{
return orderNo;
}
public void setOrderSpecUnit(Integer orderSpecUnit)
{
this.orderSpecUnit = orderSpecUnit;
}
public Integer getOrderSpecUnit()
{
return orderSpecUnit;
}
public void setOrderGoodsUnit(Integer orderGoodsUnit)
{
this.orderGoodsUnit = orderGoodsUnit;
}
public Integer getOrderGoodsUnit()
{
return orderGoodsUnit;
}
public void setOrderSpecUnitTotal(Long orderSpecUnitTotal)
{
this.orderSpecUnitTotal = orderSpecUnitTotal;
}
public Long getOrderSpecUnitTotal()
{
return orderSpecUnitTotal;
}
}

@ -0,0 +1,266 @@
package cn.qihangerp.api.domain;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* scm_supplier
*
* @author qihang
* @date 2023-12-29
*/
public class ScmSupplier extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 供应商名称 */
@Excel(name = "供应商名称")
private String name;
/** 供应商编码 */
@Excel(name = "供应商编码")
private String number;
/** 税率 */
@Excel(name = "税率")
private Long taxRate;
/** 期初应付款 */
@Excel(name = "期初应付款")
private Long amount;
/** 期初预付款 */
@Excel(name = "期初预付款")
private Long periodMoney;
/** 初期往来余额 */
@Excel(name = "初期往来余额")
private Long difMoney;
/** 余额日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "余额日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date beginDate;
/** 职位 */
@Excel(name = "职位")
private String place;
/** 联系人 */
@Excel(name = "联系人")
private String linkMan;
/** 联系方式 */
@Excel(name = "联系方式")
private String contact;
/** 省 */
@Excel(name = "省")
private String province;
/** 市 */
@Excel(name = "市")
private String city;
/** 区县 */
@Excel(name = "区县")
private String county;
/** 收货地址详情 */
@Excel(name = "收货地址详情")
private String address;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String pinYin;
/** 0启用 1禁用 */
@Excel(name = "0启用 1禁用")
private Integer disable;
/** 0正常 1删除 */
@Excel(name = "0正常 1删除")
private Integer isDelete;
/** 分管采购员 */
@Excel(name = "分管采购员")
private String purchaserName;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setNumber(String number)
{
this.number = number;
}
public String getNumber()
{
return number;
}
public void setTaxRate(Long taxRate)
{
this.taxRate = taxRate;
}
public Long getTaxRate()
{
return taxRate;
}
public void setAmount(Long amount)
{
this.amount = amount;
}
public Long getAmount()
{
return amount;
}
public void setPeriodMoney(Long periodMoney)
{
this.periodMoney = periodMoney;
}
public Long getPeriodMoney()
{
return periodMoney;
}
public void setDifMoney(Long difMoney)
{
this.difMoney = difMoney;
}
public Long getDifMoney()
{
return difMoney;
}
public void setBeginDate(Date beginDate)
{
this.beginDate = beginDate;
}
public Date getBeginDate()
{
return beginDate;
}
public void setPlace(String place)
{
this.place = place;
}
public String getPlace()
{
return place;
}
public void setLinkMan(String linkMan)
{
this.linkMan = linkMan;
}
public String getLinkMan()
{
return linkMan;
}
public void setContact(String contact)
{
this.contact = contact;
}
public String getContact()
{
return contact;
}
public void setProvince(String province)
{
this.province = province;
}
public String getProvince()
{
return province;
}
public void setCity(String city)
{
this.city = city;
}
public String getCity()
{
return city;
}
public void setCounty(String county)
{
this.county = county;
}
public String getCounty()
{
return county;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setPinYin(String pinYin)
{
this.pinYin = pinYin;
}
public String getPinYin()
{
return pinYin;
}
public void setDisable(Integer disable)
{
this.disable = disable;
}
public Integer getDisable()
{
return disable;
}
public void setIsDelete(Integer isDelete)
{
this.isDelete = isDelete;
}
public Integer getIsDelete()
{
return isDelete;
}
public void setPurchaserName(String purchaserName)
{
this.purchaserName = purchaserName;
}
public String getPurchaserName()
{
return purchaserName;
}
}

@ -0,0 +1,228 @@
package cn.qihangerp.api.domain;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* s_shop_goods
*
* @author qihang
* @date 2023-12-31
*/
public class ShopGoods extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 商品idPDD商品id */
@Excel(name = "商品idPDD商品id")
private Long goodsId;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long erpGoodsId;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long shopId;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long shopType;
/** 商品货号erp系统商品编码 */
@Excel(name = "商品货号erp系统商品编码")
private String goodsNum;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private String goodsName;
/** 参考价格,返回价格区间,可能为空 */
@Excel(name = "参考价格,返回价格区间,可能为空")
private String price;
/** 商品标题 */
@Excel(name = "商品标题")
private String title;
/** 主图 */
@Excel(name = "主图")
private String thumbUrl;
/** 商品图片json */
@Excel(name = "商品图片json")
private String imageUrl;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long isMoreSku;
/** $column.columnComment */
@Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
private Long isOnsale;
/** 累计销量 */
@Excel(name = "累计销量")
private Long totalSales;
/** 发布日期 */
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "发布日期", width = 30, dateFormat = "yyyy-MM-dd")
private Date publishTime;
/** $table.subTable.functionName信息 */
private List<SShopGoodsSku> sShopGoodsSkuList;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setGoodsId(Long goodsId)
{
this.goodsId = goodsId;
}
public Long getGoodsId()
{
return goodsId;
}
public void setErpGoodsId(Long erpGoodsId)
{
this.erpGoodsId = erpGoodsId;
}
public Long getErpGoodsId()
{
return erpGoodsId;
}
public void setShopId(Long shopId)
{
this.shopId = shopId;
}
public Long getShopId()
{
return shopId;
}
public void setShopType(Long shopType)
{
this.shopType = shopType;
}
public Long getShopType()
{
return shopType;
}
public void setGoodsNum(String goodsNum)
{
this.goodsNum = goodsNum;
}
public String getGoodsNum()
{
return goodsNum;
}
public void setGoodsName(String goodsName)
{
this.goodsName = goodsName;
}
public String getGoodsName()
{
return goodsName;
}
public void setPrice(String price)
{
this.price = price;
}
public String getPrice()
{
return price;
}
public void setTitle(String title)
{
this.title = title;
}
public String getTitle()
{
return title;
}
public void setThumbUrl(String thumbUrl)
{
this.thumbUrl = thumbUrl;
}
public String getThumbUrl()
{
return thumbUrl;
}
public void setImageUrl(String imageUrl)
{
this.imageUrl = imageUrl;
}
public String getImageUrl()
{
return imageUrl;
}
public void setIsMoreSku(Long isMoreSku)
{
this.isMoreSku = isMoreSku;
}
public Long getIsMoreSku()
{
return isMoreSku;
}
public void setIsOnsale(Long isOnsale)
{
this.isOnsale = isOnsale;
}
public Long getIsOnsale()
{
return isOnsale;
}
public void setTotalSales(Long totalSales)
{
this.totalSales = totalSales;
}
public Long getTotalSales()
{
return totalSales;
}
public void setPublishTime(Date publishTime)
{
this.publishTime = publishTime;
}
public Date getPublishTime()
{
return publishTime;
}
public List<SShopGoodsSku> getSShopGoodsSkuList()
{
return sShopGoodsSkuList;
}
public void setSShopGoodsSkuList(List<SShopGoodsSku> sShopGoodsSkuList)
{
this.sShopGoodsSkuList = sShopGoodsSkuList;
}
}

@ -0,0 +1,105 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
/**
*
* @TableName wms_stock_in_entry
*/
@Data
public class WmsStockInEntry implements Serializable {
/**
* ID
*/
private Long id;
/**
*
*/
private String stockInNum;
/**
*
*/
private String sourceNo;
/**
* id
*/
private Long sourceId;
/**
* 12退
*/
private Integer sourceType;
/**
*
*/
private Integer sourceGoodsUnit;
/**
*
*/
private Long sourceSpecUnitTotal;
/**
*
*/
private Integer sourceSpecUnit;
/**
*
*/
private String remark;
/**
* id
*/
private Long stockInOperatorId;
/**
*
*/
private String stockInOperator;
/**
*
*/
private Date stockInTime;
/**
* 012
*/
private Integer status;
/**
*
*/
private String createBy;
/**
*
*/
private Date createTime;
/**
*
*/
private String updateBy;
/**
*
*/
private Date updateTime;
@TableField(exist = false)
private List<WmsStockInEntryItem> wmsStockInEntryItemList;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,138 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
/**
*
* @TableName wms_stock_in_entry_item
*/
@Data
public class WmsStockInEntryItem implements Serializable {
/**
*
*/
private Long id;
/**
* id
*/
private Long entryId;
/**
* 12退
*/
private Integer sourceType;
/**
* id
*/
private Long sourceId;
/**
* itemId
*/
private Long sourceItemId;
/**
* id
*/
private Long goodsId;
/**
*
*/
private String goodsNum;
/**
*
*/
private String goodsName;
/**
* id
*/
private Long specId;
/**
*
*/
private String specNum;
/**
*
*/
private String colorValue;
/**
*
*/
private String colorImage;
/**
*
*/
private String sizeValue;
/**
*
*/
private String styleValue;
/**
*
*/
private Long originalQuantity;
/**
*
*/
private Long inQuantity;
@TableField(exist = false)
private Long quantity;
/**
*
*/
private String remark;
/**
*
*/
private Long locationId;
/**
*
*/
private String locationNum;
/**
* 012
*/
private Integer status;
/**
*
*/
private String createBy;
/**
*
*/
private Date createTime;
/**
*
*/
private String updateBy;
/**
*
*/
private Date updateTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,133 @@
package cn.qihangerp.api.domain;
import cn.qihangerp.common.annotation.Excel;
import cn.qihangerp.domain.BaseEntity;
/**
* wms_stock_location
*
* @author qihang
* @date 2024-01-09
*/
public class WmsStockLocation extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 主键ID */
private Long id;
/** 货架编号 */
@Excel(name = "货架编号")
private String number;
/** 货架名称 */
@Excel(name = "货架名称")
private String name;
/** 上级id */
@Excel(name = "上级id")
private Long parentId;
/** 层级深度1级2级3级 */
@Excel(name = "层级深度1级2级3级")
private Long depth;
/** 一级类目id */
@Excel(name = "一级类目id")
private Long parentId1;
/** 二级类目id */
@Excel(name = "二级类目id")
private Long parentId2;
/** 地址 */
@Excel(name = "地址")
private String address;
/** 0正常 1删除 */
@Excel(name = "0正常 1删除")
private Long isDelete;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setNumber(String number)
{
this.number = number;
}
public String getNumber()
{
return number;
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void setParentId(Long parentId)
{
this.parentId = parentId;
}
public Long getParentId()
{
return parentId;
}
public void setDepth(Long depth)
{
this.depth = depth;
}
public Long getDepth()
{
return depth;
}
public void setParentId1(Long parentId1)
{
this.parentId1 = parentId1;
}
public Long getParentId1()
{
return parentId1;
}
public void setParentId2(Long parentId2)
{
this.parentId2 = parentId2;
}
public Long getParentId2()
{
return parentId2;
}
public void setAddress(String address)
{
this.address = address;
}
public String getAddress()
{
return address;
}
public void setIsDelete(Long isDelete)
{
this.isDelete = isDelete;
}
public Long getIsDelete()
{
return isDelete;
}
}

@ -0,0 +1,121 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
/**
*
* @TableName wms_stock_out_entry
*/
@Data
public class WmsStockOutEntry implements Serializable {
/**
*
*/
private String id;
/**
*
*/
private String stockOutNum;
/**
*
*/
private String sourceNum;
/**
* Id
*/
private Long sourceId;
/**
* 12退34
*/
private Integer stockOutType;
/**
*
*/
private Integer goodsUnit;
/**
*
*/
private Integer specUnit;
/**
*
*/
private Integer specUnitTotal;
private int outTotal;
/**
*
*/
private String remark;
/**
* 012
*/
private Integer status;
/**
* 10
*/
private Integer printStatus;
/**
*
*/
private Date printTime;
/**
*
*/
private Date outTime;
/**
*
*/
private Date completeTime;
/**
* userid
*/
private Long operatorId;
/**
*
*/
private String operatorName;
/**
*
*/
private Date createTime;
/**
*
*/
private String createBy;
/**
*
*/
private Date updateTime;
/**
*
*/
private String updateBy;
@TableField(exist = false)
private List<WmsStockOutEntryItem> items;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,104 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
/**
*
* @TableName wms_stock_out_entry_item
*/
@Data
public class WmsStockOutEntryItem implements Serializable {
/**
* ID
*/
private String id;
/**
* 12退34
*/
private Integer stockOutType;
/**
* id
*/
private String entryId;
/**
* id
*/
private Long sourceOrderId;
/**
* itemIditemIdorder_itemidinvoice_infoid
*/
private Long sourceOrderItemId;
/**
*
*/
private String sourceOrderNum;
/**
* id
*/
private Long goodsId;
/**
* id
*/
private Long specId;
/**
*
*/
private String specNum;
/**
*
*/
private Integer originalQuantity;
/**
*
*/
private Integer outQuantity;
/**
*
*/
private Date completeTime;
/**
*
*/
private Date pickedTime;
/**
* 012
*/
private Integer status;
/**
*
*/
private Date createTime;
/**
*
*/
private Date updateTime;
@TableField(exist = false)
private Long supplierId;
/**
*
*/
@TableField(exist = false)
List<ErpGoodsInventoryDetail> inventoryDetails;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,64 @@
package cn.qihangerp.api.domain;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
/**
*
* @TableName wms_stock_out_entry_item_detail
*/
@Data
public class WmsStockOutEntryItemDetail implements Serializable {
/**
* ID
*/
private Long id;
/**
* ID
*/
private Long entryId;
/**
* ItemID
*/
private Long entryItemId;
/**
* ID
*/
private Long goodsInventoryId;
/**
* ID
*/
private Long goodsInventoryDetailId;
/**
*
*/
private Integer quantity;
/**
* ID
*/
private Integer locationId;
/**
* userid
*/
private Long operatorId;
/**
*
*/
private String operatorName;
/**
*
*/
private Date outTime;
private static final long serialVersionUID = 1L;
}

@ -0,0 +1,80 @@
package cn.qihangerp.api.domain.bo;
import java.math.BigDecimal;
public class GoodsSpecAddBo {
private Long colorId;
private String colorValue;
private Long sizeId;
private String sizeValue;
private Long styleId;
private String styleValue;
private String specNum;
private BigDecimal purPrice;
public Long getColorId() {
return colorId;
}
public void setColorId(Long colorId) {
this.colorId = colorId;
}
public String getColorValue() {
return colorValue;
}
public void setColorValue(String colorValue) {
this.colorValue = colorValue;
}
public Long getSizeId() {
return sizeId;
}
public void setSizeId(Long sizeId) {
this.sizeId = sizeId;
}
public String getSizeValue() {
return sizeValue;
}
public void setSizeValue(String sizeValue) {
this.sizeValue = sizeValue;
}
public Long getStyleId() {
return styleId;
}
public void setStyleId(Long styleId) {
this.styleId = styleId;
}
public String getStyleValue() {
return styleValue;
}
public void setStyleValue(String styleValue) {
this.styleValue = styleValue;
}
public String getSpecNum() {
return specNum;
}
public void setSpecNum(String specNum) {
this.specNum = specNum;
}
public BigDecimal getPurPrice() {
return purPrice;
}
public void setPurPrice(BigDecimal purPrice) {
this.purPrice = purPrice;
}
}

@ -0,0 +1,9 @@
package cn.qihangerp.api.domain.bo;
import lombok.Data;
@Data
public class OrderItemSpecIdUpdateBo {
private Long orderItemId;
private Long erpGoodsSpecId;
}

@ -0,0 +1,80 @@
package cn.qihangerp.api.domain.bo;
import cn.qihangerp.domain.BaseEntity;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* scm_purchase_order
*
* @author qihang
* @date 2023-12-29
*/
public class PurchaseOrderAddBo extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** 供应商id */
private Long contactId;
/** 订单编号 */
private String orderNo;
/** 订单日期 */
private Date orderDate;
/** 订单总金额 */
private BigDecimal orderAmount;
private List<PurchaseOrderAddItemBo> goodsList;
public List<PurchaseOrderAddItemBo> getGoodsList() {
return goodsList;
}
public void setGoodsList(List<PurchaseOrderAddItemBo> goodsList) {
this.goodsList = goodsList;
}
public void setContactId(Long contactId)
{
this.contactId = contactId;
}
public Long getContactId()
{
return contactId;
}
public void setOrderNo(String orderNo)
{
this.orderNo = orderNo;
}
public String getOrderNo()
{
return orderNo;
}
public void setOrderDate(Date orderDate)
{
this.orderDate = orderDate;
}
public Date getOrderDate()
{
return orderDate;
}
public void setOrderAmount(BigDecimal orderAmount)
{
this.orderAmount = orderAmount;
}
public BigDecimal getOrderAmount()
{
return orderAmount;
}
}

@ -0,0 +1,124 @@
package cn.qihangerp.api.domain.bo;
import java.math.BigDecimal;
import java.util.Date;
/**
* scm_purchase_order
*
* @author qihang
* @date 2023-12-29
*/
public class PurchaseOrderAddItemBo {
private static final long serialVersionUID = 1L;
private Long id;
private String colorImage;
private String name;
private BigDecimal purPrice;
private Long qty;
private BigDecimal amount;
private Long goodsId;
private String colorValue;
private String number;
private String sizeValue;
private String specNum;
private String styleValue;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getColorImage() {
return colorImage;
}
public void setColorImage(String colorImage) {
this.colorImage = colorImage;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public BigDecimal getPurPrice() {
return purPrice;
}
public void setPurPrice(BigDecimal purPrice) {
this.purPrice = purPrice;
}
public Long getQty() {
return qty;
}
public void setQty(Long qty) {
this.qty = qty;
}
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public Long getGoodsId() {
return goodsId;
}
public void setGoodsId(Long goodsId) {
this.goodsId = goodsId;
}
public String getColorValue() {
return colorValue;
}
public void setColorValue(String colorValue) {
this.colorValue = colorValue;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getSizeValue() {
return sizeValue;
}
public void setSizeValue(String sizeValue) {
this.sizeValue = sizeValue;
}
public String getSpecNum() {
return specNum;
}
public void setSpecNum(String specNum) {
this.specNum = specNum;
}
public String getStyleValue() {
return styleValue;
}
public void setStyleValue(String styleValue) {
this.styleValue = styleValue;
}
}

@ -0,0 +1,111 @@
package cn.qihangerp.api.domain.bo;
import java.math.BigDecimal;
import java.util.Date;
public class PurchaseOrderOptionBo {
private Long id;
private String optionType;//操作类型audit审核confirm确认和供应商确认成功SupplierShip供应商发货
private String remark;
private String auditUser;
private String confirmUser;//采购单确认人
// 供应商发货
private Date supplierDeliveryTime;
private String shipCompany;
private String shipNo;
private BigDecimal shipCost;
private BigDecimal totalAmount;
private String updateBy;
public String getConfirmUser() {
return confirmUser;
}
public void setConfirmUser(String confirmUser) {
this.confirmUser = confirmUser;
}
public BigDecimal getShipCost() {
return shipCost;
}
public void setShipCost(BigDecimal shipCost) {
this.shipCost = shipCost;
}
public BigDecimal getTotalAmount() {
return totalAmount;
}
public void setTotalAmount(BigDecimal totalAmount) {
this.totalAmount = totalAmount;
}
public Date getSupplierDeliveryTime() {
return supplierDeliveryTime;
}
public void setSupplierDeliveryTime(Date supplierDeliveryTime) {
this.supplierDeliveryTime = supplierDeliveryTime;
}
public String getShipCompany() {
return shipCompany;
}
public void setShipCompany(String shipCompany) {
this.shipCompany = shipCompany;
}
public String getShipNo() {
return shipNo;
}
public void setShipNo(String shipNo) {
this.shipNo = shipNo;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getOptionType() {
return optionType;
}
public void setOptionType(String optionType) {
this.optionType = optionType;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getAuditUser() {
return auditUser;
}
public void setAuditUser(String auditUser) {
this.auditUser = auditUser;
}
}

@ -0,0 +1,37 @@
package cn.qihangerp.api.domain.bo;
import cn.qihangerp.domain.BaseEntity;
import java.util.List;
/**
* scm_purchase_order
*
* @author qihang
* @date 2023-12-29
*/
public class PurchaseOrderStockInBo extends BaseEntity
{
private static final long serialVersionUID = 1L;
private Long id;//采购单id
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
private List<PurchaseOrderStockInItemBo> goodsList;
public List<PurchaseOrderStockInItemBo> getGoodsList() {
return goodsList;
}
public void setGoodsList(List<PurchaseOrderStockInItemBo> goodsList) {
this.goodsList = goodsList;
}
}

@ -0,0 +1,131 @@
package cn.qihangerp.api.domain.bo;
import cn.qihangerp.domain.BaseEntity;
/**
* scm_purchase_order
*
* @author qihang
* @date 2023-12-29
*/
public class PurchaseOrderStockInItemBo extends BaseEntity {
private static final long serialVersionUID = 1L;
private Long id;
private Long orderId;
private Long goodsId;
private String goodsNum;
private Long specId;
private String specNum;
private String goodsName;
private String colorValue;
private String colorImage;
private String sizeValue;
private String styleValue;
private Long quantity;
private Long inQty;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public Long getGoodsId() {
return goodsId;
}
public void setGoodsId(Long goodsId) {
this.goodsId = goodsId;
}
public String getGoodsNum() {
return goodsNum;
}
public void setGoodsNum(String goodsNum) {
this.goodsNum = goodsNum;
}
public Long getSpecId() {
return specId;
}
public void setSpecId(Long specId) {
this.specId = specId;
}
public String getSpecNum() {
return specNum;
}
public void setSpecNum(String specNum) {
this.specNum = specNum;
}
public String getGoodsName() {
return goodsName;
}
public void setGoodsName(String goodsName) {
this.goodsName = goodsName;
}
public String getColorValue() {
return colorValue;
}
public void setColorValue(String colorValue) {
this.colorValue = colorValue;
}
public String getColorImage() {
return colorImage;
}
public void setColorImage(String colorImage) {
this.colorImage = colorImage;
}
public String getSizeValue() {
return sizeValue;
}
public void setSizeValue(String sizeValue) {
this.sizeValue = sizeValue;
}
public String getStyleValue() {
return styleValue;
}
public void setStyleValue(String styleValue) {
this.styleValue = styleValue;
}
public Long getQuantity() {
return quantity;
}
public void setQuantity(Long quantity) {
this.quantity = quantity;
}
public Long getInQty() {
return inQty;
}
public void setInQty(Long inQty) {
this.inQty = inQty;
}
}

@ -0,0 +1,10 @@
package cn.qihangerp.api.domain.bo;
import lombok.Data;
@Data
public class RefundBo {
private Long shopId;
private String originalOrderId;
private Integer status;
}

@ -0,0 +1,16 @@
package cn.qihangerp.api.domain.bo;
import lombok.Data;
import java.util.List;
@Data
public class ShipOrderSupplierShipBo {
private Long erpOrderId;
private String logisticsCompany;
private String logisticsCode;
private Float logisticsFee;
private String shipTime;
private String remark;
private List<ShipOrderSupplierShipItemBo> itemList;
}

@ -0,0 +1,9 @@
package cn.qihangerp.api.domain.bo;
import lombok.Data;
@Data
public class ShipOrderSupplierShipItemBo {
private Long id;
private Float purAmount;
}

@ -0,0 +1,74 @@
package cn.qihangerp.api.domain.bo;
public class StockOutBo {
/** entry_item 主键ID */
private Long entryItemId;
/** 出库单id */
private Long entryId;
/** 商品规格id */
private Long specId;
/** 库存详情id**/
private Long inventoryDetailId;
private Integer outQty;
private Long operatorId;
private String operatorName;
public Long getOperatorId() {
return operatorId;
}
public void setOperatorId(Long operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public Long getEntryItemId() {
return entryItemId;
}
public Long getInventoryDetailId() {
return inventoryDetailId;
}
public void setInventoryDetailId(Long inventoryDetailId) {
this.inventoryDetailId = inventoryDetailId;
}
public void setEntryItemId(Long entryItemId) {
this.entryItemId = entryItemId;
}
public Long getEntryId() {
return entryId;
}
public void setEntryId(Long entryId) {
this.entryId = entryId;
}
public Long getSpecId() {
return specId;
}
public void setSpecId(Long specId) {
this.specId = specId;
}
public Integer getOutQty() {
return outQty;
}
public void setOutQty(Integer outQty) {
this.outQty = outQty;
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save