Переглянути джерело

新增"钢印码和客户码对应关系"页,查询功能完善

17491 6 днів тому
батько
коміт
4e15671664

+ 14 - 0
src/main/java/com/jeesite/modules/mes/dao/MesProductLaserDao.java

@@ -0,0 +1,14 @@
+package com.jeesite.modules.mes.dao;
+
+import com.jeesite.common.dao.CrudDao;
+import com.jeesite.common.mybatis.annotation.MyBatisDao;
+import com.jeesite.modules.mes.entity.MesProductLaser;
+
+/**
+ * 钢印码和客户码对应关系DAO接口
+ * @author hzd
+ * @version 2026-07-08
+ */
+@MyBatisDao
+public interface MesProductLaserDao extends CrudDao<MesProductLaser> {
+}

+ 158 - 0
src/main/java/com/jeesite/modules/mes/entity/MesProductLaser.java

@@ -0,0 +1,158 @@
+package com.jeesite.modules.mes.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.jeesite.common.entity.DataEntity;
+import com.jeesite.common.mybatis.annotation.Column;
+import com.jeesite.common.mybatis.annotation.Table;
+import com.jeesite.common.mybatis.mapper.query.QueryType;
+import com.jeesite.common.utils.excel.annotation.ExcelField;
+import com.jeesite.common.utils.excel.annotation.ExcelFields;
+
+import javax.validation.constraints.Size;
+import java.util.Date;
+
+/**
+ * 钢印码和客户码对应关系Entity
+ * @author hzd
+ * @version 2026-07-08
+ */
+@Table(name="mes_product_laser", alias="a", label="钢印码和客户码对应关系", columns={
+		@Column(name="id", attrName="id", label="id", isPK=true),
+		@Column(name="prod_code", attrName="prodCode", label="产品标识", queryType=QueryType.LIKE),
+		@Column(name="customer_sn", attrName="customerSn", label="客户码", queryType=QueryType.LIKE),
+		@Column(name="steel_sn", attrName="steelSn", label="钢印码", queryType=QueryType.LIKE),
+		@Column(name="oprno", attrName="oprno", label="工位号", queryType=QueryType.LIKE),
+		@Column(name="line_sn", attrName="lineSn", label="产线编号", queryType=QueryType.LIKE),
+		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
+		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
+		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
+		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
+	}, orderBy="a.create_date DESC"
+)
+public class MesProductLaser extends DataEntity<MesProductLaser> {
+
+	private static final long serialVersionUID = 1L;
+	private String prodCode;
+	private String customerSn;
+	private String steelSn;
+	private String oprno;
+	private String lineSn;
+	private Date createDate;
+	private Date updateDate;
+
+	@ExcelFields({
+			@ExcelField(title="产品标识", attrName="prodCode", align= ExcelField.Align.CENTER, sort=10),
+			@ExcelField(title="客户码", attrName="customerSn", align= ExcelField.Align.CENTER, sort=20),
+			@ExcelField(title="钢印码", attrName="steelSn", align= ExcelField.Align.CENTER, sort=30),
+			@ExcelField(title="工位号", attrName="oprno", align= ExcelField.Align.CENTER, sort=40),
+			@ExcelField(title="产线编号", attrName="lineSn", align= ExcelField.Align.CENTER, sort=50),
+			@ExcelField(title="创建人", attrName="createBy", align= ExcelField.Align.CENTER, sort=60),
+			@ExcelField(title="创建时间", attrName="createDate", align= ExcelField.Align.CENTER, sort=70, dataFormat="yyyy-MM-dd HH:mm:ss"),
+	})
+	public MesProductLaser() {
+		this(null);
+	}
+
+	public MesProductLaser(String id){
+		super(id);
+	}
+
+	@Size(min=0, max=20, message="产品标识长度不能超过 20 个字符")
+	public String getProdCode() {
+		return prodCode;
+	}
+
+	public void setProdCode(String prodCode) {
+		this.prodCode = prodCode;
+	}
+
+	@Size(min=0, max=64, message="客户码长度不能超过 64 个字符")
+	public String getCustomerSn() {
+		return customerSn;
+	}
+
+	public void setCustomerSn(String customerSn) {
+		this.customerSn = customerSn;
+	}
+
+	@Size(min=0, max=64, message="钢印码长度不能超过 64 个字符")
+	public String getSteelSn() {
+		return steelSn;
+	}
+
+	public void setSteelSn(String steelSn) {
+		this.steelSn = steelSn;
+	}
+
+	@Size(min=0, max=20, message="工位号长度不能超过 20 个字符")
+	public String getOprno() {
+		return oprno;
+	}
+
+	public void setOprno(String oprno) {
+		this.oprno = oprno;
+	}
+
+	@Size(min=0, max=50, message="产线编号长度不能超过 50 个字符")
+	public String getLineSn() {
+		return lineSn;
+	}
+
+	public void setLineSn(String lineSn) {
+		this.lineSn = lineSn;
+	}
+
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@Override
+	public Date getCreateDate() {
+		return createDate;
+	}
+
+	@Override
+	public void setCreateDate(Date createDate) {
+		this.createDate = createDate;
+	}
+
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@Override
+	public Date getUpdateDate() {
+		return updateDate;
+	}
+
+	@Override
+	public void setUpdateDate(Date updateDate) {
+		this.updateDate = updateDate;
+	}
+
+	public Date getCreateDate_gte() {
+		return sqlMap.getWhere().getValue("create_date", QueryType.GTE);
+	}
+
+	public void setCreateDate_gte(Date createDate) {
+		sqlMap.getWhere().and("create_date", QueryType.GTE, createDate);
+	}
+
+	public Date getCreateDate_lte() {
+		return sqlMap.getWhere().getValue("create_date", QueryType.LTE);
+	}
+
+	public void setCreateDate_lte(Date createDate) {
+		sqlMap.getWhere().and("create_date", QueryType.LTE, createDate);
+	}
+
+	public Date getUpdateDate_gte() {
+		return sqlMap.getWhere().getValue("update_date", QueryType.GTE);
+	}
+
+	public void setUpdateDate_gte(Date updateDate) {
+		sqlMap.getWhere().and("update_date", QueryType.GTE, updateDate);
+	}
+
+	public Date getUpdateDate_lte() {
+		return sqlMap.getWhere().getValue("update_date", QueryType.LTE);
+	}
+
+	public void setUpdateDate_lte(Date updateDate) {
+		sqlMap.getWhere().and("update_date", QueryType.LTE, updateDate);
+	}
+}

