|
|
@@ -0,0 +1,171 @@
|
|
|
+package com.jeesite.modules.mes.web;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+import com.jeesite.common.lang.ObjectUtils;
|
|
|
+import com.jeesite.common.lang.StringUtils;
|
|
|
+import com.jeesite.modules.mes.entity.MesLine;
|
|
|
+import com.jeesite.modules.mes.entity.MesProduct;
|
|
|
+import com.jeesite.modules.mes.service.MesLineService;
|
|
|
+import com.jeesite.modules.mes.service.MesProductService;
|
|
|
+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.context.annotation.Lazy;
|
|
|
+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.entity.MesOrderSnJj;
|
|
|
+import com.jeesite.modules.mes.service.MesOrderSnJjService;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 机加订单工件绑定Controller
|
|
|
+ * @author sxl
|
|
|
+ * @version 2026-08-14
|
|
|
+ */
|
|
|
+@Controller
|
|
|
+@RequestMapping(value = "${adminPath}/mes/mesOrderSnJj")
|
|
|
+public class MesOrderSnJjController extends BaseController {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private MesOrderSnJjService mesOrderSnJjService;
|
|
|
+ @Autowired
|
|
|
+ private MesProductService mesProductService;
|
|
|
+ @Autowired
|
|
|
+ private MesLineService mesLineService;
|
|
|
+ @Lazy
|
|
|
+ @Autowired
|
|
|
+ private MesProductRecordController mesProductRecordController;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取数据
|
|
|
+ */
|
|
|
+ @ModelAttribute
|
|
|
+ public MesOrderSnJj get(String id, boolean isNewRecord) {
|
|
|
+ return mesOrderSnJjService.get(id, isNewRecord);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询列表
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesOrderSnJj:view")
|
|
|
+ @RequestMapping(value = {"list", ""})
|
|
|
+ public String list(MesOrderSnJj mesOrderSnJj, Model model) {
|
|
|
+ model.addAttribute("mesOrderSnJj", mesOrderSnJj);
|
|
|
+ return "modules/mes/mesOrderSnJjList";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询列表数据
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesOrderSnJj:view")
|
|
|
+ @RequestMapping(value = "listData")
|
|
|
+ @ResponseBody
|
|
|
+ public Page<MesOrderSnJj> listData(MesOrderSnJj mesOrderSnJj, HttpServletRequest request, HttpServletResponse response) {
|
|
|
+ mesOrderSnJj.setPage(new Page<>(request, response));
|
|
|
+ Page<MesOrderSnJj> page = mesOrderSnJjService.findPage(mesOrderSnJj);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看编辑表单
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesOrderSnJj:view")
|
|
|
+ @RequestMapping(value = "form")
|
|
|
+ public String form(MesOrderSnJj mesOrderSnJj, Model model) {
|
|
|
+ model.addAttribute("mesOrderSnJj", mesOrderSnJj);
|
|
|
+ return "modules/mes/mesOrderSnJjForm";
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存数据
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesOrderSnJj:edit")
|
|
|
+ @PostMapping(value = "save")
|
|
|
+ @ResponseBody
|
|
|
+ public String save(@Validated MesOrderSnJj mesOrderSnJj) {
|
|
|
+ mesOrderSnJjService.save(mesOrderSnJj);
|
|
|
+ return renderResult(Global.TRUE, text("保存机加订单工件绑定成功!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除数据
|
|
|
+ */
|
|
|
+ @RequiresPermissions("mes:mesOrderSnJj:edit")
|
|
|
+ @RequestMapping(value = "delete")
|
|
|
+ @ResponseBody
|
|
|
+ public String delete(MesOrderSnJj mesOrderSnJj) {
|
|
|
+ mesOrderSnJjService.delete(mesOrderSnJj);
|
|
|
+ return renderResult(Global.TRUE, text("删除机加订单工件绑定成功!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 机加订单绑定工件码(OP180 工位质量校验通过后方可绑定)
|
|
|
+ * @param mesOrderSnJj
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping(value = "bandSn")
|
|
|
+ @ResponseBody
|
|
|
+ public String bandSn(MesOrderSnJj mesOrderSnJj) {
|
|
|
+ if (mesOrderSnJj == null || StringUtils.isBlank(mesOrderSnJj.getOrderJj())) {
|
|
|
+ return renderResult(Global.FALSE, text("订单编码不能为空!"));
|
|
|
+ }
|
|
|
+ if (StringUtils.isBlank(mesOrderSnJj.getSn())) {
|
|
|
+ return renderResult(Global.FALSE, text("工件码不能为空!"));
|
|
|
+ }
|
|
|
+ String sn = mesOrderSnJj.getSn();
|
|
|
+
|
|
|
+ // 判定工件是否存在,并解析产线编号(质量校验需要 lineSn)
|
|
|
+ MesProduct mesProductQuery = new MesProduct();
|
|
|
+ mesProductQuery.setSn(sn);
|
|
|
+ List<MesProduct> productList = mesProductService.findList(mesProductQuery);
|
|
|
+ if (productList == null || productList.isEmpty() || ObjectUtils.isEmpty(productList.get(0))) {
|
|
|
+ return renderResult(Global.FALSE, text("工件不存在!"));
|
|
|
+ }
|
|
|
+ MesProduct mesProduct = productList.get(0);
|
|
|
+ MesLine mesLine = new MesLine();
|
|
|
+ mesLine.setProductCate(mesProduct.getCate());
|
|
|
+ mesLine.setStatus("0");
|
|
|
+ MesLine lineInfo = mesLineService.findInfo(mesLine);
|
|
|
+ if (ObjectUtils.isEmpty(lineInfo) || StringUtils.isEmpty(lineInfo.getSn())) {
|
|
|
+ return renderResult(Global.FALSE, text("产线信息不存在!"));
|
|
|
+ }
|
|
|
+ String lineSn = lineInfo.getSn();
|
|
|
+
|
|
|
+ // OP180 质量校验
|
|
|
+ String userCode = "";
|
|
|
+ User user = UserUtils.getUser();
|
|
|
+ if (user != null && StringUtils.isNotEmpty(user.getUserCode())) {
|
|
|
+ userCode = user.getUserCode();
|
|
|
+ }
|
|
|
+ String ret = mesProductRecordController.checkQualityCommon("OP180", sn, lineSn, userCode);
|
|
|
+ String checkret = ret.substring(3, 5);
|
|
|
+ // OP180 允许本工位已加工(OK/NG)时仍可绑定订单
|
|
|
+ if (!"UD".equals(checkret) && !"OK".equalsIgnoreCase(checkret) && !"NG".equalsIgnoreCase(checkret)) {
|
|
|
+ String lx = ret.substring(0, 3);
|
|
|
+ return renderResult(Global.FALSE, text(ErrorMsg.getErrorMsg(checkret, lx)));
|
|
|
+ }
|
|
|
+
|
|
|
+ MesOrderSnJj query = new MesOrderSnJj();
|
|
|
+ query.setSn(sn);
|
|
|
+ List<MesOrderSnJj> list = mesOrderSnJjService.findList(query);
|
|
|
+ if (!list.isEmpty()) {
|
|
|
+ return renderResult(Global.FALSE, text("该工件已和机加订单绑定!"));
|
|
|
+ }
|
|
|
+ mesOrderSnJjService.save(mesOrderSnJj);
|
|
|
+ return renderResult(Global.TRUE, text("保存成功!"));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|