Explorar el Código

修改物料追溯类型,工位授权页列表新增生产线字段,新增仓库管理

dkk hace 5 meses
padre
commit
24eb33cd35

+ 10 - 0
src/main/java/com/jeesite/modules/mes/dao/MesMaterialCkDao.java

@@ -0,0 +1,10 @@
+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.MesMaterialCk;
+
+@MyBatisDao
+public interface MesMaterialCkDao extends CrudDao<MesMaterialCk> {
+	
+}

+ 41 - 0
src/main/java/com/jeesite/modules/mes/entity/MesMaterialCk.java

@@ -0,0 +1,41 @@
+package com.jeesite.modules.mes.entity;
+
+import javax.validation.constraints.Size;
+
+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;
+
+@Table(name="mes_material_ck", alias="a", label="仓库管理", columns={
+		@Column(name="id", attrName="id", label="id", isPK=true),
+		@Column(name="ck_name", attrName="ckName", label="仓库名称", queryType=QueryType.LIKE),
+		@Column(name="create_by", attrName="createBy", label="create_by", isUpdate=false, isQuery=false),
+		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
+		@Column(name="update_by", attrName="updateBy", label="update_by", isQuery=false),
+		@Column(name="update_date", attrName="updateDate", label="update_date", isQuery=false, isUpdateForce=true),
+	}, orderBy="a.update_date DESC"
+)
+public class MesMaterialCk extends DataEntity<MesMaterialCk> {
+	
+	private static final long serialVersionUID = 1L;
+	private String ckName;
+
+	public MesMaterialCk() {
+		this(null);
+	}
+	
+	public MesMaterialCk(String id){
+		super(id);
+	}
+	
+	@Size(min=0, max=255, message="仓库名称长度不能超过 255 个字符")
+	public String getCkName() {
+		return ckName;
+	}
+
+	public void setCkName(String ckName) {
+		this.ckName = ckName;
+	}
+	
+}

+ 29 - 8
src/main/java/com/jeesite/modules/mes/entity/MesMaterialKw.java

@@ -4,27 +4,32 @@ import javax.validation.constraints.Size;
 
 import com.jeesite.common.entity.DataEntity;
 import com.jeesite.common.mybatis.annotation.Column;
+import com.jeesite.common.mybatis.annotation.JoinTable;
 import com.jeesite.common.mybatis.annotation.Table;
 import com.jeesite.common.mybatis.mapper.query.QueryType;
 