+ 35 - 0
src/main/java/com/jeesite/modules/mes/service/MesProductLaserService.java

@@ -0,0 +1,35 @@
+package com.jeesite.modules.mes.service;
+
+import com.jeesite.common.entity.Page;
+import com.jeesite.common.service.CrudService;
+import com.jeesite.modules.mes.dao.MesProductLaserDao;
+import com.jeesite.modules.mes.entity.MesProductLaser;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * 钢印码和客户码对应关系Service
+ * @author hzd
+ * @version 2026-07-08
+ */
+@Service
+@Transactional(readOnly=true)
+public class MesProductLaserService extends CrudService<MesProductLaserDao, MesProductLaser> {
+
+	@Override
+	public MesProductLaser get(MesProductLaser mesProductLaser) {
+		return super.get(mesProductLaser);
+	}
+
+	@Override
+	public Page<MesProductLaser> findPage(MesProductLaser mesProductLaser) {
+		return super.findPage(mesProductLaser);
+	}
+
+	@Override
+	public List<MesProductLaser> findList(MesProductLaser mesProductLaser) {
+		return super.findList(mesProductLaser);
+	}
+}

+ 49 - 0
src/main/java/com/jeesite/modules/mes/web/MesProductLaserController.java

@@ -0,0 +1,49 @@
+package com.jeesite.modules.mes.web;
+
+import com.jeesite.common.entity.Page;
+import com.jeesite.common.web.BaseController;
+import com.jeesite.modules.mes.entity.MesProductLaser;
+import com.jeesite.modules.mes.service.MesProductLaserService;
+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.web.bind.annotation.ModelAttribute;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 钢印码和客户码对应关系Controller
+ * @author hzd
+ * @version 2026-07-08
+ */
+@Controller
+@RequestMapping(value = "${adminPath}/mes/mesProductLaser")
+public class MesProductLaserController extends BaseController {
+
+	@Autowired
+	private MesProductLaserService mesProductLaserService;
+
+	@ModelAttribute
+	public MesProductLaser get(String id, boolean isNewRecord) {
+		return mesProductLaserService.get(id, isNewRecord);
+	}
+
+	@RequiresPermissions("mes:mesProductLaser:view")
+	@RequestMapping(value = {"list", ""})
+	public String list(MesProductLaser mesProductLaser, Model model) {
+		model.addAttribute("mesProductLaser", mesProductLaser);
+		return "modules/mes/mesProductLaserList";
+	}
+
+	@RequiresPermissions("mes:mesProductLaser:view")
+	@RequestMapping(value = "listData")
+	@ResponseBody
+	public Page<MesProductLaser> listData(MesProductLaser mesProductLaser, HttpServletRequest request, HttpServletResponse response) {
+		mesProductLaser.setPage(new Page<>(request, response));
+		return mesProductLaserService.findPage(mesProductLaser);
+	}
+}

+ 3 - 3
src/main/resources/config/application.yml

