diff --git a/src/main/java/com/yeqifu/bus/controller/OutportController.java b/src/main/java/com/yeqifu/bus/controller/OutportController.java index fb557a4..6c8d30c 100644 --- a/src/main/java/com/yeqifu/bus/controller/OutportController.java +++ b/src/main/java/com/yeqifu/bus/controller/OutportController.java @@ -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接口,用于处理集合 /** - *

- * InnoDB free: 9216 kB 前端控制器 - *

- * - * @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 page = new Page(outportVo.getPage(),outportVo.getLimit()); - QueryWrapper queryWrapper = new QueryWrapper(); - //对供应商进行查询 - 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 page1 = outportService.page(page, queryWrapper); - List 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 page = new Page<>(outportVo.getPage(), outportVo.getLimit()); // 创建分页对象,传入当前页和每页大小 + QueryWrapper 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 page1 = outportService.page(page, queryWrapper); // 调用服务层分页查询方法 + List 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; // 返回操作失败的结果对象 } } - - } - diff --git a/src/main/java/com/yeqifu/bus/controller/ProviderController.java b/src/main/java/com/yeqifu/bus/controller/ProviderController.java index 22c03cb..af38741 100644 --- a/src/main/java/com/yeqifu/bus/controller/ProviderController.java +++ b/src/main/java/com/yeqifu/bus/controller/ProviderController.java @@ -1,117 +1,177 @@ package com.yeqifu.bus.controller; - +// 声明类所在的包 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +// 导入MyBatis-Plus的QueryWrapper类,用于条件查询 + import com.baomidou.mybatisplus.core.metadata.IPage; +// 导入MyBatis-Plus的IPage接口,用于分页 + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +// 导入MyBatis-Plus的Page类,用于创建分页对象 + import com.yeqifu.bus.entity.Provider; +// 导入Provider实体类,表示供应商信息 + import com.yeqifu.bus.service.IProviderService; +// 导入IProviderService接口,用于调用供应商相关的业务逻辑 + import com.yeqifu.bus.vo.ProviderVo; +// 导入ProviderVo类,封装供应商查询和操作的请求参数 + import com.yeqifu.sys.common.Constast; +// 导入Constast类,包含通用的常量定义 + import com.yeqifu.sys.common.DataGridView; +// 导入DataGridView类,用于返回表格数据格式 + import com.yeqifu.sys.common.ResultObj; +// 导入ResultObj类,用于返回操作结果的统一格式 + import org.apache.commons.lang3.StringUtils; +// 导入StringUtils工具类,用于字符串判空和处理 + import org.springframework.beans.factory.annotation.Autowired; +// 导入Spring框架的Autowired注解,用于自动注入Bean + import org.springframework.web.bind.annotation.RequestMapping; +// 导入RequestMapping注解,用于映射URL路径 + import org.springframework.web.bind.annotation.RestController; +// 导入RestController注解,标识为REST风格的控制器 import java.util.List; +// 导入Java的List接口,用于处理集合 /** - *

- * InnoDB free: 9216 kB 前端控制器 - *

- * - * @author luoyi- - * @since 2019-12-05 + * 供应商控制器类,负责供应商相关的增删改查和查询接口 */ @RestController +// 标识该类为REST风格的控制器,返回JSON格式数据 @RequestMapping("/provider") +// 将该类的基础URL路径设置为"/provider" public class ProviderController { @Autowired + // 自动注入IProviderService接口的实现类 private IProviderService providerService; /** * 查询所有的供应商 - * @param providerVo - * @return + * @param providerVo 封装查询参数的对象 + * @return 返回表格数据,包含供应商列表 */ @RequestMapping("loadAllProvider") - public DataGridView loadAllProvider(ProviderVo providerVo){ - //1.声明一个分页page对象 - IPage page = new Page(providerVo.getPage(),providerVo.getLimit()); - //2.声明一个queryWrapper - QueryWrapper queryWrapper = new QueryWrapper(); - queryWrapper.like(StringUtils.isNotBlank(providerVo.getProvidername()),"providername",providerVo.getProvidername()); - queryWrapper.like(StringUtils.isNotBlank(providerVo.getConnectionperson()),"connectionperson",providerVo.getConnectionperson()); - queryWrapper.like(StringUtils.isNotBlank(providerVo.getPhone()),"phone",providerVo.getPhone()); - providerService.page(page,queryWrapper); - return new DataGridView(page.getTotal(),page.getRecords()); + // 映射URL路径为"/provider/loadAllProvider" + public DataGridView loadAllProvider(ProviderVo providerVo) { + IPage page = new Page<>(providerVo.getPage(), providerVo.getLimit()); + // 创建分页对象,传入当前页和每页大小 + + QueryWrapper queryWrapper = new QueryWrapper<>(); + // 创建QueryWrapper对象,用于构造查询条件 + + queryWrapper.like(StringUtils.isNotBlank(providerVo.getProvidername()), "providername", providerVo.getProvidername()); + // 如果供应商名称不为空,添加模糊查询条件 + + queryWrapper.like(StringUtils.isNotBlank(providerVo.getConnectionperson()), "connectionperson", providerVo.getConnectionperson()); + // 如果联系人名称不为空,添加模糊查询条件 + + queryWrapper.like(StringUtils.isNotBlank(providerVo.getPhone()), "phone", providerVo.getPhone()); + // 如果联系方式不为空,添加模糊查询条件 + + providerService.page(page, queryWrapper); + // 调用服务层的分页查询方法 + + return new DataGridView(page.getTotal(), page.getRecords()); + // 返回DataGridView对象,包含总记录数和分页记录列表 } /** * 添加一个供应商 - * @param providerVo - * @return + * @param providerVo 封装供应商信息的对象 + * @return 返回操作结果 */ @RequestMapping("addProvider") - public ResultObj addProvider(ProviderVo providerVo){ + // 映射URL路径为"/provider/addProvider" + public ResultObj addProvider(ProviderVo providerVo) { try { providerService.save(providerVo); + // 调用服务层方法,保存供应商信息 + return ResultObj.ADD_SUCCESS; + // 返回操作成功的结果对象 } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.ADD_ERROR; + // 返回操作失败的结果对象 } } /** * 修改一个供应商 - * @param providerVo - * @return + * @param providerVo 封装供应商信息的对象 + * @return 返回操作结果 */ @RequestMapping("updateProvider") - public ResultObj updateProvider(ProviderVo providerVo){ + // 映射URL路径为"/provider/updateProvider" + public ResultObj updateProvider(ProviderVo providerVo) { try { providerService.updateById(providerVo); + // 调用服务层方法,根据ID更新供应商信息 + return ResultObj.UPDATE_SUCCESS; + // 返回操作成功的结果对象 } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.UPDATE_ERROR; + // 返回操作失败的结果对象 } } - /** * 删除一个供应商 - * @param id - * @return + * @param id 供应商ID + * @return 返回操作结果 */ @RequestMapping("deleteProvider") - public ResultObj deleteProvider(Integer id){ + // 映射URL路径为"/provider/deleteProvider" + public ResultObj deleteProvider(Integer id) { try { providerService.deleteProviderById(id); + // 调用服务层方法,根据ID删除供应商信息 + return ResultObj.DELETE_SUCCESS; + // 返回操作成功的结果对象 } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.DELETE_ERROR; + // 返回操作失败的结果对象 } } - /** * 加载所有可用的供应商 - * @return + * @return 返回供应商列表 */ @RequestMapping("loadAllProviderForSelect") - public DataGridView loadAllProviderForSelect(){ - QueryWrapper queryWrapper = new QueryWrapper(); + // 映射URL路径为"/provider/loadAllProviderForSelect" + public DataGridView loadAllProviderForSelect() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + // 创建QueryWrapper对象,用于构造查询条件 + queryWrapper.eq("available", Constast.AVAILABLE_TRUE); + // 查询条件为供应商状态可用 + List list = providerService.list(queryWrapper); + // 调用服务层方法,获取符合条件的供应商列表 + return new DataGridView(list); + // 返回DataGridView对象,包含供应商列表 } - - } - diff --git a/src/main/java/com/yeqifu/bus/controller/SalesController.java b/src/main/java/com/yeqifu/bus/controller/SalesController.java index 7c3c046..0ffe046 100644 --- a/src/main/java/com/yeqifu/bus/controller/SalesController.java +++ b/src/main/java/com/yeqifu/bus/controller/SalesController.java @@ -1,137 +1,219 @@ package com.yeqifu.bus.controller; - +// 声明类所在的包 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +// 导入QueryWrapper类,用于构建查询条件 + import com.baomidou.mybatisplus.core.metadata.IPage; +// 导入IPage接口,用于分页功能 + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +// 导入Page类,用于创建分页对象 + import com.yeqifu.bus.entity.Customer; +// 导入Customer实体类,表示客户信息 + import com.yeqifu.bus.entity.Goods; +// 导入Goods实体类,表示商品信息 + import com.yeqifu.bus.entity.Sales; +// 导入Sales实体类,表示销售信息 + import com.yeqifu.bus.service.ICustomerService; +// 导入ICustomerService接口,用于处理客户业务逻辑 + import com.yeqifu.bus.service.IGoodsService; +// 导入IGoodsService接口,用于处理商品业务逻辑 + import com.yeqifu.bus.service.ISalesService; +// 导入ISalesService接口,用于处理销售信息的业务逻辑 + import com.yeqifu.bus.vo.SalesVo; +// 导入SalesVo类,用于封装查询参数 + import com.yeqifu.sys.common.DataGridView; +// 导入DataGridView类,用于返回表格数据 + import com.yeqifu.sys.common.ResultObj; +// 导入ResultObj类,用于统一返回操作结果 + import com.yeqifu.sys.common.WebUtils; +// 导入WebUtils工具类,用于处理会话信息 + import com.yeqifu.sys.entity.User; +// 导入User实体类,表示用户信息 + import org.springframework.beans.factory.annotation.Autowired; +// 导入@Autowired注解,用于自动注入服务对象 + import org.springframework.web.bind.annotation.RequestMapping; +// 导入@RequestMapping注解,用于映射请求路径 + import org.springframework.web.bind.annotation.RestController; +// 导入@RestController注解,标识该类为REST控制器 import java.util.Date; +// 导入Date类,用于处理日期时间 + import java.util.List; +// 导入Java集合类List,用于处理列表数据 /** - *

