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.*; import com.jeesite.modules.mes.resp.CommonResp; 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.service.MesWarehouseRefundService; /** * 退货单Controller * @author hzd * @version 2023-06-28 */ @Controller @RequestMapping(value = "${adminPath}/mes/mesWarehouseRefund") public class MesWarehouseRefundController extends BaseController { @Autowired private MesWarehouseRefundService mesWarehouseRefundService; /** * 获取数据 */ @ModelAttribute public MesWarehouseRefund get(String id, boolean isNewRecord) { return mesWarehouseRefundService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("mes:mesWarehouseRefund:view") @RequestMapping(value = {"list", ""}) public String list(MesWarehouseRefund mesWarehouseRefund, Model model) { model.addAttribute("mesWarehouseRefund", mesWarehouseRefund); return "modules/mes/mesWarehouseRefundList"; } /** * 查询列表数据 */ @RequiresPermissions("mes:mesWarehouseRefund:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MesWarehouseRefund mesWarehouseRefund, HttpServletRequest request, HttpServletResponse response) { mesWarehouseRefund.setPage(new Page<>(request, response)); Page page = mesWarehouseRefundService.findPage(mesWarehouseRefund); return page; } @RequiresPermissions("mes:mesWarehouseRefund:view") @RequestMapping(value = {"items", ""}) public String items(MesWarehouseRefund mesWarehouseRefund, Model model) { model.addAttribute("mesWarehouseRefund", mesWarehouseRefund); return "modules/mes/mesWarehouseRefundItems"; } /** * 查询子表数据 */ @RequiresPermissions("mes:mesWarehouseRefund:view") @RequestMapping(value = "mesWarehouseRefundItemsListData") @ResponseBody public Page subListData(MesWarehouseRefundItems mesWarehouseRefundItems, HttpServletRequest request, HttpServletResponse response) { mesWarehouseRefundItems.setPage(new Page<>(request, response)); Page page = mesWarehouseRefundService.findSubPage(mesWarehouseRefundItems); return page; } /** * 查看编辑表单 */ @RequiresPermissions("mes:mesWarehouseRefund:view") @RequestMapping(value = "form") public String form(MesWarehouseRefund mesWarehouseRefund, Model model) { model.addAttribute("mesWarehouseRefund", mesWarehouseRefund); return "modules/mes/mesWarehouseRefundForm"; } @RequiresPermissions("mes:mesWarehouseRefund:view") @RequestMapping(value = "info") public String info(MesWarehouseRefund mesWarehouseRefund, Model model) { model.addAttribute("mesWarehouseRefund", mesWarehouseRefund); return "modules/mes/mesWarehouseRefundInfo"; } /** * 保存数据 */ @RequiresPermissions("mes:mesWarehouseRefund:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated MesWarehouseRefund mesWarehouseRefund) { mesWarehouseRefundService.save(mesWarehouseRefund); return renderResult(Global.TRUE, text("保存退货单成功!")); } /** * 删除数据 */ @RequiresPermissions("mes:mesWarehouseRefund:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(MesWarehouseRefund mesWarehouseRefund) { mesWarehouseRefundService.delete(mesWarehouseRefund); return renderResult(Global.TRUE, text("删除退货单成功!")); } /** * 导出数据 */ @RequiresPermissions("mes:mesWarehouseRefund:view") @RequestMapping(value = "exportData") public void exportData(MesWarehouseRefundItems mesWarehouseRefundItems, HttpServletResponse response) { List list = mesWarehouseRefundService.findSubList(mesWarehouseRefundItems); String fileName = "物料退货记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; try(ExcelExport ee = new ExcelExport("物料退货记录", MesWarehouseRefundItems.class)){ ee.setDataList(list).write(response, fileName); } } @RequiresPermissions("mes:mesWarehouseIn:api") @PostMapping(value = "add") @ResponseBody public String add(@Validated MesWarehouseRefund mesWarehouseRefund, HttpServletRequest request) { // String items = request.getParameter("items"); // if(items.isEmpty()){ // return renderResult(Global.FALSE, text("请选择物料!")); // } // List list = JSON.parseArray(items,MesWarehouseRefundItems.class); List list = mesWarehouseRefund.getMesWarehouseRefundItemsList(); if(list.size() == 0){ return renderResult(Global.FALSE, text("请选择物料!")); } for (int i = 0; i < list.size(); i++) { if(list.get(i).getWarehouseId().isEmpty()){ return renderResult(Global.FALSE, text("参数错误!")); } if(list.get(i).getCount() <= 0){ return renderResult(Global.FALSE, text("物料数量必须大于0")); } } // mesWarehouseRefund.setMesWarehouseRefundItemsList(list); mesWarehouseRefundService.save(mesWarehouseRefund); return renderResult(Global.TRUE, text("操作成功!")); } @RequiresPermissions("mes:mesWarehouseIn:api") @RequestMapping(value = "ulist") @ResponseBody public CommonResp ulist(MesWarehouseRefund mesWarehouseRefund, HttpServletRequest request, HttpServletResponse response) { mesWarehouseRefund.setPage(new Page<>(request, response)); Page page = mesWarehouseRefundService.findPage(mesWarehouseRefund); CommonResp resp = new CommonResp<>(); resp.setData(page); resp.setResult(Global.TRUE); return resp; } }