@@ -54,10 +54,10 @@ jdbc:
   # Mysql 数据库配置
   type: mysql
   driver: com.mysql.cj.jdbc.Driver
-  url: jdbc:mysql://127.0.0.1:3306/mes_cloud_t09?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
-#  url: jdbc:mysql://192.168.114.99:3306/mes_cloud_t09?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
+#  url: jdbc:mysql://127.0.0.1:3306/mes_cloud_t09?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
+  url: jdbc:mysql://192.168.114.99:3306/mes_cloud_t09?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
 #  url: jdbc:mysql://192.168.110.99:3306/mes_cloud?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=CONVERT_TO_NULL&serverTimezone=Asia/Shanghai&nullCatalogMeansCurrent=true
-#
+
   username: mes_cloud
   password: RTCk7KxGPAPyy7pJ
 #  username: root

+ 4 - 0
src/main/resources/mappings/modules/mes/MesProductLaserDao.xml

@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.jeesite.modules.mes.dao.MesProductLaserDao">
+</mapper>

+ 69 - 0
src/main/resources/views/modules/mes/mesProductLaserList.html

@@ -0,0 +1,69 @@
+<% layout('/layouts/default.html', {title: '钢印码和客户码对应关系', libs: ['dataGrid']}){ %>
+<div class="main-content">
+	<div class="box box-main">
+		<div class="box-header">
+			<div class="box-title">
+				<i class="fa icon-notebook"></i> ${text('钢印码和客户码对应关系')}
+			</div>
+			<div class="box-tools pull-right">
+				<a href="#" class="btn btn-default" id="btnSearch" title="${text('查询')}"><i class="fa fa-filter"></i> ${text('查询')}</a>
+				<a href="#" class="btn btn-default" id="btnSetting" title="${text('设置')}"><i class="fa fa-navicon"></i></a>
+			</div>
+		</div>
+		<div class="box-body">
+			<#form:form id="searchForm" model="${mesProductLaser}" action="${ctx}/mes/mesProductLaser/listData" method="post" class="form-inline hide"
+					data-page-no="${parameter.pageNo}" data-page-size="${parameter.pageSize}" data-order-by="${parameter.orderBy}">
+				<div class="form-group">
+					<label class="control-label">${text('产品标识')}:</label>
+					<div class="control-inline">
+						<#form:input path="prodCode" maxlength="20" class="form-control width-120"/>
+					</div>
+				</div>
+				<div class="form-group">
+					<label class="control-label">${text('钢印码')}:</label>
+					<div class="control-inline">
+						<#form:input path="steelSn" maxlength="64" class="form-control width-180"/>
+					</div>
+				</div>
+				<div class="form-group">
+					<label class="control-label">${text('客户码')}:</label>
+					<div class="control-inline">
+						<#form:input path="customerSn" maxlength="64" class="form-control width-180"/>
+					</div>
+				</div>
+				<div class="form-group">
+					<label class="control-label">${text('更新时间')}:</label>
+					<div class="control-inline">
+						<#form:input path="updateDate_gte" readonly="true" maxlength="20" class="form-control laydate width-datetime"
+							dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm" data-done="updateDate_lte.click()"/>
+						&nbsp;-&nbsp;
+						<#form:input path="updateDate_lte" readonly="true" maxlength="20" class="form-control laydate width-datetime"
+							dataFormat="datetime" data-type="datetime" data-format="yyyy-MM-dd HH:mm"/>
+					</div>
+				</div>
+				<div class="form-group">
+					<button type="submit" class="btn btn-primary btn-sm">${text('查询')}</button>
+					<button type="reset" class="btn btn-default btn-sm">${text('重置')}</button>
+				</div>
+			</#form:form>
+			<table id="dataGrid"></table>
+			<div id="dataGridPage"></div>
+		</div>
+	</div>
+</div>
+<% } %>
+<script>
+$('#dataGrid').dataGrid({
+	searchForm: $("#searchForm"),
+	columnModel: [
+		{header:'${text("产品标识")}', name:'prodCode', index:'a.prod_code', width:120, align:"center"},
+		{header:'${text("钢印码")}', name:'steelSn', index:'a.steel_sn', width:180, align:"center"},
+		{header:'${text("客户码")}', name:'customerSn', index:'a.customer_sn', width:220, align:"center"},
+		{header:'${text("产线编号")}', name:'lineSn', index:'a.line_sn', width:120, align:"center"},
+		{header:'${text("创建时间")}', name:'createDate', index:'a.create_date', width:160, align:"center"},
+		{header:'${text("更新时间")}', name:'updateDate', index:'a.update_date', width:160, align:"center"}
+	],
+	ajaxSuccess: function(data){
+	}
+});
+</script>