- * InnoDB free: 9216 kB 前端控制器 - *

- * - * @author luoyi- - * @since 2019-12-21 + * 商品销售控制器类 + * 负责处理与商品销售信息相关的请求 */ @RestController +// 标识该类为REST风格的控制器 @RequestMapping("/sales") +// 将类的基础URL路径映射为"/sales" public class SalesController { @Autowired + // 自动注入ISalesService接口的实现类 private ISalesService salesService; @Autowired + // 自动注入ICustomerService接口的实现类 private ICustomerService customerService; @Autowired + // 自动注入IGoodsService接口的实现类 private IGoodsService goodsService; /** * 查询所有商品销售信息 - * @param salesVo - * @return + * @param salesVo 封装查询参数的对象 + * @return 返回表格数据 */ @RequestMapping("loadAllSales") - public DataGridView loadAllSales(SalesVo salesVo){ - IPage page = new Page<>(salesVo.getPage(),salesVo.getLimit()); - QueryWrapper queryWrapper = new QueryWrapper(); - //根据客户进行模糊查询 - queryWrapper.eq(salesVo.getCustomerid()!=null&&salesVo.getCustomerid()!=0,"customerid",salesVo.getCustomerid()); - //根据商品模糊查询 - queryWrapper.eq(salesVo.getGoodsid()!=null&&salesVo.getGoodsid()!=0,"goodsid",salesVo.getGoodsid()); - //根据时间进行模糊查询 - queryWrapper.ge(salesVo.getStartTime()!=null,"salestime",salesVo.getStartTime()); - queryWrapper.le(salesVo.getEndTime()!=null,"salestime",salesVo.getEndTime()); + // 映射URL路径为"/sales/loadAllSales" + public DataGridView loadAllSales(SalesVo salesVo) { + IPage page = new Page<>(salesVo.getPage(), salesVo.getLimit()); + // 创建分页对象,指定当前页和每页记录数 + + QueryWrapper queryWrapper = new QueryWrapper<>(); + // 创建QueryWrapper对象,用于构建查询条件 + + queryWrapper.eq(salesVo.getCustomerid() != null && salesVo.getCustomerid() != 0, "customerid", salesVo.getCustomerid()); + // 如果客户ID不为空且不为0,添加客户ID的查询条件 + + queryWrapper.eq(salesVo.getGoodsid() != null && salesVo.getGoodsid() != 0, "goodsid", salesVo.getGoodsid()); + // 如果商品ID不为空且不为0,添加商品ID的查询条件 + + queryWrapper.ge(salesVo.getStartTime() != null, "salestime", salesVo.getStartTime()); + // 如果开始时间不为空,添加大于等于开始时间的查询条件 + + queryWrapper.le(salesVo.getEndTime() != null, "salestime", salesVo.getEndTime()); + // 如果结束时间不为空,添加小于等于结束时间的查询条件 + IPage page1 = salesService.page(page, queryWrapper); + // 调用服务层分页查询方法,获取分页数据 + List records = page1.getRecords(); + // 获取分页记录列表 + for (Sales sales : records) { - //设置客户姓名 + // 遍历销售信息列表 + Customer customer = customerService.getById(sales.getCustomerid()); - if(null!=customer){ + // 根据销售信息中的客户ID查询客户信息 + + if (null != customer) { sales.setCustomername(customer.getCustomername()); + // 如果客户信息存在,设置客户名称 } - //设置商品名称 + Goods goods = goodsService.getById(sales.getGoodsid()); - if (null!=goods){ - //设置商品名称 + // 根据销售信息中的商品ID查询商品信息 + + if (null != goods) { sales.setGoodsname(goods.getGoodsname()); - //设置商品规格 + // 如果商品信息存在,设置商品名称 + sales.setSize(goods.getSize()); + // 设置商品规格 } } - return new DataGridView(page1.getTotal(),page1.getRecords()); + + return new DataGridView(page1.getTotal(), page1.getRecords()); + // 返回DataGridView对象,包含总记录数和分页记录列表 } /** * 添加商品销售信息 - * @param salesVo - * @return + * @param salesVo 封装销售信息的对象 + * @return 返回操作结果 */ @RequestMapping("addSales") - public ResultObj addSales(SalesVo salesVo){ + // 映射URL路径为"/sales/addSales" + public ResultObj addSales(SalesVo salesVo) { try { - //获得当前系统用户 User user = (User) WebUtils.getSession().getAttribute("user"); - //设置操作人 + // 从会话中获取当前系统用户 + salesVo.setOperateperson(user.getName()); - //设置销售时间 + // 设置操作人姓名 + salesVo.setSalestime(new Date()); + // 设置销售时间为当前时间 + salesService.save(salesVo); + // 调用服务层方法保存销售信息 + return ResultObj.ADD_SUCCESS; - }catch (Exception e) { + // 返回添加成功的结果对象 + } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.ADD_ERROR; + // 返回添加失败的结果对象 } } /** * 更新商品销售信息 - * @param salesVo - * @return + * @param salesVo 封装需要更新的销售信息 + * @return 返回操作结果 */ @RequestMapping("updateSales") - public ResultObj updateSales(SalesVo salesVo){ + // 映射URL路径为"/sales/updateSales" + public ResultObj updateSales(SalesVo salesVo) { try { salesService.updateById(salesVo); + // 调用服务层方法根据ID更新销售信息 + return ResultObj.UPDATE_SUCCESS; + // 返回更新成功的结果对象 } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.UPDATE_ERROR; + // 返回更新失败的结果对象 } } /** * 删除商品销售信息 - * @param id - * @return + * @param id 要删除的销售信息ID + * @return 返回操作结果 */ @RequestMapping("deleteSales") - public ResultObj deleteSales(Integer id){ + // 映射URL路径为"/sales/deleteSales" + public ResultObj deleteSales(Integer id) { try { salesService.removeById(id); + // 调用服务层方法根据ID删除销售信息 + return ResultObj.DELETE_SUCCESS; + // 返回删除成功的结果对象 } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.DELETE_ERROR; + // 返回删除失败的结果对象 } } - } - diff --git a/src/main/java/com/yeqifu/bus/controller/SalesbackController.java b/src/main/java/com/yeqifu/bus/controller/SalesbackController.java index 05a1e77..878036a 100644 --- a/src/main/java/com/yeqifu/bus/controller/SalesbackController.java +++ b/src/main/java/com/yeqifu/bus/controller/SalesbackController.java @@ -1,116 +1,182 @@ package com.yeqifu.bus.controller; - +// 声明类所在的包 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +// 导入QueryWrapper类,用于构建查询条件 + import com.baomidou.mybatisplus.core.metadata.IPage; +// 导入IPage接口,用于分页功能 + import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +// 导入Page类,用于创建分页对象 + import com.yeqifu.bus.entity.Customer; +// 导入Customer实体类,表示客户信息 + import com.yeqifu.bus.entity.Goods; +// 导入Goods实体类,表示商品信息 + import com.yeqifu.bus.entity.Salesback; +// 导入Salesback实体类,表示销售退货信息 + import com.yeqifu.bus.service.ICustomerService; +// 导入ICustomerService接口,用于处理客户业务逻辑 + import com.yeqifu.bus.service.IGoodsService; +// 导入IGoodsService接口,用于处理商品业务逻辑 + import com.yeqifu.bus.service.ISalesbackService; +// 导入ISalesbackService接口,用于处理销售退货业务逻辑 + import com.yeqifu.bus.vo.SalesbackVo; +// 导入SalesbackVo类,用于封装查询参数 + import com.yeqifu.sys.common.DataGridView; +// 导入DataGridView类,用于返回表格数据 + import com.yeqifu.sys.common.ResultObj; +// 导入ResultObj类,用于统一返回操作结果 + import org.springframework.beans.factory.annotation.Autowired; +// 导入@Autowired注解,用于自动注入服务对象 + import org.springframework.web.bind.annotation.RequestMapping; +// 导入@RequestMapping注解,用于映射请求路径 + import org.springframework.web.bind.annotation.RestController; +// 导入@RestController注解,标识该类为REST控制器 import java.util.List; +// 导入Java集合类List,用于处理列表数据 /** - *

