package com.jeesite.modules.mes.web; import com.alibaba.druid.util.StringUtils; import com.jeesite.common.collect.ListUtils; import com.jeesite.common.collect.MapUtils; import com.jeesite.common.config.Global; import com.jeesite.common.entity.Page; import com.jeesite.common.lang.DateUtils; import com.jeesite.common.lang.ObjectUtils; import com.jeesite.common.utils.excel.ExcelExport; import com.jeesite.common.web.BaseController; import com.jeesite.modules.file.entity.FileUpload; import com.jeesite.modules.file.service.FileUploadService; import com.jeesite.modules.file.utils.FileUploadUtils; import com.jeesite.modules.mes.entity.MesProduct; import com.jeesite.modules.mes.entity.MesRepair; import com.jeesite.modules.mes.entity.MesScrap; import com.jeesite.modules.mes.resp.CommonResp; import com.jeesite.modules.mes.service.MesProductService; import com.jeesite.modules.mes.service.MesScrapService; import com.jeesite.modules.sys.entity.User; import com.jeesite.modules.sys.utils.UserUtils; 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 javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.transaction.Transactional; import java.util.List; import java.util.Map; /** * 报废记录Controller * @author mes * @version 2023-11-27 */ @Controller @RequestMapping(value = "${adminPath}/mes/mesScrap") public class MesScrapController extends BaseController { @Autowired private MesScrapService mesScrapService; @Autowired private MesProductService mesProductService; @Autowired private FileUploadService fileUploadService; /** * 获取数据 */ @ModelAttribute public MesScrap get(String id, boolean isNewRecord) { return mesScrapService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("mes:mesScrap:view") @RequestMapping(value = {"list", ""}) public String list(MesScrap mesScrap, Model model) { model.addAttribute("mesScrap", mesScrap); return "modules/mes/mesScrapList"; } /** * 查询列表数据 */ @RequiresPermissions("mes:mesScrap:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MesScrap mesScrap, HttpServletRequest request, HttpServletResponse response) { mesScrap.setPage(new Page<>(request, response)); Page page = mesScrapService.findPage(mesScrap); return page; } /** * 查看编辑表单 */ @RequiresPermissions("mes:mesScrap:view") @RequestMapping(value = "form") public String form(MesScrap mesScrap, Model model) { model.addAttribute("mesScrap", mesScrap); return "modules/mes/mesScrapForm"; } @RequiresPermissions("mes:mesScrap:view") @RequestMapping(value = "detail") public String detail(MesScrap mesScrap, Model model) { model.addAttribute("mesScrap", mesScrap); return "modules/mes/mesScrapDetail"; } /** * 保存数据 */ @RequiresPermissions("mes:mesScrap:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated MesScrap mesScrap) { mesScrapService.save(mesScrap); return renderResult(Global.TRUE, text("保存报废记录成功!")); } /** * 删除数据 */ @RequiresPermissions("mes:mesScrap:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(MesScrap mesScrap) { mesScrapService.delete(mesScrap); return renderResult(Global.TRUE, text("删除报废记录成功!")); } /** * 导出数据 */ @RequiresPermissions("mes:mesScrap:view") @RequestMapping(value = "exportData") public void exportData(MesScrap mesScrap, HttpServletResponse response) { List list = mesScrapService.findList(mesScrap); String fileName = "报废记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; try(ExcelExport ee = new ExcelExport("报废记录", MesScrap.class)){ ee.setDataList(list).write(response, fileName); } } @RequiresPermissions("mes:mesScrap:api") @RequestMapping(value = "add") @ResponseBody @Transactional public CommonResp add(MesScrap mesScrap, HttpServletRequest request) { Map map = MapUtils.newHashMap(); CommonResp> resp = new CommonResp<>(); resp.setResult(Global.FALSE); if(StringUtils.isEmpty(mesScrap.getSn())){ resp.setMessage("工件码不能为空"); return resp; } if(StringUtils.isEmpty(mesScrap.getReason())){ resp.setMessage("报废原因不能为空!"); return resp; } MesProduct mesProduct1 = new MesProduct(); mesProduct1.setSn(mesScrap.getSn()); mesProduct1.setCate(mesScrap.getProductCate()); MesProduct mesProduct = mesProductService.findInfo(mesProduct1); if(ObjectUtils.isEmpty(mesProduct)){ resp.setMessage("产品信息不存在"); return resp; } if(mesProduct.getState().equals("3")){ resp.setMessage("产品已报废"); return resp; } // if(!mesProduct.getState().equals("4")){ // resp.setMessage("只能报废待处理状态的产品"); // return resp; // } // mesScrap.setProductCate(mesProduct.getCate()); mesScrapService.save(mesScrap); //保存图片上传 FileUploadUtils.saveFileUpload(mesScrap, mesScrap.getId(), "mesScrap_image"); // 更新产品状态 mesProduct.setState("3"); mesProductService.update(mesProduct); resp.setResult(Global.TRUE); return resp; } @RequiresPermissions("mes:mesScrap:api") @RequestMapping(value = "ulist") @ResponseBody public CommonResp ulist(MesScrap mesScrap, HttpServletRequest request, HttpServletResponse response) { User user = UserUtils.getUser(); mesScrap.setCreateBy(user.getUserCode()); mesScrap.setPage(new Page<>(request, response)); Page page = mesScrapService.findPage(mesScrap); CommonResp resp = new CommonResp<>(); resp.setData(page); resp.setResult(Global.TRUE); return resp; } /** * 详情 */ @RequiresPermissions("mes:mesScrap:api") @RequestMapping(value = "info") @ResponseBody public CommonResp info(MesScrap mesScrap, HttpServletRequest request) { mesScrap.setId(request.getParameter("id")); MesScrap info = mesScrapService.get(mesScrap); String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js"; FileUpload fu = new FileUpload(); fu.setBizKey(info.getId()); fu.setBizType("mesScrap_image"); List finfo = fileUploadService.findList(fu); List imgList = ListUtils.newArrayList(); for (FileUpload fi:finfo){ Map map1 = MapUtils.newHashMap(); map1.put("id",fi.getFileEntity().getFileId()); map1.put("url",host + fi.getFileUrl()); map1.put("name",fi.getFileName()); map1.put("size",fi.getFileEntity().getFileSize()); imgList.add(map1); } info.setImg(imgList); CommonResp resp = new CommonResp<>(); resp.setData(info); return resp; } }