|
|
|
@ -1,116 +1,105 @@
|
|
|
|
|
package com.yeqifu.bus.controller;
|
|
|
|
|
|
|
|
|
|
package com.yeqifu.bus.controller; // 声明类所在的包
|
|
|
|
|
|
|
|
|
|
// 导入MyBatis-Plus框架相关工具类,用于条件查询和分页处理
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
// 导入实体类,分别表示商品、退货记录和供应商
|
|
|
|
|
import com.yeqifu.bus.entity.Goods;
|
|
|
|
|
import com.yeqifu.bus.entity.Outport;
|
|
|
|
|
import com.yeqifu.bus.entity.Provider;
|
|
|
|
|
// 导入服务接口,用于实现业务逻辑的调用
|
|
|
|
|
import com.yeqifu.bus.service.IGoodsService;
|
|
|
|
|
import com.yeqifu.bus.service.IOutportService;
|
|
|
|
|
import com.yeqifu.bus.service.IProviderService;
|
|
|
|
|
// 导入数据传输对象和通用响应结果类
|
|
|
|
|
import com.yeqifu.bus.vo.OutportVo;
|
|
|
|
|
import com.yeqifu.sys.common.DataGridView;
|
|
|
|
|
import com.yeqifu.sys.common.ResultObj;
|
|
|
|
|
// 导入Spring框架注解
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.List; // 导入Java标准库中的List接口,用于处理集合
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* <p>
|
|
|
|
|
* InnoDB free: 9216 kB 前端控制器
|
|
|
|
|
* </p>
|
|
|
|
|
*
|
|
|
|
|
* @author luoyi-
|
|
|
|
|
* @since 2019-12-19
|
|
|
|
|
* OutportController类是一个RESTful控制器,负责退货记录的管理
|
|
|
|
|
*/
|
|
|
|
|
@RestController
|
|
|
|
|
@RequestMapping("/outport")
|
|
|
|
|
@RestController // 标识该类为REST风格的控制器,返回结果以JSON格式序列化
|
|
|
|
|
@RequestMapping("/outport") // 设置基础URL路径为"/outport"
|
|
|
|
|
public class OutportController {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
@Autowired // 自动注入退货服务类,用于处理退货业务逻辑
|
|
|
|
|
private IOutportService outportService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
@Autowired // 自动注入供应商服务类,用于查询供应商信息
|
|
|
|
|
private IProviderService providerService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
@Autowired // 自动注入商品服务类,用于查询商品信息
|
|
|
|
|
private IGoodsService goodsService;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 添加退货信息
|
|
|
|
|
* @param id 进货单ID
|
|
|
|
|
* @param number 退货数量
|
|
|
|
|
* @param remark 备注
|
|
|
|
|
* @return
|
|
|
|
|
* 添加退货记录
|
|
|
|
|
* @param id 进货单ID
|
|
|
|
|
* @param number 退货数量
|
|
|
|
|
* @param remark 退货备注
|
|
|
|
|
* @return 返回操作结果
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping("addOutport")
|
|
|
|
|
public ResultObj addOutport(Integer id,Integer number,String remark){
|
|
|
|
|
@RequestMapping("addOutport") // 映射URL路径为"/outport/addOutport"
|
|
|
|
|
public ResultObj addOutport(Integer id, Integer number, String remark) { // 定义添加退货记录的方法
|
|
|
|
|
try {
|
|
|
|
|
outportService.addOutport(id,number,remark);
|
|
|
|
|
return ResultObj.BACKINPORT_SUCCESS;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return ResultObj.BACKINPORT_ERROR;
|
|
|
|
|
outportService.addOutport(id, number, remark); // 调用服务层方法,执行添加退货逻辑
|
|
|
|
|
return ResultObj.BACKINPORT_SUCCESS; // 返回操作成功的结果对象
|
|
|
|
|
} catch (Exception e) { // 捕获异常
|
|
|
|
|
e.printStackTrace(); // 打印异常信息到控制台
|
|
|
|
|
return ResultObj.BACKINPORT_ERROR; // 返回操作失败的结果对象
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**t
|
|
|
|
|
* 查询商品退货
|
|
|
|
|
* @param outportVo
|
|
|
|
|
* @return
|
|
|
|
|
/**
|
|
|
|
|
* 查询退货记录
|
|
|
|
|
* @param outportVo 查询条件对象,包含分页信息和过滤条件
|
|
|
|
|
* @return 返回分页数据和退货记录
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping("loadAllOutport")
|
|
|
|
|
public DataGridView loadAllOuport(OutportVo outportVo){
|
|
|
|
|
IPage<Outport> page = new Page<Outport>(outportVo.getPage(),outportVo.getLimit());
|
|
|
|
|
QueryWrapper<Outport> queryWrapper = new QueryWrapper<Outport>();
|
|
|
|
|
//对供应商进行查询
|
|
|
|
|
queryWrapper.eq(outportVo.getProviderid()!=null&&outportVo.getProviderid()!=0,"providerid",outportVo.getProviderid());
|
|
|
|
|
//对商品进行查询
|
|
|
|
|
queryWrapper.eq(outportVo.getGoodsid()!=null&&outportVo.getGoodsid()!=0,"goodsid",outportVo.getGoodsid());
|
|
|
|
|
//对时间进行查询要求大于开始时间小于结束时间
|
|
|
|
|
queryWrapper.ge(outportVo.getStartTime()!=null,"outputtime",outportVo.getStartTime());
|
|
|
|
|
queryWrapper.le(outportVo.getEndTime()!=null,"outputtime",outportVo.getEndTime());
|
|
|
|
|
//通过进货时间对商品进行排序
|
|
|
|
|
queryWrapper.orderByDesc("outputtime");
|
|
|
|
|
IPage<Outport> page1 = outportService.page(page, queryWrapper);
|
|
|
|
|
List<Outport> records = page1.getRecords();
|
|
|
|
|
for (Outport ouport : records) {
|
|
|
|
|
Provider provider = providerService.getById(ouport.getProviderid());
|
|
|
|
|
if (provider!=null){
|
|
|
|
|
//设置供应商姓名
|
|
|
|
|
ouport.setProvidername(provider.getProvidername());
|
|
|
|
|
@RequestMapping("loadAllOutport") // 映射URL路径为"/outport/loadAllOutport"
|
|
|
|
|
public DataGridView loadAllOuport(OutportVo outportVo) { // 定义查询退货记录的方法
|
|
|
|
|
IPage<Outport> page = new Page<>(outportVo.getPage(), outportVo.getLimit()); // 创建分页对象,传入当前页和每页大小
|
|
|
|
|
QueryWrapper<Outport> queryWrapper = new QueryWrapper<>(); // 创建条件查询封装器
|
|
|
|
|
queryWrapper.eq(outportVo.getProviderid() != null && outportVo.getProviderid() != 0, "providerid", outportVo.getProviderid()); // 如果供应商ID不为空且不为0,添加供应商查询条件
|
|
|
|
|
queryWrapper.eq(outportVo.getGoodsid() != null && outportVo.getGoodsid() != 0, "goodsid", outportVo.getGoodsid()); // 如果商品ID不为空且不为0,添加商品查询条件
|
|
|
|
|
queryWrapper.ge(outportVo.getStartTime() != null, "outputtime", outportVo.getStartTime()); // 如果开始时间不为空,添加起始时间查询条件
|
|
|
|
|
queryWrapper.le(outportVo.getEndTime() != null, "outputtime", outportVo.getEndTime()); // 如果结束时间不为空,添加结束时间查询条件
|
|
|
|
|
queryWrapper.orderByDesc("outputtime"); // 按退货时间倒序排序
|
|
|
|
|
IPage<Outport> page1 = outportService.page(page, queryWrapper); // 调用服务层分页查询方法
|
|
|
|
|
List<Outport> records = page1.getRecords(); // 获取分页查询结果中的记录列表
|
|
|
|
|
for (Outport ouport : records) { // 遍历每条退货记录
|
|
|
|
|
Provider provider = providerService.getById(ouport.getProviderid()); // 根据供应商ID查询供应商信息
|
|
|
|
|
if (provider != null) { // 如果供应商信息存在
|
|
|
|
|
ouport.setProvidername(provider.getProvidername()); // 设置退货记录中的供应商名称
|
|
|
|
|
}
|
|
|
|
|
Goods goods = goodsService.getById(ouport.getGoodsid());
|
|
|
|
|
if (goods!=null){
|
|
|
|
|
//设置商品名称
|
|
|
|
|
ouport.setGoodsname(goods.getGoodsname());
|
|
|
|
|
//设置商品规格
|
|
|
|
|
ouport.setSize(goods.getSize());
|
|
|
|
|
Goods goods = goodsService.getById(ouport.getGoodsid()); // 根据商品ID查询商品信息
|
|
|
|
|
if (goods != null) { // 如果商品信息存在
|
|
|
|
|
ouport.setGoodsname(goods.getGoodsname()); // 设置退货记录中的商品名称
|
|
|
|
|
ouport.setSize(goods.getSize()); // 设置退货记录中的商品规格
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return new DataGridView(page1.getTotal(),page1.getRecords());
|
|
|
|
|
return new DataGridView(page1.getTotal(), page1.getRecords()); // 返回分页数据和记录列表
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 删除退货信息
|
|
|
|
|
* @param id
|
|
|
|
|
* @return
|
|
|
|
|
* 删除退货记录
|
|
|
|
|
* @param id 退货记录ID
|
|
|
|
|
* @return 返回操作结果
|
|
|
|
|
*/
|
|
|
|
|
@RequestMapping("deleteOutport")
|
|
|
|
|
public ResultObj deleteOutport(Integer id){
|
|
|
|
|
@RequestMapping("deleteOutport") // 映射URL路径为"/outport/deleteOutport"
|
|
|
|
|
public ResultObj deleteOutport(Integer id) { // 定义删除退货记录的方法
|
|
|
|
|
try {
|
|
|
|
|
outportService.removeById(id);
|
|
|
|
|
return ResultObj.DELETE_SUCCESS;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
return ResultObj.DELETE_ERROR;
|
|
|
|
|
outportService.removeById(id); // 调用服务层方法,根据ID删除退货记录
|
|
|
|
|
return ResultObj.DELETE_SUCCESS; // 返回操作成功的结果对象
|
|
|
|
|
} catch (Exception e) { // 捕获异常
|
|
|
|
|
e.printStackTrace(); // 打印异常信息到控制台
|
|
|
|
|
return ResultObj.DELETE_ERROR; // 返回操作失败的结果对象
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|