package com.jeesite.modules.mes.web; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jeesite.common.collect.ListUtils; import com.jeesite.common.collect.MapUtils; import com.jeesite.common.lang.StringUtils; import com.jeesite.common.mybatis.mapper.query.QueryType; 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.*; import com.jeesite.modules.mes.req.MesSearchDateReq; import com.jeesite.modules.mes.resp.BindMaterialResp; import com.jeesite.modules.mes.resp.CommonResp; import com.jeesite.modules.mes.resp.ParamsResp; import com.jeesite.modules.mes.service.MesProductRecordService; import com.jeesite.modules.mes.util.CommonUitl; import com.jeesite.modules.sys.entity.User; import com.jeesite.modules.sys.utils.UserUtils; import com.jeesite.modules.utils.ErrorMsg; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.Model; import org.springframework.util.ObjectUtils; 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.MesCcdInspectionService; /** * mes_ccd_inspectionController * @author system * @version 2026-04-01 */ @Controller @RequestMapping(value = "${adminPath}/mes/mesCcdInspection") public class MesCcdInspectionController extends BaseController { @Autowired private MesCcdInspectionService mesCcdInspectionService; @Autowired private MesProductRecordService mesProductRecordService; @Autowired private FileUploadService fileUploadService; /** * 获取数据 */ @ModelAttribute public MesCcdInspection get(String id, boolean isNewRecord) { return mesCcdInspectionService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("mes:mesCcdInspection:view") @RequestMapping(value = {"list", ""}) public String list(MesCcdInspection mesCcdInspection, Model model) { model.addAttribute("mesCcdInspection", mesCcdInspection); return "modules/mes/mesCcdInspectionList"; } /** * 查询列表数据 */ @RequiresPermissions("mes:mesCcdInspection:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MesCcdInspection mesCcdInspection, HttpServletRequest request, HttpServletResponse response) { mesCcdInspection.setPage(new Page<>(request, response)); Page page = mesCcdInspectionService.findPage(mesCcdInspection); return page; } /** * 查看编辑表单 */ @RequiresPermissions("mes:mesCcdInspection:view") @RequestMapping(value = "form") public String form(MesCcdInspection mesCcdInspection, Model model) { model.addAttribute("mesCcdInspection", mesCcdInspection); return "modules/mes/mesCcdInspectionForm"; } /** * 保存数据 */ @RequiresPermissions("mes:mesCcdInspection:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated MesCcdInspection mesCcdInspection) { mesCcdInspectionService.save(mesCcdInspection); return renderResult(Global.TRUE, text("保存mes_ccd_inspection成功!")); } /** * 删除数据 */ @RequiresPermissions("mes:mesCcdInspection:edit") @RequestMapping(value = "delete") @ResponseBody public String delete(MesCcdInspection mesCcdInspection) { mesCcdInspectionService.delete(mesCcdInspection); return renderResult(Global.TRUE, text("删除mes_ccd_inspection成功!")); } // 检查质量API接口 @RequestMapping(value = "checkQuality") @ResponseBody public CommonResp checkQuality(HttpServletRequest request) { CommonResp resp = new CommonResp<>(); resp.setResult(Global.FALSE); String sn = request.getParameter("sn"); String oprno = request.getParameter("oprno");//OP490 if(StringUtils.isEmpty(sn) || StringUtils.isEmpty(oprno) ){ resp.setResult(Global.FALSE); resp.setMessage("参数错误"); return resp; } String oldOprno = oprno; if(oldOprno.length()==5){ oldOprno += "A"; } oprno = CommonUitl.formatOprno(oprno); //先检查当前工位是否已经加工过 MesProductRecord mesProductRecord = new MesProductRecord(); mesProductRecord.setSn(sn); mesProductRecord.setOprno(oprno); mesProductRecord.setCraft("100000"); mesProductRecord.setLineSn("XT"); MesProductRecord info = mesProductRecordService.findInfo(mesProductRecord); if(info == null || info.getContent().equals("UDF")){ resp.setMessage("ccd检查未完成,请等待完成后复判"); return resp; } resp.setResult(Global.TRUE); return resp; } @PostMapping(value = "pdaresult") @ResponseBody @Transactional public String pdaresult(HttpServletRequest request) { String sn = request.getParameter("sn"); String oprno = request.getParameter("oprno"); String remark = request.getParameter("result"); String mesProduct_OP490_image = request.getParameter("mesProduct_OP490_image"); String oldOprno = oprno; if(oldOprno.length()==5){ oldOprno += "A"; } if(StringUtils.isEmpty(mesProduct_OP490_image)){ return renderResult(Global.FALSE, text("请上传图片!")); } if(StringUtils.isEmpty(sn) || StringUtils.isEmpty(oprno) || StringUtils.isEmpty(remark)){ return renderResult(Global.FALSE, text("参数错误!")); } if(!remark.equals("OK") && !remark.equals("NG")){ return renderResult(Global.FALSE, text("结果错误!")); } MesCcdInspection mesCcdInspection = new MesCcdInspection(); mesCcdInspection.setOprno(oldOprno); mesCcdInspection.setSn(sn); mesCcdInspection.setRemark(remark);//表示结果 mesCcdInspectionService.save(mesCcdInspection); if(!StringUtils.isEmpty(mesProduct_OP490_image)){ FileUploadUtils.saveFileUpload(mesCcdInspection, mesCcdInspection.getId(), "mesProduct_OP490_image"); } MesProductRecord mesProductRecord = new MesProductRecord(); mesProductRecord.setSn(sn); mesProductRecord.setOprno(oprno); mesProductRecord.setCraft("100000"); mesProductRecord.setLineSn("XT"); MesProductRecord info = mesProductRecordService.findInfo(mesProductRecord); if (info != null){ if(!info.getContent().equals(remark)){ info.setContent("OK"); mesProductRecordService.update(info); } } return renderResult(Global.TRUE, text("操作成功!")); } //列表 @RequestMapping(value = "padListData") @ResponseBody public CommonResp padListData(MesCcdInspection mesCcdInspection, HttpServletRequest request, HttpServletResponse response) { CommonResp resp = new CommonResp<>(); Page page1 = new Page<>(request, response); mesCcdInspection.setPage(page1); mesCcdInspection.getSqlMap().getOrder().setOrderBy("a.update_date desc"); Page page = mesCcdInspectionService.findPage(mesCcdInspection); String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js"; for (MesCcdInspection info:page.getList()){ FileUpload fu = new FileUpload(); fu.setBizKey(info.getId()); fu.setBizType("mesProduct_OP490_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.setImgList(imgList); } resp.setResult("true"); resp.setData(page); resp.setMessage("成功"); return resp; } @PostMapping(value = "padInfo") @ResponseBody public CommonResp padInfo(MesCcdInspection mesCcdInspection,HttpServletRequest request) { CommonResp resp = new CommonResp<>(); String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js"; FileUpload fu = new FileUpload(); fu.setBizKey(mesCcdInspection.getId()); fu.setBizType("mesProduct_OP490_image"); MesCcdInspection mesCcdInspection1 = mesCcdInspectionService.get(mesCcdInspection.getId()); 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); } mesCcdInspection1.setImgList(imgList); resp.setData(mesCcdInspection1); resp.setResult(Global.TRUE); return resp; } }