-/**
- * 来料检查物料库位表Entity
- * @author mes
- * @version 2024-04-10
- */
 @Table(name="mes_material_kw", alias="a", label="来料检查物料库位表信息", columns={
 		@Column(name="id", attrName="id", label="id", isPK=true),
 		@Column(name="title", attrName="title", label="库位名称", queryType=QueryType.LIKE),
+		@Column(name="ck_id", attrName="ckId", label="所属仓库ID", queryType=QueryType.EQ),
 		@Column(name="create_by", attrName="createBy", label="create_by", isUpdate=false, isQuery=false),
 		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
 		@Column(name="update_by", attrName="updateBy", label="update_by", isQuery=false),
 		@Column(name="update_date", attrName="updateDate", label="update_date", isQuery=false, isUpdateForce=true),
-	}, orderBy="a.update_date DESC"
+	}, orderBy="a.update_date DESC", joinTable={
+		@JoinTable(type=JoinTable.Type.LEFT_JOIN, entity=MesMaterialCk.class, attrName="this", alias="b",
+			on="b.id = a.ck_id",
+			columns={
+				@Column(name="ck_name", attrName="ckName", label="仓库名称")
+			})
+	}
 )
 public class MesMaterialKw extends DataEntity<MesMaterialKw> {
 	
 	private static final long serialVersionUID = 1L;
-	private String title;		// 库位名称
+	private String title;
+	private String ckId;
+	private String ckName;
 
 	public MesMaterialKw() {
 		this(null);
@@ -42,5 +47,21 @@ public class MesMaterialKw extends DataEntity<MesMaterialKw> {
 	public void setTitle(String title) {
 		this.title = title;
 	}
+
+	public String getCkId() {
+		return ckId;
+	}
+
+	public void setCkId(String ckId) {
+		this.ckId = ckId;
+	}
+
+	public String getCkName() {
+		return ckName;
+	}
+
+	public void setCkName(String ckName) {
+		this.ckName = ckName;
+	}
 	
-}
+}

+ 48 - 0
src/main/java/com/jeesite/modules/mes/service/MesMaterialCkService.java

@@ -0,0 +1,48 @@
+package com.jeesite.modules.mes.service;
+
+import java.util.List;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.jeesite.common.entity.Page;
+import com.jeesite.common.service.CrudService;
+import com.jeesite.modules.mes.entity.MesMaterialCk;
+import com.jeesite.modules.mes.dao.MesMaterialCkDao;
+
+@Service
+public class MesMaterialCkService extends CrudService<MesMaterialCkDao, MesMaterialCk> {
+	
+	@Override
+	public MesMaterialCk get(MesMaterialCk mesMaterialCk) {
+		return super.get(mesMaterialCk);
+	}
+	
+	@Override
+	public Page<MesMaterialCk> findPage(MesMaterialCk mesMaterialCk) {
+		return super.findPage(mesMaterialCk);
+	}
+	
+	@Override
+	public List<MesMaterialCk> findList(MesMaterialCk mesMaterialCk) {
+		return super.findList(mesMaterialCk);
+	}
+	
+	@Override
+	@Transactional
+	public void save(MesMaterialCk mesMaterialCk) {
+		super.save(mesMaterialCk);
+	}
+	
+	@Override
+	@Transactional
+	public void updateStatus(MesMaterialCk mesMaterialCk) {
+		super.updateStatus(mesMaterialCk);
+	}
+	
+	@Override
+	@Transactional
+	public void delete(MesMaterialCk mesMaterialCk) {
+		super.delete(mesMaterialCk);
+	}
+	
+}

+ 72 - 0
src/main/java/com/jeesite/modules/mes/web/MesMaterialCkController.java

@@ -0,0 +1,72 @@
+package com.jeesite.modules.mes.web;
+
+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.config.Global;
+import com.jeesite.common.entity.Page;
+import com.jeesite.common.web.BaseController;
+import com.jeesite.modules.mes.entity.MesMaterialCk;
+import com.jeesite.modules.mes.service.MesMaterialCkService;
+
+@Controller
+@RequestMapping(value = "${adminPath}/mes/mesMaterialCk")
+public class MesMaterialCkController extends BaseController {
+
+	@Autowired
+	private MesMaterialCkService mesMaterialCkService;
+	
+	@ModelAttribute
+	public MesMaterialCk get(String id, boolean isNewRecord) {
+		return mesMaterialCkService.get(id, isNewRecord);
+	}
+	
+	@RequiresPermissions("mes:mesMaterialCk:view")
+	@RequestMapping(value = {"list", ""})
+	public String list(MesMaterialCk mesMaterialCk, Model model) {
+		model.addAttribute("mesMaterialCk", mesMaterialCk);
+		return "modules/mes/mesMaterialCkList";
+	}
+	
+	@RequiresPermissions("mes:mesMaterialCk:view")
+	@RequestMapping(value = "listData")
+	@ResponseBody
+	public Page<MesMaterialCk> listData(MesMaterialCk mesMaterialCk, HttpServletRequest request, HttpServletResponse response) {
+		mesMaterialCk.setPage(new Page<>(request, response));
+		Page<MesMaterialCk> page = mesMaterialCkService.findPage(mesMaterialCk);
+		return page;
+	}
+
+	@RequiresPermissions("mes:mesMaterialCk:view")
+	@RequestMapping(value = "form")
+	public String form(MesMaterialCk mesMaterialCk, Model model) {
+		model.addAttribute("mesMaterialCk", mesMaterialCk);
+		return "modules/mes/mesMaterialCkForm";
+	}
+
+	@RequiresPermissions("mes:mesMaterialCk:edit")
+	@PostMapping(value = "save")
+	@ResponseBody
+	public String save(@Validated MesMaterialCk mesMaterialCk) {
+		mesMaterialCkService.save(mesMaterialCk);
+		return renderResult(Global.TRUE, text("保存仓库成功!"));
+	}
+	
+	@RequiresPermissions("mes:mesMaterialCk:edit")
+	@RequestMapping(value = "delete")
+	@ResponseBody
+	public String delete(MesMaterialCk mesMaterialCk) {
+		mesMaterialCkService.delete(mesMaterialCk);
+		return renderResult(Global.TRUE, text("删除仓库成功!"));
+	}
+}

+ 7 - 24
src/main/java/com/jeesite/modules/mes/web/MesMaterialKwController.java

@@ -4,8 +4,10 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.jeesite.modules.mes.entity.MesMaterialCk;
 import com.jeesite.modules.mes.entity.MesMaterialRkRecord;
 import com.jeesite.modules.mes.resp.CommonResp;
+import com.jeesite.modules.mes.service.MesMaterialCkService;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -22,39 +24,28 @@ import com.jeesite.common.web.BaseController;
 import com.jeesite.modules.mes.entity.MesMaterialKw;
 import com.jeesite.modules.mes.service.MesMaterialKwService;
 
-/**
- * 来料检查物料库位表Controller
- * @author mes
- * @version 2024-04-10
- */
 @Controller
 @RequestMapping(value = "${adminPath}/mes/mesMaterialKw")
 public class MesMaterialKwController extends BaseController {
 
 	@Autowired
 	private MesMaterialKwService mesMaterialKwService;
+	@Autowired
+	private MesMaterialCkService mesMaterialCkService;
 	
-	/**
-	 * 获取数据
-	 */
 	@ModelAttribute
 	public MesMaterialKw get(String id, boolean isNewRecord) {
 		return mesMaterialKwService.get(id, isNewRecord);
 	}
 	
-	/**
-	 * 查询列表
-	 */
 	@RequiresPermissions("mes:mesMaterialKw:view")
 	@RequestMapping(value = {"list", ""})
 	public String list(MesMaterialKw mesMaterialKw, Model model) {
 		model.addAttribute("mesMaterialKw", mesMaterialKw);
+		model.addAttribute("ckList", mesMaterialCkService.findList(new MesMaterialCk()));
 		return "modules/mes/mesMaterialKwList";
 	}
 	
-	/**
-	 * 查询列表数据
-	 */
 	@RequiresPermissions("mes:mesMaterialKw:view")
 	@RequestMapping(value = "listData")
 	@ResponseBody
@@ -64,19 +55,14 @@ public class MesMaterialKwController extends BaseController {
 		return page;
 	}
 
-	/**
-	 * 查看编辑表单
-	 */
 	@RequiresPermissions("mes:mesMaterialKw:view")
 	@RequestMapping(value = "form")
 	public String form(MesMaterialKw mesMaterialKw, Model model) {
 		model.addAttribute("mesMaterialKw", mesMaterialKw);
+		model.addAttribute("ckList", mesMaterialCkService.findList(new MesMaterialCk()));
 		return "modules/mes/mesMaterialKwForm";
 	}
 
-	/**
-	 * 保存数据
-	 */
 	@RequiresPermissions("mes:mesMaterialKw:edit")
 	@PostMapping(value = "save")
 	@ResponseBody
@@ -85,9 +71,6 @@ public class MesMaterialKwController extends BaseController {
 		return renderResult(Global.TRUE, text("保存来料检查物料库位表成功!"));
 	}
 	
-	/**
-	 * 删除数据
-	 */
 	@RequiresPermissions("mes:mesMaterialKw:edit")
 	@RequestMapping(value = "delete")
 	@ResponseBody
@@ -109,4 +92,4 @@ public class MesMaterialKwController extends BaseController {
 		resp.setResult(Global.TRUE);
 		return resp;
 	}
-}
+}