- * InnoDB free: 9216 kB 前端控制器 - *

- * - * @author luoyi- - * @since 2019-12-23 + * 销售退货控制器类 + * 负责处理与销售退货相关的请求 */ @RestController +// 标识该类为REST风格的控制器 @RequestMapping("/salesback") +// 将类的基础URL路径映射为"/salesback" public class SalesbackController { @Autowired + // 自动注入ISalesbackService接口的实现类 private ISalesbackService salesbackService; @Autowired + // 自动注入ICustomerService接口的实现类 private ICustomerService customerService; @Autowired + // 自动注入IGoodsService接口的实现类 private IGoodsService goodsService; /** * 添加退货信息 - * @param id 进货单ID - * @param number 退货数量 - * @param remark 备注 - * @return + * @param id 退货的销售单ID + * @param number 退货数量 + * @param remark 备注信息 + * @return 返回操作结果 */ @RequestMapping("addSalesback") - public ResultObj addSalesback(Integer id,Integer number,String remark){ + // 映射URL路径为"/salesback/addSalesback" + public ResultObj addSalesback(Integer id, Integer number, String remark) { try { - salesbackService.addSalesback(id,number,remark); + salesbackService.addSalesback(id, number, remark); + // 调用服务层方法添加退货记录 + return ResultObj.BACKINPORT_SUCCESS; + // 返回退货成功的结果对象 } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.BACKINPORT_ERROR; + // 返回退货失败的结果对象 } } /** - * 查询商品销售退货 - * @param salesbackVo - * @return + * 查询商品销售退货记录 + * @param salesbackVo 封装查询参数的对象 + * @return 返回表格数据 */ @RequestMapping("loadAllSalesback") - public DataGridView loadAllSalesback(SalesbackVo salesbackVo){ - IPage page = new Page(salesbackVo.getPage(),salesbackVo.getLimit()); - QueryWrapper queryWrapper = new QueryWrapper(); - //对客户进行查询 - queryWrapper.eq(salesbackVo.getCustomerid()!=null&&salesbackVo.getCustomerid()!=0,"customerid",salesbackVo.getCustomerid()); - //对商品进行查询 - queryWrapper.eq(salesbackVo.getGoodsid()!=null&&salesbackVo.getGoodsid()!=0,"goodsid",salesbackVo.getGoodsid()); - //对时间进行查询要求大于开始时间小于结束时间 - queryWrapper.ge(salesbackVo.getStartTime()!=null,"salesbacktime",salesbackVo.getStartTime()); - queryWrapper.le(salesbackVo.getEndTime()!=null,"salesbacktime",salesbackVo.getEndTime()); - //通过商品退货时间对商品进行排序 + // 映射URL路径为"/salesback/loadAllSalesback" + public DataGridView loadAllSalesback(SalesbackVo salesbackVo) { + IPage page = new Page<>(salesbackVo.getPage(), salesbackVo.getLimit()); + // 创建分页对象,指定当前页和每页记录数 + + QueryWrapper queryWrapper = new QueryWrapper<>(); + // 创建QueryWrapper对象,用于构建查询条件 + + queryWrapper.eq(salesbackVo.getCustomerid() != null && salesbackVo.getCustomerid() != 0, "customerid", salesbackVo.getCustomerid()); + // 如果客户ID不为空且不为0,添加客户ID的查询条件 + + queryWrapper.eq(salesbackVo.getGoodsid() != null && salesbackVo.getGoodsid() != 0, "goodsid", salesbackVo.getGoodsid()); + // 如果商品ID不为空且不为0,添加商品ID的查询条件 + + queryWrapper.ge(salesbackVo.getStartTime() != null, "salesbacktime", salesbackVo.getStartTime()); + // 如果开始时间不为空,添加大于等于开始时间的查询条件 + + queryWrapper.le(salesbackVo.getEndTime() != null, "salesbacktime", salesbackVo.getEndTime()); + // 如果结束时间不为空,添加小于等于结束时间的查询条件 + queryWrapper.orderByDesc("salesbacktime"); + // 按照退货时间降序排列 + salesbackService.page(page, queryWrapper); + // 调用服务层分页查询方法,获取分页数据 + List records = page.getRecords(); + // 获取分页记录列表 + for (Salesback salesback : records) { - System.out.println("============================"); + // 遍历退货记录列表 Customer customer = customerService.getById(salesback.getCustomerid()); - if (customer!=null){ - //设置客户姓名 + // 根据退货记录中的客户ID查询客户信息 + + if (customer != null) { salesback.setCustomername(customer.getCustomername()); + // 如果客户信息存在,设置客户名称 } + Goods goods = goodsService.getById(salesback.getGoodsid()); - if (goods!=null){ - //设置商品名称 + // 根据退货记录中的商品ID查询商品信息 + + if (goods != null) { salesback.setGoodsname(goods.getGoodsname()); - //设置商品规格 + // 如果商品信息存在,设置商品名称 + salesback.setSize(goods.getSize()); + // 设置商品规格 } } - return new DataGridView(page.getTotal(),page.getRecords()); + + return new DataGridView(page.getTotal(), page.getRecords()); + // 返回DataGridView对象,包含总记录数和分页记录列表 } /** - * 删除商品销售退回信息 - * @param id - * @return + * 删除商品销售退货记录 + * @param id 要删除的退货记录ID + * @return 返回操作结果 */ @RequestMapping("deleteSalesback") - public ResultObj deleteSalesback(Integer id){ + // 映射URL路径为"/salesback/deleteSalesback" + public ResultObj deleteSalesback(Integer id) { try { salesbackService.removeById(id); + // 调用服务层方法,根据ID删除退货记录 + return ResultObj.DELETE_SUCCESS; + // 返回删除成功的结果对象 } catch (Exception e) { e.printStackTrace(); + // 打印异常信息 + return ResultObj.DELETE_ERROR; + // 返回删除失败的结果对象 } } - } -