package com.kmall.admin.controller.haikong; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.kmall.admin.dto.StockChangeDto; import com.kmall.admin.dto.StockChangeRecordDto; import com.kmall.admin.entity.haikong.StockChangeEntity; import com.kmall.admin.haikong.constant.Constants; import com.kmall.admin.service.haikong.StockChangeService; import com.kmall.common.constant.JxlsXmlTemplateName; import com.kmall.common.utils.PageUtils; import com.kmall.common.utils.Query; import com.kmall.common.utils.R; import com.kmall.common.utils.excel.ExcelUtil; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; /** * Controller * * @author emato * @email admin@qhdswl.com * @date 2021-12-29 14:46:49 */ @Controller @RequestMapping("stockchange") public class StockChangeController { @Autowired private StockChangeService stockChangeService; @Autowired private ExcelUtil excelUtil; private final static Logger log = LoggerFactory.getLogger(StockChangeController.class); /** * 查看列表 */ @RequestMapping("/list") @ResponseBody public R list(@RequestParam Map params) { //查询列表数据 Query query = new Query(params); List stockChangeList = stockChangeService.queryList(query); int total = stockChangeService.queryTotal(query); PageUtils pageUtil = new PageUtils(stockChangeList, total, query.getLimit(), query.getPage()); return R.ok().put("page", pageUtil); } /** * 查看信息 */ @RequestMapping("/info/{id}") @ResponseBody public R info(@PathVariable("id") String id) { StockChangeEntity stockChange = stockChangeService.queryObject(id); return R.ok().put("stockChange", stockChange); } /** * 保存 */ @RequestMapping("/save") @ResponseBody public R save(@RequestBody StockChangeEntity stockChange) { stockChangeService.save(stockChange); return R.ok(); } /** * 修改 */ @RequestMapping("/update") @ResponseBody public R update(@RequestBody StockChangeEntity stockChange) { stockChangeService.update(stockChange); return R.ok(); } /** * 删除 */ @RequestMapping("/delete") @ResponseBody public R delete(@RequestBody String[]ids) { stockChangeService.deleteBatch(ids); return R.ok(); } /** * 查看所有列表 */ @RequestMapping("/queryAll") @ResponseBody public R queryAll(@RequestParam Map params) { List list = stockChangeService.queryList(params); return R.ok().put("list", list); } /** * 导入excel */ @PostMapping("/upload") @ResponseBody public R storeUpload(@RequestParam("file") MultipartFile file) { List stockChangeRecordDtos = new ArrayList<>(); StockChangeDto stockChangeDto = new StockChangeDto(); try { StockChangeRecordDto stockChangeRecordDto = new StockChangeRecordDto(); Map beans = new HashMap(); beans.put("StockChangeRecordDto", stockChangeRecordDto); beans.put("StockChangeRecordDtoList", stockChangeRecordDtos); beans.put("StockChangeDto", stockChangeDto); if (file.isEmpty()) { return R.error("文件不能为空!"); } excelUtil.readExcel(JxlsXmlTemplateName.STOCK_CHANGE_DTO_LIST, beans, file.getInputStream()); } catch (Exception e) { log.error("导入出入库记录失败:", e); return R.error("导入失败!"); } try { stockChangeService.uploadExcel(stockChangeRecordDtos, stockChangeDto); } catch (RuntimeException e){ log.error("出入库记录导入数据写入表失败:", e); return R.error(e.getMessage()); } //上传文件 return R.ok("导入成功!"); } @PostMapping("/audit") // @RequiresPermissions("stockchange:audit") @ResponseBody public R audit (@RequestBody Map params) { String[] strings = new String[]{}; stockChangeService.updateAuditStatus(((List) params.get("ids")).toArray(strings), (String) params.get("type")); return R.ok(); } }