+ 5 - 0
src/main/resources/mappings/modules/mes/MesMaterialCkDao.xml

@@ -0,0 +1,5 @@
+<?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.MesMaterialCkDao">
+	
+</mapper>

+ 55 - 0
src/main/resources/views/modules/mes/mesMaterialCkForm.html

@@ -0,0 +1,55 @@
+<% layout('/layouts/default.html', {title: '仓库管理', libs: ['validate']}){ %>
+<div class="main-content">
+	<div class="box box-main">
+		<div class="box-header with-border">
+			<div class="box-title">
+				<i class="fa icon-note"></i> ${text(mesMaterialCk.isNewRecord ? '新增仓库' : '编辑仓库')}
+			</div>
+			<div class="box-tools pull-right">
+				<button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
+			</div>
+		</div>
+		<#form:form id="inputForm" model="${mesMaterialCk}" action="${ctx}/mes/mesMaterialCk/save" method="post" class="form-horizontal">
+			<div class="box-body">
+				<div class="form-unit">${text('基本信息')}</div>
+				<#form:hidden path="id"/>
+				<div class="row">
+					<div class="col-xs-6">
+						<div class="form-group">
+							<label class="control-label col-sm-4" title="">
+								<span class="required">*</span> ${text('仓库名称')}:<i class="fa icon-question hide"></i></label>
+							<div class="col-sm-8">
+								<#form:input path="ckName" maxlength="255" class="form-control required"/>
+							</div>
+						</div>
+					</div>
+				</div>
+			</div>
+			<div class="box-footer">
+				<div class="row">
+					<div class="col-sm-offset-2 col-sm-10">
+						<% if (hasPermi('mes:mesMaterialCk:edit')){ %>
+							<button type="submit" class="btn btn-sm btn-primary" id="btnSubmit"><i class="fa fa-check"></i> ${text('保 存')}</button>&nbsp;
+						<% } %>
+						<button type="button" class="btn btn-sm btn-default" id="btnCancel" onclick="js.closeCurrentTabPage()"><i class="fa fa-reply-all"></i> ${text('关 闭')}</button>
+					</div>
+				</div>
+			</div>
+		</#form:form>
+	</div>
+</div>
+<% } %>
+<script>
+$("#inputForm").validate({
+	submitHandler: function(form){
+		js.ajaxSubmitForm($(form), function(data){
+			js.showMessage(data.message);
+			if(data.result == Global.TRUE){
+				js.closeCurrentTabPage(function(contentWindow){
+					contentWindow.page();
+				});
+			}
+		}, "json");
+    }
+});
+</script>

