package com.jeesite.modules.mes.web; 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.lang.StringUtils; import com.jeesite.common.mybatis.mapper.query.QueryType; 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.mes.entity.*; import com.jeesite.modules.mes.resp.CommonResp; import com.jeesite.modules.mes.service.*; import com.jeesite.modules.sys.entity.DictData; import com.jeesite.modules.sys.entity.User; import com.jeesite.modules.sys.utils.DictUtils; 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.transaction.annotation.Transactional; 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.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * 抽检记录Controller * @author hzd * @version 2023-11-21 */ @Controller @RequestMapping(value = "${adminPath}/mes/mesQuality") public class MesQualityController extends BaseController { @Autowired private MesQualityService mesQualityService; @Autowired private MesRepairItemsService mesRepairItemsService; @Autowired private MesProductRecordService mesProductRecordService; @Autowired private MesProductService mesProductService; @Autowired private MesRepairService mesRepairService; @Autowired private MesLineProcessService mesLineProcessService; @Resource private FileUploadService fileUploadService; /** * 获取数据 */ @ModelAttribute public MesQuality get(String id, boolean isNewRecord) { return mesQualityService.get(id, isNewRecord); } /** * 查询列表 */ @RequiresPermissions("mes:mesQuality:view") @RequestMapping(value = {"list", ""}) public String list(MesQuality mesQuality, Model model) { model.addAttribute("mesQuality", mesQuality); return "modules/mes/mesQualityList"; } /** * 查询列表数据 */ @RequiresPermissions("mes:mesQuality:view") @RequestMapping(value = "listData") @ResponseBody public Page listData(MesQuality mesQuality, HttpServletRequest request, HttpServletResponse response) { mesQuality.setPage(new Page<>(request, response)); Page page = mesQualityService.findPage(mesQuality); return page; } /** * 查看编辑表单 */ @RequiresPermissions("mes:mesQuality:view") @RequestMapping(value = "form") public String form(MesQuality mesQuality, Model model) { model.addAttribute("mesQuality", mesQuality); return "modules/mes/mesQualityForm"; } /** * 保存数据 */ @RequiresPermissions("mes:mesQuality:edit") @PostMapping(value = "save") @ResponseBody public String save(@Validated MesQuality mesQuality) { mesQualityService.save(mesQuality); return renderResult(Global.TRUE, text("保存抽检记录成功!")); } /** * 导出数据 */ @RequiresPermissions("mes:mesQuality:view") @RequestMapping(value = "exportData") public void exportData(MesQuality mesQuality, HttpServletResponse response) { List list = mesQualityService.findList(mesQuality); String fileName = "抽检记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx"; try(ExcelExport ee = new ExcelExport("抽检记录", MesQuality.class)){ ee.setDataList(list).write(response, fileName); } } @RequiresPermissions("mes:mesQuality:view") @RequestMapping(value = "detail") public String detail(MesQuality mesQuality, Model model) { String[] itemId = mesQuality.getItems().split(","); MesRepairItems mesRepairItems = new MesRepairItems(); mesRepairItems.getSqlMap().getWhere().and("id", QueryType.IN,itemId); List lists = mesRepairItemsService.findList(mesRepairItems); mesQuality.setMesRepairItemsList(lists); model.addAttribute("mesQuality", mesQuality); return "modules/mes/mesQualityInfo"; } @RequestMapping(value = "check") public String check(MesQuality mesQuality, Model model, HttpServletRequest request, HttpServletResponse response) { // CookieUtils.setCookie(response,"jeesite.session.id",request.getParameter("__sid")); model.addAttribute("__sid", request.getParameter("__sid")); String oprno = request.getParameter("oprno"); List types = DictUtils.getDictList("mes_quality_type"); //logger.info("types:"+ JSON.toJSONString(types)); model.addAttribute("types", types); MesRepairItems mesRepairItems = new MesRepairItems(); mesRepairItems.setStatus("0"); mesRepairItems.setOprno(oprno); List items = mesRepairItemsService.findList(mesRepairItems); // logger.info("items:"+ JSON.toJSONString(items)); model.addAttribute("items", items); model.addAttribute("oprno", oprno); model.addAttribute("mesQuality", mesQuality); return "modules/mes/mesQualityCheck"; } @RequestMapping(value = "checkProduct") @ResponseBody public CommonResp checkProduct(HttpServletRequest request) { CommonResp resp1 = new CommonResp<>(); String oprno = request.getParameter("oprno"); String sn = request.getParameter("sn"); MesProductRecord mesProductRecord = mesProductRecordService.findByUpdate(sn,oprno,"100000"); if(ObjectUtils.isEmpty(mesProductRecord)){ resp1.setResult(Global.FALSE); resp1.setMessage("工件不存在"); return resp1; } resp1.setData(mesProductRecord.getContent()); return resp1; } @RequestMapping(value = "info") @ResponseBody public CommonResp info(HttpServletRequest request) { String id = request.getParameter("id"); CommonResp resp1 = new CommonResp<>(); if(StringUtils.isEmpty(id)){ resp1.setResult(Global.FALSE); resp1.setMessage("参数错误"); return resp1; } MesQuality mesQuality = new MesQuality(); mesQuality.setId(id); MesQuality info = mesQualityService.findInfo(mesQuality); if(ObjectUtils.isEmpty(info)){ resp1.setResult(Global.FALSE); resp1.setMessage("记录不存在"); return resp1; } String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js"; // 获取图片 FileUpload fu = new FileUpload(); fu.setBizKey(info.getId()); fu.setBizType("mesQuality_image"); List imgs = fileUploadService.findList(fu); List imgList = ListUtils.newArrayList(); if(imgs.size() > 0){ for (FileUpload fi:imgs) { Map map1 = MapUtils.newHashMap(); map1.put("id",fi.getFileEntity().getFileId()); map1.put("url",host + fi.getFileUrl()); imgList.add(map1); } } info.setImgs(imgList); // String[] itemId = info.getItems().split(","); // CommonResp> resp = new CommonResp<>(); // Map map = MapUtils.newHashMap(); // MesRepairItems mesRepairItems = new MesRepairItems(); // mesRepairItems.getSqlMap().getWhere().and("id", QueryType.IN,itemId); // List lists = mesRepairItemsService.findList(mesRepairItems); // info.setMesRepairItemsList(lists); map.put("lists", info); resp.setData(map); resp.setResult(Global.TRUE); return resp; } @RequestMapping(value = "cjList") @ResponseBody public CommonResp cjList(HttpServletRequest request, HttpServletResponse response) { CommonResp> resp = new CommonResp<>(); Map map = MapUtils.newHashMap(); User user = UserUtils.getUser(); MesQuality mesQuality = new MesQuality(); mesQuality.setCreateBy(user.getUserCode()); mesQuality.setPage(new Page<>(request, response)); Page list = mesQualityService.findPage(mesQuality); map.put("lists", list); resp.setData(map); resp.setResult(Global.TRUE); return resp; } @RequestMapping(value = "oprnoList") @ResponseBody public CommonResp oprnoList(HttpServletRequest req) { CommonResp> resp = new CommonResp<>(); User user = UserUtils.getUser(); MesLineProcessUser mesLineProcessUser = new MesLineProcessUser(); mesLineProcessUser.setUserCode(user.getUserCode()); List list = mesLineProcessService.findSubListOrder(mesLineProcessUser); List ids = new ArrayList<>(); for (MesLineProcessUser item:list){ ids.add(item.getId()); } Map map = MapUtils.newHashMap(); if(!ids.isEmpty()){ MesLineProcess mesLineProcess = new MesLineProcess(); mesLineProcess.getSqlMap().getWhere().and("id", QueryType.IN,ids); List list1 = mesLineProcessService.findList(mesLineProcess); map.put("lists", list1); }else { List list1 = new ArrayList<>(); map.put("lists", list1); } resp.setData(map); resp.setResult(Global.TRUE); return resp; } @RequestMapping(value = "wtqd") @ResponseBody public CommonResp wtqd(HttpServletRequest req) { CommonResp> resp = new CommonResp<>(); Map map = MapUtils.newHashMap(); String oprno = req.getParameter("oprno"); String lineSn = req.getParameter("lineSn"); MesRepairItems mesRepairItems = new MesRepairItems(); mesRepairItems.setStatus("0"); mesRepairItems.setOprno(oprno); mesRepairItems.setLineSn(lineSn); List items = mesRepairItemsService.findList(mesRepairItems); map.put("lists", items); resp.setData(map); resp.setResult(Global.TRUE); return resp; } //@RequiresPermissions("mes:mesQuality:checkSave") @RequestMapping(value = "checkSave") @ResponseBody @Transactional public String checkSave(HttpServletRequest request) { String oprno = request.getParameter("oprno"); String lineSn = request.getParameter("lineSn"); String sn = request.getParameter("sn"); String result = request.getParameter("result"); String type = request.getParameter("type"); // String items = request.getParameter("items"); String remark = request.getParameter("remark"); if(StringUtils.isEmpty(sn)){ return renderResult(Global.FALSE, text("工件不存在!")); } if(StringUtils.isEmpty(oprno)){ return renderResult(Global.FALSE, text("参数错误!")); } if(StringUtils.isEmpty(lineSn)){ return renderResult(Global.FALSE, text("产线编号不能为空")); } if(StringUtils.isEmpty(type)){ return renderResult(Global.FALSE, text("请选择检查类型!")); } if(StringUtils.isEmpty(result)){ return renderResult(Global.FALSE, text("请选择检查结果!")); } MesProductRecord mesProductRecord = mesProductRecordService.findByUpdate(sn,oprno,"100000"); if(ObjectUtils.isEmpty(mesProductRecord)){ return renderResult(Global.FALSE, text("工件不存在!")); } MesQuality mesQuality = new MesQuality(); mesQuality.setOprno(oprno); mesQuality.setLineSn(lineSn); mesQuality.setResult(result); // mesQuality.setItems(items); mesQuality.setType(type); mesQuality.setSn(sn); mesQuality.setRemark(remark); mesQualityService.save(mesQuality); if(!mesProductRecord.getContent().equals(result)){ mesProductRecord.setContent(result); mesProductRecordService.update(mesProductRecord); } return renderResult(Global.TRUE, text("操作成功!")); } }