diff --git a/doc/设计文档/数据库设计/mes-pro.sql b/doc/设计文档/数据库设计/mes-pro.sql index 754bd38..a201855 100644 --- a/doc/设计文档/数据库设计/mes-pro.sql +++ b/doc/设计文档/数据库设计/mes-pro.sql @@ -154,6 +154,7 @@ create table pro_route_process ( default_pre_time int(11) default 0 comment '准备时间', default_suf_time int(11) default 0 comment '等待时间', color_code char(7) default '#00AEF3' comment '甘特图显示颜色', + update_flag varchar(64) default 'N' comment '更新工单', remark varchar(500) default '' comment '备注', attr1 varchar(64) default null comment '预留字段1', attr2 varchar(255) default null comment '预留字段2', diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProRouteProcessController.java b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProRouteProcessController.java index 482c124..95d5526 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProRouteProcessController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/controller/ProRouteProcessController.java @@ -120,6 +120,9 @@ public class ProRouteProcessController extends BaseController if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkProcessExists(proRouteProcess))){ return AjaxResult.error("不能重复添加工序!"); } + if(UserConstants.NOT_UNIQUE.equals(proRouteProcessService.checkUpdateFlagUnique(proRouteProcess))){ + return AjaxResult.error("当前工艺路线已经指定过关键工序"); + } ProProcess process = proProcessService.selectProProcessByProcessId(proRouteProcess.getProcessId()); proRouteProcess.setProcessCode(process.getProcessCode()); proRouteProcess.setProcessName(process.getProcessName()); diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProRouteProcess.java b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProRouteProcess.java index a20bcc6..fbbcdc7 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProRouteProcess.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/domain/ProRouteProcess.java @@ -66,6 +66,9 @@ public class ProRouteProcess extends BaseEntity @Excel(name = "甘特图显示颜色") private String colorCode; + /** 是否更新生产工单进度 */ + private String updateFlag; + /** 预留字段1 */ private String attr1; @@ -195,6 +198,7 @@ public class ProRouteProcess extends BaseEntity { return colorCode; } + public void setAttr1(String attr1) { this.attr1 = attr1; @@ -209,7 +213,15 @@ public class ProRouteProcess extends BaseEntity this.attr2 = attr2; } - public String getAttr2() + public String getUpdateFlag() { + return updateFlag; + } + + public void setUpdateFlag(String updateFlag) { + this.updateFlag = updateFlag; + } + + public String getAttr2() { return attr2; } @@ -234,29 +246,25 @@ public class ProRouteProcess extends BaseEntity @Override public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("recordId", getRecordId()) - .append("routeId", getRouteId()) - .append("processId", getProcessId()) - .append("processCode", getProcessCode()) - .append("processName", getProcessName()) - .append("orderNum", getOrderNum()) - .append("nextProcessId", getNextProcessId()) - .append("nextProcessCode", getNextProcessCode()) - .append("nextProcessName", getNextProcessName()) - .append("linkType", getLinkType()) - .append("defaultPreTime", getDefaultPreTime()) - .append("defaultSufTime", getDefaultSufTime()) - .append("colorCode", getColorCode()) - .append("remark", getRemark()) - .append("attr1", getAttr1()) - .append("attr2", getAttr2()) - .append("attr3", getAttr3()) - .append("attr4", getAttr4()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); + return "ProRouteProcess{" + + "recordId=" + recordId + + ", routeId=" + routeId + + ", processId=" + processId + + ", processCode='" + processCode + '\'' + + ", processName='" + processName + '\'' + + ", orderNum=" + orderNum + + ", nextProcessId=" + nextProcessId + + ", nextProcessCode='" + nextProcessCode + '\'' + + ", nextProcessName='" + nextProcessName + '\'' + + ", linkType='" + linkType + '\'' + + ", defaultPreTime=" + defaultPreTime + + ", defaultSufTime=" + defaultSufTime + + ", colorCode='" + colorCode + '\'' + + ", updateFlag='" + updateFlag + '\'' + + ", attr1='" + attr1 + '\'' + + ", attr2='" + attr2 + '\'' + + ", attr3=" + attr3 + + ", attr4=" + attr4 + + '}'; } } diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java index 6fa4727..6500640 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/mapper/ProRouteProcessMapper.java @@ -30,6 +30,7 @@ public interface ProRouteProcessMapper public ProRouteProcess checkOrderNumExists(ProRouteProcess proRouteProcess); public ProRouteProcess checkProcessExists(ProRouteProcess proRouteProcess); + public ProRouteProcess checkUpdateFlagUnique(ProRouteProcess proRouteProcess); public ProRouteProcess findPreProcess(ProRouteProcess proRouteProcess); diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProRouteProcessService.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProRouteProcessService.java index 9f3fcb9..38a5fce 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProRouteProcessService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/IProRouteProcessService.java @@ -41,6 +41,13 @@ public interface IProRouteProcessService */ public String checkProcessExists(ProRouteProcess proRouteProcess); + /** + * 检查当前工艺路线中是否已经有某个工序配置了update_flag=Y + * @param proRouteProcess + * @return + */ + public String checkUpdateFlagUnique(ProRouteProcess proRouteProcess); + /** * 查找上一个工序 * @param proRouteProcess diff --git a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java index 0ce088e..524ee2f 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/pro/service/impl/ProRouteProcessServiceImpl.java @@ -67,6 +67,16 @@ public class ProRouteProcessServiceImpl implements IProRouteProcessService return UserConstants.UNIQUE; } + @Override + public String checkUpdateFlagUnique(ProRouteProcess proRouteProcess) { + ProRouteProcess process = proRouteProcessMapper.checkUpdateFlagUnique(proRouteProcess); + Long recordId = proRouteProcess.getRecordId()==null?-1L:proRouteProcess.getRecordId(); + if(StringUtils.isNotNull(process) && process.getRecordId().longValue() != recordId.longValue()){ + return UserConstants.NOT_UNIQUE; + } + return UserConstants.UNIQUE; + } + @Override public ProRouteProcess findPreProcess(ProRouteProcess proRouteProcess) { return proRouteProcessMapper.findPreProcess(proRouteProcess); diff --git a/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml b/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml index bfdeb68..95a1fa0 100644 --- a/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml +++ b/ktg-mes/src/main/resources/mapper/pro/ProRouteProcessMapper.xml @@ -18,6 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -30,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select record_id, route_id, process_id, process_code, process_name, order_num, next_process_id, next_process_code, next_process_name, link_type, default_pre_time, default_suf_time, color_code, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_route_process + select record_id, route_id, process_id, process_code, process_name, order_num, next_process_id, next_process_code, next_process_name, link_type, default_pre_time, default_suf_time, color_code,update_flag, remark, attr1, attr2, attr3, attr4, create_by, create_time, update_by, update_time from pro_route_process @@ -49,6 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and default_pre_time = #{defaultPreTime} and default_suf_time = #{defaultSufTime} and color_code = #{colorCode} + and update_flag = #{updateFlag} order by order_num asc @@ -68,6 +70,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where route_id = #{routeId} and process_id = #{processId} limit 1 + +