+ 60 - 0
src/main/resources/views/modules/mes/mesMaterialCkList.html

@@ -0,0 +1,60 @@
+<% 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>
+				<% if(hasPermi('mes:mesMaterialCk:edit')){ %>
+					<a href="${ctx}/mes/mesMaterialCk/form" class="btn btn-default btnTool" title="${text('新增仓库')}"><i class="fa fa-plus"></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="${mesMaterialCk}" action="${ctx}/mes/mesMaterialCk/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="ckName" maxlength="255" class="form-control width-120"/>
+					</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:'ckName', index:'a.ck_name', width:150, align:"center", frozen:true, formatter: function(val, obj, row, act){
+			return '<a href="${ctx}/mes/mesMaterialCk/form?id='+row.id+'" class="btnList" data-title="${text("编辑仓库")}">'+(val||row.ckName)+'</a>';
+		}},
+		{header:'${text("创建人")}', name:'createBy', index:'a.create_by', width:120, align:"center"},
+		{header:'${text("创建时间")}', name:'createDate', index:'a.create_date', width:150, align:"center"},
+		{header:'${text("更新人")}', name:'updateBy', index:'a.update_by', width:120, align:"center"},
+		{header:'${text("更新时间")}', name:'updateDate', index:'a.update_date', width:150, align:"center"},
+		{header:'${text("操作")}', name:'actions', width:120, formatter: function(val, obj, row, act){
+			var actions = [];
+			//<% if(hasPermi('mes:mesMaterialCk:edit')){ %>
+				actions.push('<a href="${ctx}/mes/mesMaterialCk/form?id='+row.id+'" class="btnList" title="${text("编辑仓库")}"><i class="fa fa-pencil"></i></a>&nbsp;');
+				actions.push('<a href="${ctx}/mes/mesMaterialCk/delete?id='+row.id+'" class="btnList" title="${text("删除仓库")}" data-confirm="${text("确认要删除该仓库吗?")}"><i class="fa fa-trash-o"></i></a>&nbsp;');
+			//<% } %>
+			return actions.join('');
+		}}
+	],
+	ajaxSuccess: function(data){
+		
+	}
+});
+</script>

