package doumeemes.api.ext;
|
|
import doumeemes.api.BaseController;
|
import doumeemes.core.annotation.excel.ExcelExporter;
|
import doumeemes.core.annotation.pr.PreventRepeat;
|
import doumeemes.core.annotation.trace.Trace;
|
import doumeemes.core.model.ApiResponse;
|
import doumeemes.core.model.PageWrap;
|
import doumeemes.core.model.PageData;
|
import doumeemes.core.utils.DateUtil;
|
import doumeemes.dao.business.model.WStock;
|
import doumeemes.dao.ext.beanDto.QueryWStockDto;
|
import doumeemes.dao.ext.beanDto.QueryWStockHeadNewDTO;
|
import doumeemes.dao.ext.beanDto.QueryWTransferDto;
|
import doumeemes.dao.ext.dto.QueryWStockExtDTO;
|
import doumeemes.dao.ext.vo.WStockExtListVO;
|
import doumeemes.dao.ext.vo.WTransferExtListVO;
|
import doumeemes.service.business.WStockService;
|
import doumeemes.service.ext.WStockExtService;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParams;
|
import io.swagger.annotations.ApiOperation;
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.Iterator;
|
import java.util.List;
|
|
/**
|
* 物料库存余额信息接口
|
* @author 江蹄蹄
|
* @date 2022/04/20 10:56
|
*/
|
@RestController
|
@RequestMapping("/ext/wStockExt")
|
@Api(tags = "物料库存余额信息接口")
|
@Trace(withRequestResult = false,withRequestParameters = false)
|
public class WStockExtController extends BaseController {
|
|
@Autowired
|
private WStockExtService wStockExtService;
|
|
@Autowired
|
private WStockService wStockService;
|
|
// @PreventRepeat
|
// @ApiOperation("新建")
|
// @PostMapping("/create")
|
// @RequiresPermissions("ext:wstockext:create")
|
// public ApiResponse create(@RequestBody WStock wStock) {
|
// return ApiResponse.success(wStockService.create(wStock));
|
// }
|
//
|
// @ApiOperation("根据ID删除")
|
// @GetMapping("/delete/{id}")
|
// @RequiresPermissions("ext:wstockext:delete")
|
// public ApiResponse deleteById(@PathVariable Integer id) {
|
// wStockService.deleteById(id);
|
// return ApiResponse.success(null);
|
// }
|
//
|
// @ApiOperation("批量删除")
|
// @GetMapping("/delete/batch")
|
// @RequiresPermissions("ext:wstockext:delete")
|
// public ApiResponse deleteByIds(@RequestParam String ids) {
|
// String [] idArray = ids.split(",");
|
// List<Integer> idList = new ArrayList<>();
|
// for (String id : idArray) {
|
// idList.add(Integer.valueOf(id));
|
// }
|
// wStockService.deleteByIdInBatch(idList);
|
// return ApiResponse.success(null);
|
// }
|
//
|
// @ApiOperation("根据ID修改")
|
// @PostMapping("/updateById")
|
// @RequiresPermissions("ext:wstockext:update")
|
// public ApiResponse updateById(@RequestBody WStock wStock) {
|
// wStockService.updateById(wStock);
|
// return ApiResponse.success(null);
|
// }
|
//
|
// @ApiOperation("分页查询")
|
// @PostMapping("/page")
|
// @RequiresPermissions("ext:wstockext:query")
|
// public ApiResponse<PageData<WStockExtListVO>> findPage (@RequestBody PageWrap<QueryWStockExtDTO> pageWrap) {
|
// return ApiResponse.success(wStockExtService.findPage(pageWrap));
|
// }
|
//
|
@ApiOperation("导出Excel")
|
@PostMapping("/exportExcel")
|
@RequiresPermissions("ext:wstockext:exportExcel")
|
public void exportExcel (@RequestBody PageWrap<QueryWStockDto> pageWrap, HttpServletResponse response) throws Exception{
|
ExcelExporter.build(WStockExtListVO.class).export(wStockExtService.findListPage(pageWrap).getRecords(), "物料库存余额信息"+ DateUtil.getNowLongTime(), response);
|
}
|
//
|
// @ApiOperation("根据ID查询")
|
// @GetMapping("/{id}")
|
// @RequiresPermissions("ext:wstockext:query")
|
// public ApiResponse findById(@PathVariable Integer id) {
|
// return ApiResponse.success(wStockService.findById(id));
|
// }
|
|
@ApiOperation("库存量查询")
|
@PostMapping("/page")
|
@RequiresPermissions("ext:wstockext:query")
|
public ApiResponse<PageData<WStockExtListVO>> page (@RequestBody PageWrap<QueryWStockDto> pageWrap) {
|
return ApiResponse.success(wStockExtService.findListPage(pageWrap));
|
}
|
|
@ApiOperation("库存量查询 - H5")
|
@PostMapping("/pageForH5")
|
@RequiresPermissions("ext:wstockext:query")
|
public ApiResponse<PageData<WStockExtListVO>> pageForH5 (@RequestBody PageWrap<QueryWStockDto> pageWrap) {
|
return ApiResponse.success(wStockExtService.findListPage(pageWrap));
|
}
|
|
@ApiOperation("根据仓库查询库存")
|
@PostMapping("/choiceStockListPage")
|
public ApiResponse<PageData<WStockExtListVO>> choiceStockListPage (@RequestBody PageWrap<QueryWStockDto> pageWrap) {
|
return ApiResponse.success(wStockExtService.choiceStockListPage(pageWrap));
|
}
|
|
|
@ApiOperation("根据转库单查询库存")
|
@PostMapping("/choiceStockPageByTransfer")
|
public ApiResponse<PageData<WStockExtListVO>> choiceStockPageByTransfer (@RequestBody PageWrap<QueryWStockHeadNewDTO> pageWrap) {
|
return ApiResponse.success(wStockExtService.choiceStockPageByTransfer(pageWrap));
|
}
|
|
/**
|
* 批量导入库存记录
|
*
|
* @param request
|
* @param response
|
* @throws Exception
|
*/
|
@ApiOperation(value = "批量导入库存记录", notes = "批量导入库存记录", httpMethod = "POST", position = 6)
|
@ApiImplicitParams({
|
@ApiImplicitParam(name = "folder", value = "文件夹", required = true, paramType = "query", dataType = "String", dataTypeClass = String.class),
|
})
|
@PostMapping(value = "/importBatch", headers = "content-type=multipart/form-data")
|
public ApiResponse importBatch(String folder, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver();
|
String msg = null;
|
if (multipartResovler.isMultipart(request)) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
Iterator<String> it = multipartRequest.getFileNames();
|
while (it.hasNext()) {
|
MultipartFile file = multipartRequest.getFile((String) it.next());// file
|
msg = wStockExtService.importStock(file);
|
break;
|
}
|
}
|
|
return ApiResponse.success( msg);
|
}
|
}
|