package com.wms_admin.server.controller;
|
|
|
import com.alibaba.excel.EasyExcel;
|
import com.alibaba.excel.write.style.HorizontalCellStyleStrategy;
|
import com.alibaba.fastjson.JSON;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.wms_admin.server.entity.OrderInformation;
|
import com.wms_admin.server.entity.OutProduct;
|
import com.wms_admin.server.entity.Product;
|
import com.wms_admin.server.service.OrderInformationService;
|
import com.wms_admin.server.service.OutProductService;
|
import com.wms_admin.server.service.ProductService;
|
import com.wms_admin.utils.Result;
|
import com.wms_admin.utils.StyleUtils;
|
import io.swagger.annotations.*;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* <p>
|
* 前端控制器
|
* </p>
|
*
|
* @author 江苏鵷雏网络科技有限公司
|
* @since 2023-05-24
|
*/
|
@Api(tags = "出库操作")
|
@RestController
|
@RequestMapping("/out")
|
public class OutProductController {
|
|
@Autowired
|
private OutProductService service;
|
|
@Autowired
|
private OrderInformationService infoService;
|
|
@Autowired
|
private ProductService productService;
|
|
@ApiOperation(value = "添加出库订单信息与出库记录")
|
@PostMapping("/add")
|
public Result<Map<String, Object>> ListAddOutProduct(@RequestBody OrderInformation orderInformation) {
|
// 添加表单信息:成功大于0,失败0
|
Integer orderInformationId = infoService.AddOrderInformation(orderInformation);
|
if (orderInformationId == 1){
|
return Result.success("出库成功!");
|
}
|
return Result.fail("出库失败!");
|
}
|
|
@ApiOperation(value = "根据条形码查询Mysql中的入库数据表")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "code", value = "数据库主键Code", dataTypeClass = String.class, required = true)
|
})
|
@GetMapping("/code")
|
public Result<Product> SelectIdProduct(String code) {
|
Product product = productService.SelectIdProduct(code);
|
return Result.success(product);
|
}
|
|
@ApiOperation(value = "出库记录")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "startTime", value = "开始时间", dataTypeClass = String.class, required = false),
|
@ApiImplicitParam(name = "endTime", value = "结束时间", dataTypeClass = String.class, required = false),
|
@ApiImplicitParam(name = "productModel", value = "型号", dataTypeClass = String.class, required = false),
|
@ApiImplicitParam(name = "pageNo", value = "起始页", dataTypeClass = Integer.class, required = true),
|
@ApiImplicitParam(name = "pageSize", value = "页总数", dataTypeClass = Integer.class, required = true)
|
})
|
@GetMapping("/list")
|
public Result<Map<String, Object>> ListOutProduct(String startTime, String endTime, String productModel, Integer pageNo, Integer pageSize) {
|
IPage<OutProduct> data = service.SelectOutProductPage(startTime, endTime, productModel, new Page(pageNo, pageSize));
|
Map<String, Object> map = new HashMap<>();
|
map.put("row", data.getRecords());
|
map.put("total", data.getTotal());
|
return Result.success(map);
|
}
|
|
@ApiOperation(value = "出库Excel导出")
|
@GetMapping("/excel")
|
@ApiImplicitParams(value = {
|
@ApiImplicitParam(name = "startTime",value = "开始时间", dataTypeClass = String.class,required = false),
|
@ApiImplicitParam(name = "endTime",value = "结束时间", dataTypeClass = String.class,required = false),
|
@ApiImplicitParam(name = "productModel",value = "设备型号", dataTypeClass = String.class,required = false),
|
})
|
public void ExcelDerive(String startTime, String endTime, String productModel, HttpServletResponse response
|
) throws IOException {
|
List<Product> map = productService.ExcelDerive(startTime, endTime, productModel);
|
// 设置单元格样式
|
HorizontalCellStyleStrategy horizontalCellStyleStrategy = new HorizontalCellStyleStrategy(StyleUtils.getHeadStyle(), StyleUtils.getContentStyle());
|
// 保存到第一个sheet中
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
|
response.setHeader("requestType","excel");
|
response.setHeader("Access-Control-Expose-Headers", "requestType");
|
EasyExcel
|
.write(response.getOutputStream(), Product.class)
|
.sheet()
|
.needHead(true)
|
.registerWriteHandler(horizontalCellStyleStrategy)
|
.doWrite(map);
|
}
|
}
|