+ 10 - 1
src/main/resources/views/modules/mes/mesMaterialKwForm.html

@@ -17,6 +17,15 @@
 					<div class="col-xs-6">
 						<div class="form-group">
 							<label class="control-label col-sm-4" title="">
+								<span class="required">*</span> ${text('所属仓库')}:<i class="fa icon-question hide"></i></label>
+							<div class="col-sm-8">
+								<#form:select path="ckId" items="${ckList}" itemLabel="ckName" itemValue="id" blankOption="true" class="form-control required"/>
+							</div>
+						</div>
+					</div>
+					<div class="col-xs-6">
+						<div class="form-group">
+							<label class="control-label col-sm-4" title="">
 								<span class="required">*</span> ${text('库位名称')}:<i class="fa icon-question hide"></i></label>
 							<div class="col-sm-8">
 								<#form:input path="title" maxlength="255" class="form-control required"/>
@@ -52,4 +61,4 @@ $("#inputForm").validate({
 		}, "json");
     }
 });
-</script>
+</script>

+ 8 - 4
src/main/resources/views/modules/mes/mesMaterialKwList.html

@@ -23,6 +23,12 @@
 					</div>
 				</div>
 				<div class="form-group">
+					<label class="control-label">${text('所属仓库')}:</label>
+					<div class="control-inline">
+						<#form:select path="ckId" items="${ckList}" itemLabel="ckName" itemValue="id" blankOption="true" class="form-control width-120"/>
+					</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>
@@ -34,14 +40,13 @@
 </div>
 <% } %>
 <script>
-// 初始化DataGrid对象
 $('#dataGrid').dataGrid({
 	searchForm: $("#searchForm"),
 	columnModel: [
 		{header:'${text("库位名称")}', name:'title', index:'a.title', width:150, align:"center", frozen:true, formatter: function(val, obj, row, act){
 			return '<a href="${ctx}/mes/mesMaterialKw/form?id='+row.id+'" class="btnList" data-title="${text("编辑物料库位")}">'+(val||row.title)+'</a>';
 		}},
-		// {header:'${text("创建时间")}', name:'createDate', index:'a.create_date', width:150, align:"center"},
+		{header:'${text("所属仓库")}', name:'ckName', index:'b.ck_name', width:150, align:"center"},
 		{header:'${text("更新日期")}', name:'updateDate', index:'a.update_date', width:150, align:"center"},
 		{header:'${text("操作")}', name:'actions', width:120, formatter: function(val, obj, row, act){
 			var actions = [];
@@ -52,9 +57,8 @@ $('#dataGrid').dataGrid({
 			return actions.join('');
 		}}
 	],
-	// 加载成功后执行事件
 	ajaxSuccess: function(data){
 		
 	}
 });
-</script>
+</script>

+ 1 - 0
src/main/resources/views/modules/mes/mesUserAuthProcess.html

@@ -73,6 +73,7 @@
             {name:'pageNo',value:'1'}
         ],
         columnModel: [
+            {header:'${text("生产线")}', name:'lineTitle', sortable:false, width:100, align:"center"},
             {header:'${text("工位号")}', name:'oprno', sortable:false, width:100, align:"center"},
             {header:'${text("工位名称")}', name:'title', sortable:false, width:100, align:"center"}
         ],