package com.jeesite.modules.mes.web; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import com.jeesite.common.lang.DateUtils; import com.jeesite.common.utils.excel.ExcelExport; import com.jeesite.modules.mes.entity.MesWarehouse; import com.jeesite.modules.mes.entity.MesWarehouseInItems; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.jeesite.common.config.Global; import com.jeesite.common.entity.Page; import com.jeesite.common.web.BaseController; import com.jeesite.modules.mes.entity.MesWarehouseOut; import com.jeesite.modules.mes.entity.MesWarehouseOutItems; import com.jeesite.modules.mes.service.MesWarehouseOutService; /** * 出库记录Controller * @author hzd * @version 2023-06-28 */ @Controller @RequestMapping(value = "${adminPath}/mes/mesWarehouseOut") public class MesWarehouseOutController extends BaseController { @Autowired private MesWarehouseOutService mesWarehouseOutService; /** * 获取数据 */ @ModelAttribute public MesWarehouseOut get(String id, boolean isNewRecord) { return mesWarehouseOutService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("mes:mesWarehouseOut:view") @RequestMapping(value = {"list", ""}) public String list(MesWarehouseOut mesWarehouseOut, Model model) { model.addAttribute("mesWarehouseOut", mesWarehouseOut); return "modules/mes/mesWarehouseOutList"; } /** * 查询列表数据 */ @RequiresPermissions("mes:mesWarehouseOut:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MesWarehouseOut mesWarehouseOut, HttpServletRequest request, HttpServletResponse response) { mesWarehouseOut.setPage(new Page<>(request, response)); Page page = mesWarehouseOutService.findPage(mesWarehouseOut); return page; } @RequiresPermissions("mes:mesWarehouseOut:view") @RequestMapping(value = {"items"}) public String items(MesWarehouseOutItems mesWarehouseOutItems, Model model) { model.addAttribute("mesWarehouseOutItems", mesWarehouseOutItems); return "modules/mes/mesWarehouseOutItems"; } /** * 查询子表数据 */ @RequiresPermissions("mes:mesWarehouseOut:view") @RequestMapping(value = "mesWarehouseOutItemsListData") @ResponseBody public Page subListData(MesWarehouseOutItems mesWarehouseOutItems, HttpServletRequest request, HttpServletResponse response) { mesWarehouseOutItems.setPage(new Page<>(request, response)); Page page = mesWarehouseOutService.findSubPage(mesWarehouseOutItems); return page; } /** * 查看编辑表单 */ @RequiresPermissions("mes:mesWarehouseOut:view") @RequestMapping(value = "form") public String form(MesWarehouseOut mesWarehouseOut, Model model) { logger.info(JSON.toJSONString(mesWarehouseOut)); logger.info(JSON.toJSONString(mesWarehouseOut.getMesWarehouseOutItemsList())); model.addAttribute("mesWarehouseOut", mesWarehouseOut); return "modules/mes/mesWarehouseOutForm"; } @RequiresPermissions("mes:mesWarehouseOut:view") @RequestMapping(value = "info") public String info(MesWarehouseOut mesWarehouseOut, Model model) { model.addAttribute("mesWarehouseOut", mesWarehouseOut); return "modules/mes/mesWarehouseOutInfo"; } /** * 保存数据 */ @RequiresPermissions("mes:mesWarehouseOut:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated MesWarehouseOut mesWarehouseOut) { mesWarehouseOutService.save(mesWarehouseOut); return renderResult(Global.TRUE, text("保存出库单成功!")); } /** * 删除数据 */ @RequiresPermissions("mes:mesWarehouseOut:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(MesWarehouseOut mesWarehouseOut) { mesWarehouseOutService.delete(mesWarehouseOut); return renderResult(Global.TRUE, text("删除出库单成功!")); } /** * 导出数据 */ @RequiresPermissions("mes:mesWarehouseOut:view") @RequestMapping(value = "exportData") public void exportData(MesWarehouseOutItems mesWarehouseOutItems, HttpServletResponse response) { List list = mesWarehouseOutService.findSubList(mesWarehouseOutItems); String fileName = "物料出库记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; try(ExcelExport ee = new ExcelExport("物料出库记录", MesWarehouseOutItems.class)){ ee.setDataList(list).write(response, fileName); } } }