Explorar o código

添加工位名称

hfy hai 3 meses
pai
achega
b00fcc2eed

+ 11 - 1
src/main/java/com/jeesite/modules/mes/entity/MesDeviceTime.java

@@ -44,10 +44,12 @@ public class MesDeviceTime extends DataEntity<MesDeviceTime> {
 	private Date scheduledDate;
 	private Integer transfer;
 	private String productCate;
+	private String oprnoTitle;
 
 	@ExcelFields({
 			@ExcelField(title="产线编号", attrName="productCate", align= ExcelField.Align.CENTER, sort=10),
 			@ExcelField(title="工序号", attrName="oprno", align= ExcelField.Align.CENTER, sort=20),
+			@ExcelField(title="工位名称", attrName="oprnoTitle", align= ExcelField.Align.CENTER, sort=25),
 			@ExcelField(title="工件码", attrName="sn",align= ExcelField.Align.CENTER, sort=30),
 			@ExcelField(title="开始时间", attrName="startDate", align= ExcelField.Align.CENTER, sort=40, dataFormat="yyyy-MM-dd hh:mm:ss"),
 			@ExcelField(title="结束时间", attrName="endDate", align= ExcelField.Align.CENTER, sort=50, dataFormat="yyyy-MM-dd hh:mm:ss"),
@@ -162,4 +164,12 @@ public class MesDeviceTime extends DataEntity<MesDeviceTime> {
 	public void setProductCate(String productCate) {
 		this.productCate = productCate;
 	}
-}
+
+	public String getOprnoTitle() {
+		return oprnoTitle;
+	}
+
+	public void setOprnoTitle(String oprnoTitle) {
+		this.oprnoTitle = oprnoTitle;
+	}
+}

+ 10 - 1
src/main/java/com/jeesite/modules/mes/entity/MesProcessProduct.java

@@ -29,6 +29,7 @@ public class MesProcessProduct extends DataEntity<MesProcessProduct> {
 	private String productCate;		// 产品类型编码
 	private String oprno;		// 工位号
 	private String sn;		// 产品二维码
+	private String oprnoTitle;
 
 	public MesProcessProduct() {
 		this(null);
@@ -66,5 +67,13 @@ public class MesProcessProduct extends DataEntity<MesProcessProduct> {
 	public void setSn(String sn) {
 		this.sn = sn;
 	}
+
+	public String getOprnoTitle() {
+		return oprnoTitle;
+	}
+
+	public void setOprnoTitle(String oprnoTitle) {
+		this.oprnoTitle = oprnoTitle;
+	}
 	
-}
+}

+ 11 - 1
src/main/java/com/jeesite/modules/mes/entity/MesProductArcWelding.java

@@ -32,11 +32,13 @@ public class MesProductArcWelding extends DataEntity<MesProductArcWelding> {
 	private String oprno;		// 工位号
 	private String sn;		// 二维码
 	private String content;		// 参数内容
+	private String oprnoTitle;
 
 	@ExcelFields({
 		@ExcelField(title="id", attrName="id", align=Align.CENTER, sort=10),
 		@ExcelField(title="产线编号", attrName="lineSn", align=Align.CENTER, sort=20),
 		@ExcelField(title="工位号", attrName="oprno", align=Align.CENTER, sort=30),
+		@ExcelField(title="工位名称", attrName="oprnoTitle", align=Align.CENTER, sort=35),
 		@ExcelField(title="二维码", attrName="sn", align=Align.CENTER, sort=40),
 		@ExcelField(title="参数内容", attrName="content", align=Align.CENTER, sort=50),
 		@ExcelField(title="创建时间", attrName="createDate", align=Align.CENTER, sort=60),
@@ -84,5 +86,13 @@ public class MesProductArcWelding extends DataEntity<MesProductArcWelding> {
 	public void setContent(String content) {
 		this.content = content;
 	}
+
+	public String getOprnoTitle() {
+		return oprnoTitle;
+	}
+
+	public void setOprnoTitle(String oprnoTitle) {
+		this.oprnoTitle = oprnoTitle;
+	}
 	
-}
+}

+ 11 - 1
src/main/java/com/jeesite/modules/mes/entity/MesProductModifyRecord.java

@@ -42,10 +42,12 @@ public class MesProductModifyRecord extends DataEntity<MesProductModifyRecord> {
 	private String source;		// 来源
 	private String lineSn;
 	private String materielSn;
+	private String oprnoTitle;
 
 	@ExcelFields({
 		@ExcelField(title="工件码", attrName="sn", align=Align.CENTER, sort=20),
 		@ExcelField(title="工位号", attrName="oprno", align=Align.CENTER, sort=30),
+		@ExcelField(title="工位名称", attrName="oprnoTitle", align=Align.CENTER, sort=35),
 		@ExcelField(title="工艺号", attrName="craft", align=Align.CENTER, sort=40),
 		@ExcelField(title="原结果", attrName="contentOld", align=Align.CENTER, sort=50),
 		@ExcelField(title="结果", attrName="content", align=Align.CENTER, sort=60),
@@ -131,4 +133,12 @@ public class MesProductModifyRecord extends DataEntity<MesProductModifyRecord> {
 	public void setLineSn(String lineSn) {
 		this.lineSn = lineSn;
 	}
-}
+
+	public String getOprnoTitle() {
+		return oprnoTitle;
+	}
+
+	public void setOprnoTitle(String oprnoTitle) {
+		this.oprnoTitle = oprnoTitle;
+	}
+}

+ 2 - 1
src/main/java/com/jeesite/modules/mes/entity/MesProductRecord.java

@@ -91,6 +91,7 @@ public class MesProductRecord extends DataEntity<MesProductRecord> {
 	@ExcelFields({
 			@ExcelField(title="工件码", attrName="sn", align= ExcelField.Align.CENTER, sort=10),
 			@ExcelField(title="工位号", attrName="oprno", align= ExcelField.Align.CENTER, sort=20),
+			@ExcelField(title="工位名称", attrName="oprnoTitle", align= ExcelField.Align.CENTER, sort=25),
 			@ExcelField(title="工艺号", attrName="craft", align= ExcelField.Align.CENTER, sort=30),
 			@ExcelField(title="报文名称", attrName="title", align= ExcelField.Align.CENTER, sort=40),
 			@ExcelField(title="结果", attrName="content", align= ExcelField.Align.CENTER, sort=50),
@@ -370,4 +371,4 @@ public class MesProductRecord extends DataEntity<MesProductRecord> {
 	public void setFileList(List fileList) {
 		this.fileList = fileList;
 	}
-}
+}

+ 44 - 1
src/main/java/com/jeesite/modules/mes/web/MesDeviceTimeController.java

@@ -4,12 +4,14 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import com.alibaba.fastjson.JSON;
+import com.jeesite.common.collect.ListUtils;
 import com.jeesite.common.lang.DateUtils;
 import com.jeesite.common.lang.ObjectUtils;
 import com.jeesite.common.lang.StringUtils;
@@ -17,6 +19,7 @@ import com.jeesite.common.utils.excel.ExcelExport;
 import com.jeesite.modules.mes.entity.*;
 import com.jeesite.modules.mes.req.MesSearchDateReq;
 import com.jeesite.modules.mes.service.MesDeviceService;
+import com.jeesite.modules.mes.service.MesLineProcessService;
 import com.jeesite.modules.mes.service.MesPlanService;
 import com.jeesite.modules.mes.util.CommonUitl;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -51,6 +54,8 @@ public class MesDeviceTimeController extends BaseController {
 	private MesDeviceService mesDeviceService;
     @Autowired
     private MesPlanService mesPlanService;
+	@Autowired
+	private MesLineProcessService mesLineProcessService;
 
 	/**
 	 * 获取数据
@@ -82,9 +87,45 @@ public class MesDeviceTimeController extends BaseController {
 	public Page<MesDeviceTime> listData(MesDeviceTime mesDeviceTime, HttpServletRequest request, HttpServletResponse response) {
 		mesDeviceTime.setPage(new Page<>(request, response));
 		Page<MesDeviceTime> page = mesDeviceTimeService.findPage(mesDeviceTime);
+		fillOprnoTitle(page.getList());
 		return page;
 	}
 
+	private void fillOprnoTitle(List<MesDeviceTime> list) {
+		if (ListUtils.isEmpty(list)) {
+			return;
+		}
+		Map<String, String> oprnoTitleMap = new HashMap<>();
+		for (MesDeviceTime record : list) {
+			if (StringUtils.isBlank(record.getProductCate()) || StringUtils.isBlank(record.getOprno())) {
+				record.setOprnoTitle("");
+				continue;
+			}
+			String key = record.getProductCate() + "|" + record.getOprno();
+			if (!oprnoTitleMap.containsKey(key)) {
+				oprnoTitleMap.put(key, findOprnoTitle(record.getProductCate(), record.getOprno()));
+			}
+			record.setOprnoTitle(oprnoTitleMap.get(key));
+		}
+	}
+
+	private String findOprnoTitle(String lineSn, String oprno) {
+		MesLineProcess mesLineProcess = new MesLineProcess();
+		mesLineProcess.setLineSn(lineSn);
+		mesLineProcess.setOprno(oprno);
+		MesLineProcess mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		if (!ObjectUtils.isEmpty(mesLineProcess1)) {
+			return mesLineProcess1.getTitle();
+		}
+		String formattedOprno = CommonUitl.formatOprno(oprno);
+		if (StringUtils.equals(oprno, formattedOprno)) {
+			return "";
+		}
+		mesLineProcess.setOprno(formattedOprno);
+		mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		return ObjectUtils.isEmpty(mesLineProcess1) ? "" : mesLineProcess1.getTitle();
+	}
+
 	/**
 	 * 查看编辑表单
 	 */
@@ -102,6 +143,7 @@ public class MesDeviceTimeController extends BaseController {
 	@RequestMapping(value = "exportData")
 	public void exportData(MesDeviceTime mesDeviceTime, HttpServletResponse response) {
 		List<MesDeviceTime> list = mesDeviceTimeService.findList(mesDeviceTime);
+		fillOprnoTitle(list);
 		String fileName = "工位生产时间" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
 		try(ExcelExport ee = new ExcelExport("工位生产时间", MesDeviceTime.class)){
 			ee.setDataList(list).write(response, fileName);
@@ -221,7 +263,8 @@ public class MesDeviceTimeController extends BaseController {
 			}
 		}
 
+		fillOprnoTitle(page.getList());
 		return page;
 	}
 	
-}
+}

+ 47 - 1
src/main/java/com/jeesite/modules/mes/web/MesProcessProductController.java

@@ -1,12 +1,19 @@
 package com.jeesite.modules.mes.web;
 
+import java.util.HashMap;
 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.lang.ObjectUtils;
 import com.jeesite.common.lang.StringUtils;
+import com.jeesite.modules.mes.entity.MesLineProcess;
 import com.jeesite.modules.mes.resp.CommonResp;
+import com.jeesite.modules.mes.service.MesLineProcessService;
 import com.jeesite.modules.mes.service.MesLogService;
+import com.jeesite.modules.mes.util.CommonUitl;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -37,6 +44,9 @@ public class MesProcessProductController extends BaseController {
 
 	@Autowired
 	private MesLogService mesLogService;
+
+	@Autowired
+	private MesLineProcessService mesLineProcessService;
 	
 	/**
 	 * 获取数据
@@ -65,9 +75,45 @@ public class MesProcessProductController extends BaseController {
 	public Page<MesProcessProduct> listData(MesProcessProduct mesProcessProduct, HttpServletRequest request, HttpServletResponse response) {
 		mesProcessProduct.setPage(new Page<>(request, response));
 		Page<MesProcessProduct> page = mesProcessProductService.findPage(mesProcessProduct);
+		fillOprnoTitle(page.getList());
 		return page;
 	}
 
+	private void fillOprnoTitle(List<MesProcessProduct> list) {
+		if (ListUtils.isEmpty(list)) {
+			return;
+		}
+		Map<String, String> oprnoTitleMap = new HashMap<>();
+		for (MesProcessProduct record : list) {
+			if (StringUtils.isBlank(record.getProductCate()) || StringUtils.isBlank(record.getOprno())) {
+				record.setOprnoTitle("");
+				continue;
+			}
+			String key = record.getProductCate() + "|" + record.getOprno();
+			if (!oprnoTitleMap.containsKey(key)) {
+				oprnoTitleMap.put(key, findOprnoTitle(record.getProductCate(), record.getOprno()));
+			}
+			record.setOprnoTitle(oprnoTitleMap.get(key));
+		}
+	}
+
+	private String findOprnoTitle(String lineSn, String oprno) {
+		MesLineProcess mesLineProcess = new MesLineProcess();
+		mesLineProcess.setLineSn(lineSn);
+		mesLineProcess.setOprno(oprno);
+		MesLineProcess mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		if (!ObjectUtils.isEmpty(mesLineProcess1)) {
+			return mesLineProcess1.getTitle();
+		}
+		String formattedOprno = CommonUitl.formatOprno(oprno);
+		if (StringUtils.equals(oprno, formattedOprno)) {
+			return "";
+		}
+		mesLineProcess.setOprno(formattedOprno);
+		mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		return ObjectUtils.isEmpty(mesLineProcess1) ? "" : mesLineProcess1.getTitle();
+	}
+
 	/**
 	 * 查看编辑表单
 	 */
@@ -116,4 +162,4 @@ public class MesProcessProductController extends BaseController {
 		return resp;
 	}
 	
-}
+}

+ 45 - 0
src/main/java/com/jeesite/modules/mes/web/MesProductArcWeldingController.java

@@ -1,6 +1,8 @@
 package com.jeesite.modules.mes.web;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Date;
@@ -9,6 +11,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.jeesite.common.lang.StringUtils;
+import com.jeesite.modules.mes.entity.MesLineProcess;
 import com.jeesite.modules.mes.req.MesSearchDateReq;
 import com.jeesite.modules.mes.util.CommonUitl;
 
@@ -26,9 +29,11 @@ import com.jeesite.common.entity.Page;
 import com.jeesite.common.lang.DateUtils;
 import com.jeesite.common.utils.excel.ExcelExport;
 import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.multipart.MultipartFile;
 import com.jeesite.common.web.BaseController;
 import com.jeesite.modules.mes.entity.MesProductArcWelding;
+import com.jeesite.modules.mes.service.MesLineProcessService;
 import com.jeesite.modules.mes.service.MesProductArcWeldingService;
 
 /**
@@ -42,6 +47,9 @@ public class MesProductArcWeldingController extends BaseController {
 
 	@Autowired
 	private MesProductArcWeldingService mesProductArcWeldingService;
+
+	@Autowired
+	private MesLineProcessService mesLineProcessService;
 	
 	/**
 	 * 获取数据
@@ -81,9 +89,45 @@ public class MesProductArcWeldingController extends BaseController {
 	public Page<MesProductArcWelding> listData(MesProductArcWelding mesProductArcWelding, HttpServletRequest request, HttpServletResponse response) {
 		mesProductArcWelding.setPage(new Page<>(request, response));
 		Page<MesProductArcWelding> page = mesProductArcWeldingService.findPage(mesProductArcWelding);
+		fillOprnoTitle(page.getList());
 		return page;
 	}
 
+	private void fillOprnoTitle(List<MesProductArcWelding> list) {
+		if (ListUtils.isEmpty(list)) {
+			return;
+		}
+		Map<String, String> oprnoTitleMap = new HashMap<>();
+		for (MesProductArcWelding record : list) {
+			if (StringUtils.isBlank(record.getLineSn()) || StringUtils.isBlank(record.getOprno())) {
+				record.setOprnoTitle("");
+				continue;
+			}
+			String key = record.getLineSn() + "|" + record.getOprno();
+			if (!oprnoTitleMap.containsKey(key)) {
+				oprnoTitleMap.put(key, findOprnoTitle(record.getLineSn(), record.getOprno()));
+			}
+			record.setOprnoTitle(oprnoTitleMap.get(key));
+		}
+	}
+
+	private String findOprnoTitle(String lineSn, String oprno) {
+		MesLineProcess mesLineProcess = new MesLineProcess();
+		mesLineProcess.setLineSn(lineSn);
+		mesLineProcess.setOprno(oprno);
+		MesLineProcess mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		if (!ObjectUtils.isEmpty(mesLineProcess1)) {
+			return mesLineProcess1.getTitle();
+		}
+		String formattedOprno = CommonUitl.formatOprno(oprno);
+		if (StringUtils.equals(oprno, formattedOprno)) {
+			return "";
+		}
+		mesLineProcess.setOprno(formattedOprno);
+		mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		return ObjectUtils.isEmpty(mesLineProcess1) ? "" : mesLineProcess1.getTitle();
+	}
+
 	/**
 	 * 查看编辑表单
 	 */
@@ -112,6 +156,7 @@ public class MesProductArcWeldingController extends BaseController {
 	@RequestMapping(value = "exportData")
 	public void exportData(MesProductArcWelding mesProductArcWelding, HttpServletResponse response) {
 		List<MesProductArcWelding> list = mesProductArcWeldingService.findList(mesProductArcWelding);
+		fillOprnoTitle(list);
 		String fileName = "弧焊参数" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
 		try(ExcelExport ee = new ExcelExport("弧焊参数", MesProductArcWelding.class)){
 			ee.setDataList(list).write(response, fileName);

+ 47 - 1
src/main/java/com/jeesite/modules/mes/web/MesProductModifyRecordController.java

@@ -1,9 +1,12 @@
 package com.jeesite.modules.mes.web;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.jeesite.modules.mes.entity.MesLineProcess;
 import com.jeesite.modules.mes.req.MesSearchDateReq;
 import com.jeesite.modules.mes.util.CommonUitl;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
@@ -20,11 +23,14 @@ import com.jeesite.common.config.Global;
 import com.jeesite.common.collect.ListUtils;
 import com.jeesite.common.entity.Page;
 import com.jeesite.common.lang.DateUtils;
+import com.jeesite.common.lang.StringUtils;
 import com.jeesite.common.utils.excel.ExcelExport;
 import com.jeesite.common.utils.excel.annotation.ExcelField.Type;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.multipart.MultipartFile;
 import com.jeesite.common.web.BaseController;
 import com.jeesite.modules.mes.entity.MesProductModifyRecord;
+import com.jeesite.modules.mes.service.MesLineProcessService;
 import com.jeesite.modules.mes.service.MesProductModifyRecordService;
 
 /**
@@ -38,6 +44,9 @@ public class MesProductModifyRecordController extends BaseController {
 
 	@Autowired
 	private MesProductModifyRecordService mesProductModifyRecordService;
+
+	@Autowired
+	private MesLineProcessService mesLineProcessService;
 	
 	/**
 	 * 获取数据
@@ -69,9 +78,45 @@ public class MesProductModifyRecordController extends BaseController {
 	public Page<MesProductModifyRecord> listData(MesProductModifyRecord mesProductModifyRecord, HttpServletRequest request, HttpServletResponse response) {
 		mesProductModifyRecord.setPage(new Page<>(request, response));
 		Page<MesProductModifyRecord> page = mesProductModifyRecordService.findPage(mesProductModifyRecord);
+		fillOprnoTitle(page.getList());
 		return page;
 	}
 
+	private void fillOprnoTitle(List<MesProductModifyRecord> list) {
+		if (ListUtils.isEmpty(list)) {
+			return;
+		}
+		Map<String, String> oprnoTitleMap = new HashMap<>();
+		for (MesProductModifyRecord record : list) {
+			if (StringUtils.isBlank(record.getLineSn()) || StringUtils.isBlank(record.getOprno())) {
+				record.setOprnoTitle("");
+				continue;
+			}
+			String key = record.getLineSn() + "|" + record.getOprno();
+			if (!oprnoTitleMap.containsKey(key)) {
+				oprnoTitleMap.put(key, findOprnoTitle(record.getLineSn(), record.getOprno()));
+			}
+			record.setOprnoTitle(oprnoTitleMap.get(key));
+		}
+	}
+
+	private String findOprnoTitle(String lineSn, String oprno) {
+		MesLineProcess mesLineProcess = new MesLineProcess();
+		mesLineProcess.setLineSn(lineSn);
+		mesLineProcess.setOprno(oprno);
+		MesLineProcess mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		if (!ObjectUtils.isEmpty(mesLineProcess1)) {
+			return mesLineProcess1.getTitle();
+		}
+		String formattedOprno = CommonUitl.formatOprno(oprno);
+		if (StringUtils.equals(oprno, formattedOprno)) {
+			return "";
+		}
+		mesLineProcess.setOprno(formattedOprno);
+		mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+		return ObjectUtils.isEmpty(mesLineProcess1) ? "" : mesLineProcess1.getTitle();
+	}
+
 	/**
 	 * 查看编辑表单
 	 */
@@ -100,6 +145,7 @@ public class MesProductModifyRecordController extends BaseController {
 	@RequestMapping(value = "exportData")
 	public void exportData(MesProductModifyRecord mesProductModifyRecord, HttpServletResponse response) {
 		List<MesProductModifyRecord> list = mesProductModifyRecordService.findList(mesProductModifyRecord);
+		fillOprnoTitle(list);
 		String fileName = "产品修改记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
 		try(ExcelExport ee = new ExcelExport("产品修改记录", MesProductModifyRecord.class)){
 			ee.setDataList(list).write(response, fileName);
@@ -146,4 +192,4 @@ public class MesProductModifyRecordController extends BaseController {
 		return renderResult(Global.TRUE, text("删除产品修改记录成功!"));
 	}
 	
-}
+}

+ 29 - 6
src/main/java/com/jeesite/modules/mes/web/MesProductRecordController.java

@@ -318,17 +318,39 @@ public class MesProductRecordController extends BaseController {
 		else if ("0".equals(mesProductRecord.getProcessState()) && "".equals(mesProductRecord.getContent()))
 			mesProductRecord.getSqlMap().getWhere().and("content",QueryType.EQ, "UDF");
 		Page<MesProductRecord> page = mesProductRecordService.findPage(mesProductRecord);
-		for (int i=0;i<page.getList().size();i++){
+		fillProductRecordListFields(page.getList());
+		return page;
+	}
+
+	private void fillProductRecordListFields(List<MesProductRecord> list) {
+		if (ListUtils.isEmpty(list)) {
+			return;
+		}
+		Map<String, String> oprnoTitleMap = new HashMap<>();
+		for (MesProductRecord record : list) {
 			MesTemplateItems mesTemplateItems = new MesTemplateItems();
-			mesTemplateItems.setId(page.getList().get(i).getTid());
+			mesTemplateItems.setId(record.getTid());
 			MesTemplateItems mt = mesTemplateItemsService.get(mesTemplateItems);
-			if(!ObjectUtils.isEmpty(mt)){
-				page.getList().get(i).setMessageType(mt.getCate());
-				page.getList().get(i).setTitle(mt.getTitle());
+			if (!ObjectUtils.isEmpty(mt)) {
+				record.setMessageType(mt.getCate());
+				record.setTitle(mt.getTitle());
+			}
 
+			if (StringUtils.isBlank(record.getLineSn()) || StringUtils.isBlank(record.getOprno())) {
+				record.setOprnoTitle("");
+				continue;
+			}
+			String oprno = CommonUitl.formatOprno(record.getOprno());
+			String key = record.getLineSn() + "|" + oprno;
+			if (!oprnoTitleMap.containsKey(key)) {
+				MesLineProcess mesLineProcess = new MesLineProcess();
+				mesLineProcess.setLineSn(record.getLineSn());
+				mesLineProcess.setOprno(oprno);
+				MesLineProcess mesLineProcess1 = mesLineProcessService.findInfo(mesLineProcess);
+				oprnoTitleMap.put(key, ObjectUtils.isEmpty(mesLineProcess1) ? "" : mesLineProcess1.getTitle());
 			}
+			record.setOprnoTitle(oprnoTitleMap.get(key));
 		}
-		return page;
 	}
 
 	/**
@@ -457,6 +479,7 @@ public class MesProductRecordController extends BaseController {
 			mesProductRecord.getSqlMap().getWhere().and("content",QueryType.EQ, "UDF");
 
 		List<MesProductRecord> list = mesProductRecordService.findList(mesProductRecord);
+		fillProductRecordListFields(list);
 		String fileName = "产品生产记录" + DateUtils.getDate("yyyyMMddHHmmss") + ".xlsx";
 		try(ExcelExport ee = new ExcelExport("产品生产记录", MesProductRecord.class)){
 			ee.setDataList(list).write(response, fileName);

+ 2 - 1
src/main/resources/views/modules/mes/mesDeviceTimeList.html

@@ -67,6 +67,7 @@ $('#dataGrid').dataGrid({
 	columnModel: [
 		{header:'${text("产线编号")}', name:'productCate', index:'a.product_cate', width:120, align:"center", frozen:true},
 		{header:'${text("工位号")}', name:'oprno', index:'a.oprno', width:120, align:"center", frozen:true},
+		{header:'${text("工位名称")}', name:'oprnoTitle', index:'', width:140, align:"center", frozen:true},
 		{header:'${text("工件码")}', name:'sn', index:'a.sn', width:250, align:"center"},
 		{header:'${text("开始时间")}', name:'startDate', index:'a.start_date', width:150, align:"center"},
 		// {header:'${text("预计完成时间")}', name:'scheduledDate', index:'a.scheduled_date', width:150, align:"center"},
@@ -104,4 +105,4 @@ $('#btnExport').click(function(){
 		downloadFile:true
 	});
 });
-</script>
+</script>

+ 2 - 1
src/main/resources/views/modules/mes/mesDeviceTimeList2.html

@@ -44,6 +44,7 @@ $('#dataGrid').dataGrid({
 
 		{header:'${text("工件码")}', name:'sn', index:'a.sn', width:250, align:"center", frozen:true},
 		{header:'${text("工位号")}', name:'oprno', index:'a.oprno', width:120, align:"center"},
+		{header:'${text("工位名称")}', name:'oprnoTitle', index:'', width:140, align:"center"},
 		{header:'${text("开始时间")}', name:'startDate', index:'a.start_date', width:150, align:"center"},
 		{header:'${text("结束时间")}', name:'endDate', index:'a.end_date', width:150, align:"center"},
 		{header:'${text("固化时长(秒)")}', name:'interval', index:'a.interval', width:150, align:"center"},
@@ -61,4 +62,4 @@ $('#btnExport').click(function(){
 		downloadFile:true
 	});
 });
-</script>
+</script>

+ 2 - 1
src/main/resources/views/modules/mes/mesProcessProductList.html

@@ -52,6 +52,7 @@ $('#dataGrid').dataGrid({
 	columnModel: [
 		{header:'${text("产线编号")}', name:'productCate', index:'a.product_cate', width:120, align:"center", frozen:true},
 		{header:'${text("工位号")}', name:'oprno', index:'a.oprno', width:120, align:"center"},
+		{header:'${text("工位名称")}', name:'oprnoTitle', index:'', width:140, align:"center"},
 		{header:'${text("工件码")}', name:'sn', index:'a.sn', width:250, align:"center"},
 		{header:'${text("创建人")}', name:'createBy', index:'a.create_by', width:120, align:"center"},
 		{header:'${text("创建时间")}', name:'createDate', index:'a.create_date', width:120, align:"center"},
@@ -71,4 +72,4 @@ $('#dataGrid').dataGrid({
 		
 	}
 });
-</script>
+</script>

+ 2 - 1
src/main/resources/views/modules/mes/mesProductArcWeldingList.html

@@ -56,6 +56,7 @@ $('#dataGrid').dataGrid({
 			return '<a href="${ctx}/mes/mesProductArcWelding/form?id='+row.id+'&createDate='+encodeURIComponent(row.createDate)+'" class="btnList" data-title="${text("编辑点焊参数")}">'+(val||row.id)+'</a>';
 		}*/},
 		{header:'${text("工位号")}', name:'oprno', index:'a.oprno', width:150, align:"left"},
+		{header:'${text("工位名称")}', name:'oprnoTitle', index:'oprnoTitle', width:150, align:"left", sortable:false},
 		{header:'${text("二维码")}', name:'sn', index:'a.sn', width:150, align:"left"},
 		{header:'${text("操作")}', name:'actions', width:120, formatter: function(val, obj, row, act){
 			var actions = [];
@@ -125,4 +126,4 @@ $('#btnImport').click(function(){
 		</div>
 	</div>
 </form>
-//--></script>
+//--></script>

+ 2 - 1
src/main/resources/views/modules/mes/mesProductModifyRecordList.html

@@ -82,6 +82,7 @@ $('#dataGrid').dataGrid({
 	columnModel: [
 		{header:'${text("工件码")}', name:'sn', index:'a.sn', width:280, align:"center", frozen:true},
 		{header:'${text("工位号")}', name:'oprno', index:'a.oprno', width:150, align:"center"},
+		{header:'${text("工位名称")}', name:'oprnoTitle', index:'oprnoTitle', width:150, align:"center", sortable:false},
 		{header:'${text("工艺号")}', name:'craft', index:'a.craft', width:150, align:"center"},
 		{header:'${text("原结果")}', name:'contentOld', index:'a.content_old', width:150, align:"center"},
 		{header:'${text("结果")}', name:'content', index:'a.content', width:150, align:"center"},
@@ -158,4 +159,4 @@ $('#btnImport').click(function(){
 		</div>
 	</div>
 </form>
-//--></script>
+//--></script>

+ 2 - 1
src/main/resources/views/modules/mes/mesProductRecordList.html

@@ -116,6 +116,7 @@ $('#dataGrid').dataGrid({
 			return '<a href="${ctx}/mes/mesProductRecord/info?id='+row.id+'" class="btnList" data-title="${text("查看生产记录")}">'+(val||row.id)+'</a>';
 		}},
 		{header:'${text("工位号")}', name:'oprno', index:'a.oprno', width:90, align:"center"},
+		{header:'${text("工位名称")}', name:'oprnoTitle', index:'oprnoTitle', width:150, align:"center", sortable:false},
 		{header:'${text("工艺号")}', name:'craft', index:'a.craft', width:90, align:"center"},
 		{header:'${text("报文名称")}', name:'title', index:'b.title', width:180, align:"center",sortable:false},
 		{header:'${text("结果")}', name:'content', index:'a.content', width:80, align:"center"},
@@ -166,4 +167,4 @@ $('#btnExport').click(function(){
 		downloadFile:true
 	});
 });
-</script>
+</script>