|
|
@@ -0,0 +1,202 @@
|
|
|
+package com.jeesite.modules.mes.web;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+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.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.StringUtils;
|
|
|
+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.MesMdcl;
|
|
|
+import com.jeesite.modules.mes.resp.CommonResp;
|
|
|
+import com.jeesite.modules.mes.service.MesMdclService;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 密度测量表Controller
|
|
|
+ * @author sxl
|
|
|
+ * @version 2026-07-27
|
|
|
+ */
|
|
|
+@Controller
|
|
|
+@RequestMapping(value = "${adminPath}/mes/mesMdcl")
|
|
|
+public class MesMdclController extends BaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MesMdclService mesMdclService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private FileUploadService fileUploadService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取数据
|
|
|
+ */
|
|
|
+ @ModelAttribute
|
|
|
+ public MesMdcl get(String id, boolean isNewRecord) {
|
|
|
+ return mesMdclService.get(id, isNewRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询列表
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesMdcl:view")
|
|
|
+ @RequestMapping(value = {"list", ""})
|
|
|
+ public String list(MesMdcl mesMdcl, Model model) {
|
|
|
+ model.addAttribute("mesMdcl", mesMdcl);
|
|
|
+ return "modules/mes/mesMdclList";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询列表数据
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesMdcl:view")
|
|
|
+ @RequestMapping(value = "listData")
|
|
|
+ @ResponseBody
|
|
|
+ public Page<MesMdcl> listData(MesMdcl mesMdcl, HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ mesMdcl.setPage(new Page<>(request, response));
|
|
|
+ Page<MesMdcl> page = mesMdclService.findPage(mesMdcl);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看编辑表单
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesMdcl:view")
|
|
|
+ @RequestMapping(value = "form")
|
|
|
+ public String form(MesMdcl mesMdcl, Model model) {
|
|
|
+ model.addAttribute("mesMdcl", mesMdcl);
|
|
|
+ return "modules/mes/mesMdclForm";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存数据
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesMdcl:edit")
|
|
|
+ @PostMapping(value = "save")
|
|
|
+ @ResponseBody
|
|
|
+ public String save(@Validated MesMdcl mesMdcl) {
|
|
|
+ mesMdclService.save(mesMdcl);
|
|
|
+ return renderResult(Global.TRUE, text("保存密度测量表成功!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除数据
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesMdcl:edit")
|
|
|
+ @RequestMapping(value = "delete")
|
|
|
+ @ResponseBody
|
|
|
+ public String delete(MesMdcl mesMdcl) {
|
|
|
+ mesMdclService.delete(mesMdcl);
|
|
|
+ return renderResult(Global.TRUE, text("删除密度测量表成功!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ // ==================== PDA 接口 ====================
|
|
|
+
|
|
|
+ /**
|
|
|
+ * PDA端新增密度测量记录
|
|
|
+ * 判定标准:mdValue >= 2.6 且 diValue <= 0.8 为合格
|
|
|
+ */
|
|
|
+ @PostMapping(value = "pdaSave")
|
|
|
+ @ResponseBody
|
|
|
+ public String pdaSave(MesMdcl mesMdcl, HttpServletRequest request) {
|
|
|
+ if (mesMdcl == null || StringUtils.isBlank(mesMdcl.getLuCode())) {
|
|
|
+ return renderResult(Global.FALSE, "炉号不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(mesMdcl.getBaoCode())) {
|
|
|
+ return renderResult(Global.FALSE, "包号不能为空");
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(mesMdcl.getMdValue()) || StringUtils.isBlank(mesMdcl.getDiValue())) {
|
|
|
+ return renderResult(Global.FALSE, "密度值和DI值均不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ MesMdcl query = new MesMdcl();
|
|
|
+ query.setLuCode(mesMdcl.getLuCode().trim());
|
|
|
+ query.setBaoCode(mesMdcl.getBaoCode().trim());
|
|
|
+ List<MesMdcl> list = mesMdclService.findList(query);
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ return renderResult(Global.FALSE, "该炉号包号已进行密度测量");
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ Double.parseDouble(mesMdcl.getMdValue().trim());
|
|
|
+ Double.parseDouble(mesMdcl.getDiValue().trim());
|
|
|
+ } catch (NumberFormatException e) {
|
|
|
+ return renderResult(Global.FALSE, "密度值或DI值格式不正确");
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+ MesMdcl saved = mesMdclService.saveFromPda(mesMdcl);
|
|
|
+ FileUploadUtils.saveFileUpload(saved, saved.getId(), "mesMdcl_image");
|
|
|
+ return renderResult(Global.TRUE, "保存成功", saved);
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.error("PDA密度测量保存失败", e);
|
|
|
+ return renderResult(Global.FALSE, text("操作失败!"));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * PDA密度测量列表
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "mdclList")
|
|
|
+ @ResponseBody
|
|
|
+ public CommonResp mdclList(MesMdcl mesMdcl) {
|
|
|
+ CommonResp<List<MesMdcl>> resp = new CommonResp<>();
|
|
|
+ List<MesMdcl> list = mesMdclService.findList(mesMdcl);
|
|
|
+ resp.setData(list);
|
|
|
+ resp.setResult(Global.TRUE);
|
|
|
+ resp.setMessage("操作成功!");
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * PDA密度测量详情
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "mdclInfo")
|
|
|
+ @ResponseBody
|
|
|
+ public CommonResp mdclInfo(MesMdcl mesMdcl, HttpServletRequest request) {
|
|
|
+ CommonResp<MesMdcl> resp = new CommonResp<>();
|
|
|
+ List<MesMdcl> list = mesMdclService.findList(mesMdcl);
|
|
|
+ if (ListUtils.isEmpty(list)) {
|
|
|
+ resp.setResult(Global.FALSE);
|
|
|
+ resp.setMessage("没有该密度测量记录!");
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+
|
|
|
+ MesMdcl info = list.get(0);
|
|
|
+ String host = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/js";
|
|
|
+ FileUpload fu = new FileUpload();
|
|
|
+ fu.setBizKey(info.getId());
|
|
|
+ fu.setBizType("mesMdcl_image");
|
|
|
+ List<FileUpload> finfo = fileUploadService.findList(fu);
|
|
|
+ List imgList = ListUtils.newArrayList();
|
|
|
+ for (FileUpload fi : finfo) {
|
|
|
+ Map<String, Object> map = MapUtils.newHashMap();
|
|
|
+ map.put("id", fi.getFileEntity().getFileId());
|
|
|
+ map.put("url", host + fi.getFileUrl());
|
|
|
+ map.put("name", fi.getFileName());
|
|
|
+ map.put("size", fi.getFileEntity().getFileSize());
|
|
|
+ imgList.add(map);
|
|
|
+ }
|
|
|
+ info.setImgList(imgList);
|
|
|
+ resp.setData(info);
|
|
|
+ resp.setResult(Global.TRUE);
|
|
|
+ resp.setMessage("操作成功!");
|
|
|
+ return resp;
|
|
|
+ }
|
|
|
+
|
|
|
+}
|