diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/RemoteMesService.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/RemoteMesService.java index 60eea7cf..0f858187 100644 --- a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/RemoteMesService.java +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/RemoteMesService.java @@ -5,6 +5,7 @@ import com.hw.common.core.constant.ServiceNameConstants; import com.hw.common.core.domain.R; import com.hw.mes.api.domain.MesBaseBarcodeInfo; import com.hw.mes.api.domain.MesBaseMaterialInfo; +import com.hw.mes.api.domain.MesBaseProcessInfo; import com.hw.mes.api.domain.MesBaseStationInfo; import com.hw.mes.api.domain.vo.MesBaseMaterialInfoVo; import com.hw.mes.api.factory.RemoteMesFallbackFactory; @@ -59,4 +60,13 @@ public interface RemoteMesService { @GetMapping("/barcode/getBarcodeByBindBarcode/{bindBarcode}") public R getBarcodeByBindBarcode(@PathVariable("bindBarcode") String bindBarcode, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 查询工位信息列表 + * + * @param source 请求来源 + * @return 结果 + */ + @GetMapping("/processInfo/getProcesses") + public R> getProcesses(@RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessInfo.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessInfo.java new file mode 100644 index 00000000..898353cf --- /dev/null +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessInfo.java @@ -0,0 +1,167 @@ +package com.hw.mes.api.domain; + +import com.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.List; + +/** + * 工序信息对象 mes_base_process_info + * + * @author Yinq + * @date 2024-01-24 + */ +public class MesBaseProcessInfo extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + private Long processId; + + /** + * 工序编号 + */ + @Excel(name = "工序编号") + private String processCode; + + /** + * 工序名称 + */ + @Excel(name = "工序名称") + private String processName; + + /** + * 工序类别(1-生产工序;2-质检工序) + */ + @Excel(name = "工序类别" , readConverterExp = "1=生产工序,2=质检工序") + private String processType; + + /** + * 标准工时(分钟) + */ + @Excel(name = "标准工时(分钟)") + private Long productionTime; + + /** + * 工序所在楼层 + */ + @Excel(name = "标准工时(分钟)工序所在楼层") + private Integer processFloor; + + /** + * 激活标识 + */ + @Excel(name = "激活标识") + private String activeFlag; + + private Long processOrder; + + /** + * 工序关联产线信息 + */ + private List mesBaseProcessProdlineList; + + /** 工序关联人员信息 */ + private List mesBaseProcessUserList; + + public List getMesBaseProcessUserList() { + return mesBaseProcessUserList; + } + + public void setMesBaseProcessUserList(List mesBaseProcessUserList) { + this.mesBaseProcessUserList = mesBaseProcessUserList; + } + + public void setProcessId(Long processId) { + this.processId = processId; + } + + public Long getProcessId() { + return processId; + } + + public void setProcessCode(String processCode) { + this.processCode = processCode; + } + + public String getProcessCode() { + return processCode; + } + + public void setProcessName(String processName) { + this.processName = processName; + } + + public String getProcessName() { + return processName; + } + + public void setProcessType(String processType) { + this.processType = processType; + } + + public String getProcessType() { + return processType; + } + + public void setProductionTime(Long productionTime) { + this.productionTime = productionTime; + } + + public Long getProductionTime() { + return productionTime; + } + + public Integer getProcessFloor() { + return processFloor; + } + + public void setProcessFloor(Integer processFloor) { + this.processFloor = processFloor; + } + + public void setActiveFlag(String activeFlag) { + this.activeFlag = activeFlag; + } + + public String getActiveFlag() { + return activeFlag; + } + + public List getMesBaseProcessProdlineList() { + return mesBaseProcessProdlineList; + } + + public void setMesBaseProcessProdlineList(List mesBaseProcessProdlineList) { + this.mesBaseProcessProdlineList = mesBaseProcessProdlineList; + } + + public Long getProcessOrder() { + return processOrder; + } + + public void setProcessOrder(Long processOrder) { + this.processOrder = processOrder; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("processId" , getProcessId()) + .append("processCode" , getProcessCode()) + .append("processName" , getProcessName()) + .append("processType" , getProcessType()) + .append("productionTime" , getProductionTime()) + .append("activeFlag" , getActiveFlag()) + .append("remark" , getRemark()) + .append("createBy" , getCreateBy()) + .append("createTime" , getCreateTime()) + .append("updateBy" , getUpdateBy()) + .append("updateTime" , getUpdateTime()) + .append("mesBaseProcessProdlineList" , getMesBaseProcessProdlineList()) + .toString(); + } +} diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessProdline.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessProdline.java new file mode 100644 index 00000000..3329fc9d --- /dev/null +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessProdline.java @@ -0,0 +1,51 @@ +package com.hw.mes.api.domain; + +import com.hw.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 工序关联产线对象 mes_base_process_prodline + * + * @author Yinq + * @date 2024-01-24 + */ +public class MesBaseProcessProdline extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 工序ID,关联工序信息主键 */ + private Long processId; + + /** 所属产线ID,关联产线主键 */ + private Long prodlineId; + + public void setProcessId(Long processId) + { + this.processId = processId; + } + + public Long getProcessId() + { + return processId; + } + public void setProdlineId(Long prodlineId) + { + this.prodlineId = prodlineId; + } + + public Long getProdlineId() + { + return prodlineId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("processId", getProcessId()) + .append("prodlineId", getProdlineId()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessUser.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessUser.java new file mode 100644 index 00000000..99f626b5 --- /dev/null +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProcessUser.java @@ -0,0 +1,77 @@ +package com.hw.mes.api.domain; + +import com.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 工序关联人员对象 mes_base_process_user + * + * @author Yinq + * @date 2024-01-29 + */ +public class MesBaseProcessUser extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 工序ID,关联工序主键 */ + private Long processId; + + /** 用户ID,关联用户主键 */ + private Long userId; + + /** 用户名称,关联sys_user的user_name */ + @Excel(name = "用户名称") + private String userName; + + private Long routeId; + + + public void setProcessId(Long processId) + { + this.processId = processId; + } + + public Long getProcessId() + { + return processId; + } + public void setUserId(Long userId) + { + this.userId = userId; + } + + public Long getUserId() + { + return userId; + } + public void setUserName(String userName) + { + this.userName = userName; + } + + public String getUserName() + { + return userName; + } + + public Long getRouteId() { + return routeId; + } + + public void setRouteId(Long routeId) { + this.routeId = routeId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("processId", getProcessId()) + .append("userId", getUserId()) + .append("userName", getUserName()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .toString(); + } +} diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProdlineInfo.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProdlineInfo.java new file mode 100644 index 00000000..3b20fdcb --- /dev/null +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseProdlineInfo.java @@ -0,0 +1,124 @@ +package com.hw.mes.api.domain; + +import com.hw.common.core.annotation.Excel; +import com.hw.common.core.web.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 产线信息对象 mes_base_prodline_info + * + * @author Yinq + * @date 2024-01-24 + */ +public class MesBaseProdlineInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键标识 */ + private Long prodlineId; + + /** 产线编号 */ + @Excel(name = "产线编号") + private String prodlineCode; + + /** 产线名称 */ + @Excel(name = "产线名称") + private String prodlineName; + + /** 产线类型 */ + @Excel(name = "产线类型") + private String prodlineType; + + /** 所属工厂ID */ + @Excel(name = "所属工厂ID") + private Long factoryId; + + /** 所属工厂名称 */ + @Excel(name = "所属工厂名称") + private String factoryName; + + /** 是否标识 */ + @Excel(name = "是否标识") + private String isFlag; + + public String getFactoryName() { + return factoryName; + } + + public void setFactoryName(String factoryName) { + this.factoryName = factoryName; + } + + public void setProdlineId(Long prodlineId) + { + this.prodlineId = prodlineId; + } + + public Long getProdlineId() + { + return prodlineId; + } + public void setProdlineCode(String prodlineCode) + { + this.prodlineCode = prodlineCode; + } + + public String getProdlineCode() + { + return prodlineCode; + } + public void setProdlineName(String prodlineName) + { + this.prodlineName = prodlineName; + } + + public String getProdlineName() + { + return prodlineName; + } + public void setProdlineType(String prodlineType) + { + this.prodlineType = prodlineType; + } + + public String getProdlineType() + { + return prodlineType; + } + public void setFactoryId(Long factoryId) + { + this.factoryId = factoryId; + } + + public Long getFactoryId() + { + return factoryId; + } + public void setIsFlag(String isFlag) + { + this.isFlag = isFlag; + } + + public String getIsFlag() + { + return isFlag; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("prodlineId", getProdlineId()) + .append("prodlineCode", getProdlineCode()) + .append("prodlineName", getProdlineName()) + .append("prodlineType", getProdlineType()) + .append("factoryId", getFactoryId()) + .append("isFlag", getIsFlag()) + .append("remark", getRemark()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseStationInfo.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseStationInfo.java index 53641406..9ae275bc 100644 --- a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseStationInfo.java +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/domain/MesBaseStationInfo.java @@ -61,6 +61,8 @@ public class MesBaseStationInfo extends BaseEntity { @Excel(name = "激活标识") private String activeFlag; + private String ipAddress; + public String getProcessName() { return processName; } @@ -125,6 +127,14 @@ public class MesBaseStationInfo extends BaseEntity { return activeFlag; } + public String getIpAddress() { + return ipAddress; + } + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/factory/RemoteMesFallbackFactory.java b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/factory/RemoteMesFallbackFactory.java index cef592f0..5b9c3aa2 100644 --- a/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/factory/RemoteMesFallbackFactory.java +++ b/hw-api/hw-api-mes/src/main/java/com/hw/mes/api/factory/RemoteMesFallbackFactory.java @@ -4,6 +4,7 @@ import com.hw.common.core.domain.R; import com.hw.mes.api.RemoteMesService; import com.hw.mes.api.domain.MesBaseBarcodeInfo; import com.hw.mes.api.domain.MesBaseMaterialInfo; +import com.hw.mes.api.domain.MesBaseProcessInfo; import com.hw.mes.api.domain.MesBaseStationInfo; import com.hw.mes.api.domain.vo.MesBaseMaterialInfoVo; import org.slf4j.Logger; @@ -45,6 +46,11 @@ public class RemoteMesFallbackFactory implements FallbackFactory getBarcodeByBindBarcode(String bindBarcode, String source) { return R.fail("获取绑定条码信息失败:" + throwable.getMessage()); } + + @Override + public R> getProcesses(String source) { + return R.fail("获取工序列表信息失败:" + throwable.getMessage()); + } }; } } diff --git a/hw-api/hw-api-printer/src/main/java/com/hw/printer/api/domain/vo/PrinterVo.java b/hw-api/hw-api-printer/src/main/java/com/hw/printer/api/domain/vo/PrinterVo.java index 98f25cad..542ddec6 100644 --- a/hw-api/hw-api-printer/src/main/java/com/hw/printer/api/domain/vo/PrinterVo.java +++ b/hw-api/hw-api-printer/src/main/java/com/hw/printer/api/domain/vo/PrinterVo.java @@ -12,5 +12,7 @@ public class PrinterVo { public String printType; - public List> printContents; +// public List> printContents; + + public List printContentVos; } diff --git a/hw-api/hw-api-system/src/main/java/com/hw/system/api/model/LoginUser.java b/hw-api/hw-api-system/src/main/java/com/hw/system/api/model/LoginUser.java index d1c9c906..58b4dfce 100644 --- a/hw-api/hw-api-system/src/main/java/com/hw/system/api/model/LoginUser.java +++ b/hw-api/hw-api-system/src/main/java/com/hw/system/api/model/LoginUser.java @@ -59,14 +59,14 @@ public class LoginUser implements Serializable private SysUser sysUser; /** - * 工位ID + * 工序ID */ - private Long stationId; + private Long processId; /** - * 工位编号 + * 工序所在楼层 */ - private String stationCode; + private Integer processFloor; public String getToken() { @@ -158,19 +158,19 @@ public class LoginUser implements Serializable this.sysUser = sysUser; } - public Long getStationId() { - return stationId; + public Long getProcessId() { + return processId; } - public void setStationId(Long stationId) { - this.stationId = stationId; + public void setProcessId(Long processId) { + this.processId = processId; } - public String getStationCode() { - return stationCode; + public Integer getProcessFloor() { + return processFloor; } - public void setStationCode(String stationCode) { - this.stationCode = stationCode; + public void setProcessFloor(Integer processFloor) { + this.processFloor = processFloor; } } diff --git a/hw-auth/src/main/java/com/hw/auth/controller/TokenController.java b/hw-auth/src/main/java/com/hw/auth/controller/TokenController.java index 3651588e..7397ece4 100644 --- a/hw-auth/src/main/java/com/hw/auth/controller/TokenController.java +++ b/hw-auth/src/main/java/com/hw/auth/controller/TokenController.java @@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletRequest; import com.hw.common.core.constant.SecurityConstants; import com.hw.mes.api.RemoteMesService; +import com.hw.mes.api.domain.MesBaseProcessInfo; import com.hw.mes.api.domain.MesBaseStationInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -43,8 +44,8 @@ public class TokenController { // 用户登录 LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); - userInfo.setStationId(form.getStationId()); - userInfo.setStationCode(form.getStationCode()); + userInfo.setProcessId(form.getProcessId()); + userInfo.setProcessFloor(form.getProcessFloor()); // 获取登录token return R.ok(tokenService.createToken(userInfo)); } @@ -107,4 +108,16 @@ public class TokenController return R.ok(resultR.getData()); } + + /** + * 获取工序信息列表 + * @return + */ + @GetMapping("getProcesses") + public R getProcesses() + { + R> resultR = remoteMesService.getProcesses(SecurityConstants.INNER); + return R.ok(resultR.getData()); + } + } diff --git a/hw-auth/src/main/java/com/hw/auth/form/LoginBody.java b/hw-auth/src/main/java/com/hw/auth/form/LoginBody.java index ac8c72a6..e24f7b59 100644 --- a/hw-auth/src/main/java/com/hw/auth/form/LoginBody.java +++ b/hw-auth/src/main/java/com/hw/auth/form/LoginBody.java @@ -19,14 +19,14 @@ public class LoginBody /** - * 工位ID + * 工序ID */ - private Long stationId; + private Long processId; /** - * 工位编号 + * 工序所在楼层 */ - private String stationCode; + private Integer processFloor; public String getUsername() { @@ -48,19 +48,20 @@ public class LoginBody this.password = password; } - public Long getStationId() { - return stationId; + + public Long getProcessId() { + return processId; } - public void setStationId(Long stationId) { - this.stationId = stationId; + public void setProcessId(Long processId) { + this.processId = processId; } - public String getStationCode() { - return stationCode; + public Integer getProcessFloor() { + return processFloor; } - public void setStationCode(String stationCode) { - this.stationCode = stationCode; + public void setProcessFloor(Integer processFloor) { + this.processFloor = processFloor; } } diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/SecurityConstants.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/SecurityConstants.java index baf312cc..dadfb033 100644 --- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/SecurityConstants.java +++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/constant/SecurityConstants.java @@ -51,10 +51,10 @@ public class SecurityConstants /** * 工位ID字段 */ - public static final String DETAILS_STATION_ID = "station_id"; + public static final String DETAILS_PROCESS_ID = "process_id"; /** * 工位编码字段 */ - public static final String DETAILS_STATION_CODE = "station_code"; + public static final String DETAILS_PROCESS_FLOOR = "process_floor"; } diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/context/SecurityContextHolder.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/context/SecurityContextHolder.java index 664e38c7..77f48463 100644 --- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/context/SecurityContextHolder.java +++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/context/SecurityContextHolder.java @@ -97,24 +97,24 @@ public class SecurityContextHolder } - public static Long getStationId() + public static Long getProcessId() { - return Convert.toLong(get(SecurityConstants.DETAILS_STATION_ID), 0L); + return Convert.toLong(get(SecurityConstants.DETAILS_PROCESS_ID), 0L); } - public static void setStationId(String stationId) + public static void setProcessId(String processId) { - set(SecurityConstants.DETAILS_STATION_ID, stationId); + set(SecurityConstants.DETAILS_PROCESS_ID, processId); } - public static String getStationCode() + public static Integer getProcessFloor() { - return get(SecurityConstants.DETAILS_STATION_CODE); + return Convert.toInt(get(SecurityConstants.DETAILS_PROCESS_FLOOR),0); } - public static void setStationCode(String stationCode) + public static void setProcessFloor(String processFloor) { - set(SecurityConstants.DETAILS_STATION_CODE, stationCode); + set(SecurityConstants.DETAILS_PROCESS_FLOOR, processFloor); } } diff --git a/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/JwtUtils.java b/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/JwtUtils.java index 00b4e853..42e32400 100644 --- a/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/JwtUtils.java +++ b/hw-common/hw-common-core/src/main/java/com/hw/common/core/utils/JwtUtils.java @@ -123,24 +123,24 @@ public class JwtUtils /** - * 根据身份信息获取工位ID + * 根据身份信息获取工序ID * * @param claims 身份信息 * @return 工位ID */ - public static String getStationId(Claims claims) + public static String getProcessId(Claims claims) { - return getValue(claims, SecurityConstants.DETAILS_STATION_ID); + return getValue(claims, SecurityConstants.DETAILS_PROCESS_ID); } /** - * 根据身份信息获取工位编号 + * 根据身份信息获取工序所在楼层 * * @param claims 身份信息 * @return 工位编号 */ - public static String getStationCode(Claims claims) + public static String getProcessFloor(Claims claims) { - return getValue(claims, SecurityConstants.DETAILS_STATION_CODE); + return getValue(claims, SecurityConstants.DETAILS_PROCESS_FLOOR); } } diff --git a/hw-common/hw-common-security/src/main/java/com/hw/common/security/interceptor/HeaderInterceptor.java b/hw-common/hw-common-security/src/main/java/com/hw/common/security/interceptor/HeaderInterceptor.java index 48c8d2bf..c280de3b 100644 --- a/hw-common/hw-common-security/src/main/java/com/hw/common/security/interceptor/HeaderInterceptor.java +++ b/hw-common/hw-common-security/src/main/java/com/hw/common/security/interceptor/HeaderInterceptor.java @@ -31,8 +31,8 @@ public class HeaderInterceptor implements AsyncHandlerInterceptor SecurityContextHolder.setUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USER_ID)); SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME)); SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY)); - SecurityContextHolder.setStationId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_STATION_ID)); - SecurityContextHolder.setStationCode(ServletUtils.getHeader(request, SecurityConstants.DETAILS_STATION_CODE)); + SecurityContextHolder.setProcessId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_PROCESS_ID)); + SecurityContextHolder.setProcessFloor(ServletUtils.getHeader(request, SecurityConstants.DETAILS_PROCESS_FLOOR)); String token = SecurityUtils.getToken(); if (StringUtils.isNotEmpty(token)) diff --git a/hw-common/hw-common-security/src/main/java/com/hw/common/security/service/TokenService.java b/hw-common/hw-common-security/src/main/java/com/hw/common/security/service/TokenService.java index 899605d5..2577daec 100644 --- a/hw-common/hw-common-security/src/main/java/com/hw/common/security/service/TokenService.java +++ b/hw-common/hw-common-security/src/main/java/com/hw/common/security/service/TokenService.java @@ -61,8 +61,8 @@ public class TokenService claimsMap.put(SecurityConstants.USER_KEY, token); claimsMap.put(SecurityConstants.DETAILS_USER_ID, userId); claimsMap.put(SecurityConstants.DETAILS_USERNAME, userName); - claimsMap.put(SecurityConstants.DETAILS_STATION_ID, loginUser.getStationId()); - claimsMap.put(SecurityConstants.DETAILS_STATION_CODE, loginUser.getStationCode()); + claimsMap.put(SecurityConstants.DETAILS_PROCESS_ID, loginUser.getProcessId()); + claimsMap.put(SecurityConstants.DETAILS_PROCESS_FLOOR, loginUser.getProcessFloor()); // 接口返回信息 Map rspMap = new HashMap(); diff --git a/hw-common/hw-common-security/src/main/java/com/hw/common/security/utils/SecurityUtils.java b/hw-common/hw-common-security/src/main/java/com/hw/common/security/utils/SecurityUtils.java index bd785040..3c5d5325 100644 --- a/hw-common/hw-common-security/src/main/java/com/hw/common/security/utils/SecurityUtils.java +++ b/hw-common/hw-common-security/src/main/java/com/hw/common/security/utils/SecurityUtils.java @@ -41,19 +41,19 @@ public class SecurityUtils } /** - * 获取工位ID + * 获工序ID */ - public static Long getStationId() + public static Long getProcessId() { - return SecurityContextHolder.getStationId(); + return SecurityContextHolder.getProcessId(); } /** - * 获取工位编号 + * 获取工序所在楼层 */ - public static String getStationCode() + public static Integer getProcessFloor() { - return SecurityContextHolder.getStationCode(); + return SecurityContextHolder.getProcessFloor(); } /** diff --git a/hw-gateway/src/main/java/com/hw/gateway/filter/AuthFilter.java b/hw-gateway/src/main/java/com/hw/gateway/filter/AuthFilter.java index 4348468b..19813389 100644 --- a/hw-gateway/src/main/java/com/hw/gateway/filter/AuthFilter.java +++ b/hw-gateway/src/main/java/com/hw/gateway/filter/AuthFilter.java @@ -69,8 +69,8 @@ public class AuthFilter implements GlobalFilter, Ordered } String userid = JwtUtils.getUserId(claims); String username = JwtUtils.getUserName(claims); - String stationId = JwtUtils.getStationId(claims); - String stationCode = JwtUtils.getStationCode(claims); + String processId = JwtUtils.getProcessId(claims); + String processFloor = JwtUtils.getProcessFloor(claims); if (StringUtils.isEmpty(userid) || StringUtils.isEmpty(username)) { return unauthorizedResponse(exchange, "令牌验证失败"); @@ -80,8 +80,8 @@ public class AuthFilter implements GlobalFilter, Ordered addHeader(mutate, SecurityConstants.USER_KEY, userkey); addHeader(mutate, SecurityConstants.DETAILS_USER_ID, userid); addHeader(mutate, SecurityConstants.DETAILS_USERNAME, username); - addHeader(mutate, SecurityConstants.DETAILS_STATION_ID, stationId); - addHeader(mutate, SecurityConstants.DETAILS_STATION_CODE, stationCode); + addHeader(mutate, SecurityConstants.DETAILS_PROCESS_ID, processId); + addHeader(mutate, SecurityConstants.DETAILS_PROCESS_FLOOR, processFloor); // 内部请求来源参数清除 removeHeader(mutate, SecurityConstants.FROM_SOURCE); return chain.filter(exchange.mutate().request(mutate.build()).build()); diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProcessInfoController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProcessInfoController.java index cdcd5fc9..215b9663 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProcessInfoController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProcessInfoController.java @@ -4,7 +4,10 @@ import java.util.List; import java.io.IOException; import javax.servlet.http.HttpServletResponse; +import com.hw.common.security.annotation.InnerAuth; import com.hw.common.security.utils.SecurityUtils; +import com.hw.mes.api.domain.MesBaseProcessInfo; +import com.hw.mes.api.domain.MesBaseStationInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -17,7 +20,6 @@ import org.springframework.web.bind.annotation.RestController; import com.hw.common.log.annotation.Log; import com.hw.common.log.enums.BusinessType; import com.hw.common.security.annotation.RequiresPermissions; -import com.hw.mes.domain.MesBaseProcessInfo; import com.hw.mes.service.IMesBaseProcessInfoService; import com.hw.common.core.web.controller.BaseController; import com.hw.common.core.web.domain.AjaxResult; @@ -137,4 +139,17 @@ public class MesBaseProcessInfoController extends BaseController { return toAjax(mesBaseProcessInfoService.deleteMesBaseProcessInfoByProcessIds(processIds)); } + + + + /** + * 查询工序信息列表 + */ + @InnerAuth + @GetMapping("/getProcesses") + public AjaxResult getProcesses(MesBaseProcessInfo mesBaseProcessInfo) + { + List list = mesBaseProcessInfoService.selectMesBaseProcessInfoList(mesBaseProcessInfo); + return success(list); + } } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java index b75940d6..457d87f8 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesBaseProdlineInfoController.java @@ -5,6 +5,7 @@ import java.io.IOException; import javax.servlet.http.HttpServletResponse; import com.hw.common.security.utils.SecurityUtils; +import com.hw.mes.api.domain.MesBaseProdlineInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -17,7 +18,6 @@ import org.springframework.web.bind.annotation.RestController; import com.hw.common.log.annotation.Log; import com.hw.common.log.enums.BusinessType; import com.hw.common.security.annotation.RequiresPermissions; -import com.hw.mes.domain.MesBaseProdlineInfo; import com.hw.mes.service.IMesBaseProdlineInfoService; import com.hw.common.core.web.controller.BaseController; import com.hw.common.core.web.domain.AjaxResult; diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductPlanController.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductPlanController.java index 713207da..1e57d625 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductPlanController.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/controller/MesProductPlanController.java @@ -1,12 +1,15 @@ package com.hw.mes.controller; import java.util.List; -import java.io.IOException; import javax.servlet.http.HttpServletResponse; import com.hw.common.core.constant.MesConstants; +import com.hw.mes.domain.MesBaseRouteProcess; import com.hw.mes.domain.MesProductOrder; -import com.hw.mes.service.IMesProductOrderService; +import com.hw.mes.domain.vo.MesProductPlanDeleteVo; +import com.hw.mes.domain.vo.MesProductPlanEditVo; +import com.hw.mes.service.IMesBaseProcessInfoService; +import com.hw.mes.service.IMesBaseRouteProcessService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -39,6 +42,12 @@ public class MesProductPlanController extends BaseController @Autowired private IMesProductPlanService mesProductPlanService; + @Autowired + private IMesBaseProcessInfoService mesBaseProcessInfoService; + + @Autowired + private IMesBaseRouteProcessService mesBaseRouteProcessService; + /** * 查询生产派工列表 */ @@ -56,10 +65,10 @@ public class MesProductPlanController extends BaseController * @param mesProductPlan * @return */ - @GetMapping("/getProductPlan") - public AjaxResult getProductPlan(MesProductPlan mesProductPlan) + @GetMapping("/selectProductPlans") + public AjaxResult selectProductPlans(MesProductPlan mesProductPlan) { - List list = mesProductPlanService.selectMesProductPlanList(mesProductPlan); + List list = mesProductPlanService.selectMesProductPlanJoinProcessList(mesProductPlan); return success(list); } @@ -135,9 +144,9 @@ public class MesProductPlanController extends BaseController @RequiresPermissions("mes:productplan:add") @Log(title = "生产派工", businessType = BusinessType.INSERT) @PostMapping("/orderAddMesProductPlanList") - public AjaxResult orderAddMesProductPlanList(@RequestBody List mesProductPlanList) + public AjaxResult orderAddMesProductPlanList(@RequestBody MesProductPlanEditVo productPlanEditVo) { - return toAjax(mesProductPlanService.orderAddMesProductPlanList(mesProductPlanList)); + return toAjax(mesProductPlanService.orderAddMesProductPlanList(productPlanEditVo)); } /** @@ -171,4 +180,38 @@ public class MesProductPlanController extends BaseController return toAjax(mesProductPlanService.productOrderRecall(mesProductOrder)); } + + /** + * 获取工序及关联生产人员信息 + * @param mesBaseRouteProcess + * @return + */ + @GetMapping(value = "/getBaseRouteProcesses") + public AjaxResult getBaseRouteProcesses(MesBaseRouteProcess mesBaseRouteProcess) + { + return success(mesBaseRouteProcessService.selectMesBaseRouteProcessJoinList(mesBaseRouteProcess)); + } + + /** + * 获取工艺路线下所有工序及关联生产人员信息 + * @param routeId 工艺路线ID + * @return + */ + @GetMapping(value = "/getProcessUsers/{routeId}") + public AjaxResult getProcessUsers(@PathVariable("routeId") Long routeId) + { + return success(mesBaseProcessInfoService.getProcessUsersByRouteId(routeId)); + } + + + /** + * 根据派工单号删除生产计划 + * @param mesProductPlanDeleteVo 生产计划删除VO对象 + * @return + */ + @PostMapping(value = "/deleteProductPlansByDispatchCode") + public AjaxResult deleteProductPlansByDispatchCode(@RequestBody MesProductPlanDeleteVo mesProductPlanDeleteVo) + { + return success(mesProductPlanService.deleteProductPlansByDispatchCode(mesProductPlanDeleteVo)); + } } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessInfo.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessInfo.java index 3f33c5c5..e6b330d7 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessInfo.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessInfo.java @@ -1,143 +1,153 @@ -package com.hw.mes.domain; - -import java.util.List; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hw.common.core.annotation.Excel; -import com.hw.common.core.web.domain.BaseEntity; - -/** - * 工序信息对象 mes_base_process_info - * - * @author Yinq - * @date 2024-01-24 - */ -public class MesBaseProcessInfo extends BaseEntity { - private static final long serialVersionUID = 1L; - - /** - * 主键标识 - */ - private Long processId; - - /** - * 工序编号 - */ - @Excel(name = "工序编号") - private String processCode; - - /** - * 工序名称 - */ - @Excel(name = "工序名称") - private String processName; - - /** - * 工序类别(1-生产工序;2-质检工序) - */ - @Excel(name = "工序类别" , readConverterExp = "1=生产工序,2=质检工序") - private String processType; - - /** - * 标准工时(分钟) - */ - @Excel(name = "标准工时(分钟)") - private Long productionTime; - - /** - * 激活标识 - */ - @Excel(name = "激活标识") - private String activeFlag; - - /** - * 工序关联产线信息 - */ - private List mesBaseProcessProdlineList; - - /** 工序关联人员信息 */ - private List mesBaseProcessUserList; - - public List getMesBaseProcessUserList() { - return mesBaseProcessUserList; - } - - public void setMesBaseProcessUserList(List mesBaseProcessUserList) { - this.mesBaseProcessUserList = mesBaseProcessUserList; - } - - public void setProcessId(Long processId) { - this.processId = processId; - } - - public Long getProcessId() { - return processId; - } - - public void setProcessCode(String processCode) { - this.processCode = processCode; - } - - public String getProcessCode() { - return processCode; - } - - public void setProcessName(String processName) { - this.processName = processName; - } - - public String getProcessName() { - return processName; - } - - public void setProcessType(String processType) { - this.processType = processType; - } - - public String getProcessType() { - return processType; - } - - public void setProductionTime(Long productionTime) { - this.productionTime = productionTime; - } - - public Long getProductionTime() { - return productionTime; - } - - public void setActiveFlag(String activeFlag) { - this.activeFlag = activeFlag; - } - - public String getActiveFlag() { - return activeFlag; - } - - public List getMesBaseProcessProdlineList() { - return mesBaseProcessProdlineList; - } - - public void setMesBaseProcessProdlineList(List mesBaseProcessProdlineList) { - this.mesBaseProcessProdlineList = mesBaseProcessProdlineList; - } - - @Override - public String toString() { - return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) - .append("processId" , getProcessId()) - .append("processCode" , getProcessCode()) - .append("processName" , getProcessName()) - .append("processType" , getProcessType()) - .append("productionTime" , getProductionTime()) - .append("activeFlag" , getActiveFlag()) - .append("remark" , getRemark()) - .append("createBy" , getCreateBy()) - .append("createTime" , getCreateTime()) - .append("updateBy" , getUpdateBy()) - .append("updateTime" , getUpdateTime()) - .append("mesBaseProcessProdlineList" , getMesBaseProcessProdlineList()) - .toString(); - } -} +//package com.hw.mes.domain; +// +//import java.util.List; +// +//import org.apache.commons.lang3.builder.ToStringBuilder; +//import org.apache.commons.lang3.builder.ToStringStyle; +//import com.hw.common.core.annotation.Excel; +//import com.hw.common.core.web.domain.BaseEntity; +// +///** +// * 工序信息对象 mes_base_process_info +// * +// * @author Yinq +// * @date 2024-01-24 +// */ +//public class MesBaseProcessInfo extends BaseEntity { +// private static final long serialVersionUID = 1L; +// +// /** +// * 主键标识 +// */ +// private Long processId; +// +// /** +// * 工序编号 +// */ +// @Excel(name = "工序编号") +// private String processCode; +// +// /** +// * 工序名称 +// */ +// @Excel(name = "工序名称") +// private String processName; +// +// /** +// * 工序类别(1-生产工序;2-质检工序) +// */ +// @Excel(name = "工序类别" , readConverterExp = "1=生产工序,2=质检工序") +// private String processType; +// +// /** +// * 标准工时(分钟) +// */ +// @Excel(name = "标准工时(分钟)") +// private Long productionTime; +// +// /** +// * 激活标识 +// */ +// @Excel(name = "激活标识") +// private String activeFlag; +// +// private Long processOrder; +// +// /** +// * 工序关联产线信息 +// */ +// private List mesBaseProcessProdlineList; +// +// /** 工序关联人员信息 */ +// private List mesBaseProcessUserList; +// +// public List getMesBaseProcessUserList() { +// return mesBaseProcessUserList; +// } +// +// public void setMesBaseProcessUserList(List mesBaseProcessUserList) { +// this.mesBaseProcessUserList = mesBaseProcessUserList; +// } +// +// public void setProcessId(Long processId) { +// this.processId = processId; +// } +// +// public Long getProcessId() { +// return processId; +// } +// +// public void setProcessCode(String processCode) { +// this.processCode = processCode; +// } +// +// public String getProcessCode() { +// return processCode; +// } +// +// public void setProcessName(String processName) { +// this.processName = processName; +// } +// +// public String getProcessName() { +// return processName; +// } +// +// public void setProcessType(String processType) { +// this.processType = processType; +// } +// +// public String getProcessType() { +// return processType; +// } +// +// public void setProductionTime(Long productionTime) { +// this.productionTime = productionTime; +// } +// +// public Long getProductionTime() { +// return productionTime; +// } +// +// public void setActiveFlag(String activeFlag) { +// this.activeFlag = activeFlag; +// } +// +// public String getActiveFlag() { +// return activeFlag; +// } +// +// public List getMesBaseProcessProdlineList() { +// return mesBaseProcessProdlineList; +// } +// +// public void setMesBaseProcessProdlineList(List mesBaseProcessProdlineList) { +// this.mesBaseProcessProdlineList = mesBaseProcessProdlineList; +// } +// +// public Long getProcessOrder() { +// return processOrder; +// } +// +// public void setProcessOrder(Long processOrder) { +// this.processOrder = processOrder; +// } +// +// @Override +// public String toString() { +// return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) +// .append("processId" , getProcessId()) +// .append("processCode" , getProcessCode()) +// .append("processName" , getProcessName()) +// .append("processType" , getProcessType()) +// .append("productionTime" , getProductionTime()) +// .append("activeFlag" , getActiveFlag()) +// .append("remark" , getRemark()) +// .append("createBy" , getCreateBy()) +// .append("createTime" , getCreateTime()) +// .append("updateBy" , getUpdateBy()) +// .append("updateTime" , getUpdateTime()) +// .append("mesBaseProcessProdlineList" , getMesBaseProcessProdlineList()) +// .toString(); +// } +//} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessProdline.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessProdline.java index effac360..c04add90 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessProdline.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessProdline.java @@ -1,52 +1,52 @@ -package com.hw.mes.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hw.common.core.annotation.Excel; -import com.hw.common.core.web.domain.BaseEntity; - -/** - * 工序关联产线对象 mes_base_process_prodline - * - * @author Yinq - * @date 2024-01-24 - */ -public class MesBaseProcessProdline extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 工序ID,关联工序信息主键 */ - private Long processId; - - /** 所属产线ID,关联产线主键 */ - private Long prodlineId; - - public void setProcessId(Long processId) - { - this.processId = processId; - } - - public Long getProcessId() - { - return processId; - } - public void setProdlineId(Long prodlineId) - { - this.prodlineId = prodlineId; - } - - public Long getProdlineId() - { - return prodlineId; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("processId", getProcessId()) - .append("prodlineId", getProdlineId()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .toString(); - } -} +//package com.hw.mes.domain; +// +//import org.apache.commons.lang3.builder.ToStringBuilder; +//import org.apache.commons.lang3.builder.ToStringStyle; +//import com.hw.common.core.annotation.Excel; +//import com.hw.common.core.web.domain.BaseEntity; +// +///** +// * 工序关联产线对象 mes_base_process_prodline +// * +// * @author Yinq +// * @date 2024-01-24 +// */ +//public class MesBaseProcessProdline extends BaseEntity +//{ +// private static final long serialVersionUID = 1L; +// +// /** 工序ID,关联工序信息主键 */ +// private Long processId; +// +// /** 所属产线ID,关联产线主键 */ +// private Long prodlineId; +// +// public void setProcessId(Long processId) +// { +// this.processId = processId; +// } +// +// public Long getProcessId() +// { +// return processId; +// } +// public void setProdlineId(Long prodlineId) +// { +// this.prodlineId = prodlineId; +// } +// +// public Long getProdlineId() +// { +// return prodlineId; +// } +// +// @Override +// public String toString() { +// return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) +// .append("processId", getProcessId()) +// .append("prodlineId", getProdlineId()) +// .append("createBy", getCreateBy()) +// .append("createTime", getCreateTime()) +// .toString(); +// } +//} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessUser.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessUser.java index 83a9b4c3..b442b8b4 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessUser.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProcessUser.java @@ -1,66 +1,77 @@ -package com.hw.mes.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hw.common.core.annotation.Excel; -import com.hw.common.core.web.domain.BaseEntity; - -/** - * 工序关联人员对象 mes_base_process_user - * - * @author Yinq - * @date 2024-01-29 - */ -public class MesBaseProcessUser extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 工序ID,关联工序主键 */ - private Long processId; - - /** 用户ID,关联用户主键 */ - private Long userId; - - /** 用户名称,关联sys_user的user_name */ - @Excel(name = "用户名称") - private String userName; - - public void setProcessId(Long processId) - { - this.processId = processId; - } - - public Long getProcessId() - { - return processId; - } - public void setUserId(Long userId) - { - this.userId = userId; - } - - public Long getUserId() - { - return userId; - } - public void setUserName(String userName) - { - this.userName = userName; - } - - public String getUserName() - { - return userName; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("processId", getProcessId()) - .append("userId", getUserId()) - .append("userName", getUserName()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .toString(); - } -} +//package com.hw.mes.domain; +// +//import org.apache.commons.lang3.builder.ToStringBuilder; +//import org.apache.commons.lang3.builder.ToStringStyle; +//import com.hw.common.core.annotation.Excel; +//import com.hw.common.core.web.domain.BaseEntity; +// +///** +// * 工序关联人员对象 mes_base_process_user +// * +// * @author Yinq +// * @date 2024-01-29 +// */ +//public class MesBaseProcessUser extends BaseEntity +//{ +// private static final long serialVersionUID = 1L; +// +// /** 工序ID,关联工序主键 */ +// private Long processId; +// +// /** 用户ID,关联用户主键 */ +// private Long userId; +// +// /** 用户名称,关联sys_user的user_name */ +// @Excel(name = "用户名称") +// private String userName; +// +// private Long routeId; +// +// +// public void setProcessId(Long processId) +// { +// this.processId = processId; +// } +// +// public Long getProcessId() +// { +// return processId; +// } +// public void setUserId(Long userId) +// { +// this.userId = userId; +// } +// +// public Long getUserId() +// { +// return userId; +// } +// public void setUserName(String userName) +// { +// this.userName = userName; +// } +// +// public String getUserName() +// { +// return userName; +// } +// +// public Long getRouteId() { +// return routeId; +// } +// +// public void setRouteId(Long routeId) { +// this.routeId = routeId; +// } +// +// @Override +// public String toString() { +// return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) +// .append("processId", getProcessId()) +// .append("userId", getUserId()) +// .append("userName", getUserName()) +// .append("createBy", getCreateBy()) +// .append("createTime", getCreateTime()) +// .toString(); +// } +//} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProdlineInfo.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProdlineInfo.java index 5a282c10..94216304 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProdlineInfo.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseProdlineInfo.java @@ -1,124 +1,124 @@ -package com.hw.mes.domain; - -import org.apache.commons.lang3.builder.ToStringBuilder; -import org.apache.commons.lang3.builder.ToStringStyle; -import com.hw.common.core.annotation.Excel; -import com.hw.common.core.web.domain.BaseEntity; - -/** - * 产线信息对象 mes_base_prodline_info - * - * @author Yinq - * @date 2024-01-24 - */ -public class MesBaseProdlineInfo extends BaseEntity -{ - private static final long serialVersionUID = 1L; - - /** 主键标识 */ - private Long prodlineId; - - /** 产线编号 */ - @Excel(name = "产线编号") - private String prodlineCode; - - /** 产线名称 */ - @Excel(name = "产线名称") - private String prodlineName; - - /** 产线类型 */ - @Excel(name = "产线类型") - private String prodlineType; - - /** 所属工厂ID */ - @Excel(name = "所属工厂ID") - private Long factoryId; - - /** 所属工厂名称 */ - @Excel(name = "所属工厂名称") - private String factoryName; - - /** 是否标识 */ - @Excel(name = "是否标识") - private String isFlag; - - public String getFactoryName() { - return factoryName; - } - - public void setFactoryName(String factoryName) { - this.factoryName = factoryName; - } - - public void setProdlineId(Long prodlineId) - { - this.prodlineId = prodlineId; - } - - public Long getProdlineId() - { - return prodlineId; - } - public void setProdlineCode(String prodlineCode) - { - this.prodlineCode = prodlineCode; - } - - public String getProdlineCode() - { - return prodlineCode; - } - public void setProdlineName(String prodlineName) - { - this.prodlineName = prodlineName; - } - - public String getProdlineName() - { - return prodlineName; - } - public void setProdlineType(String prodlineType) - { - this.prodlineType = prodlineType; - } - - public String getProdlineType() - { - return prodlineType; - } - public void setFactoryId(Long factoryId) - { - this.factoryId = factoryId; - } - - public Long getFactoryId() - { - return factoryId; - } - public void setIsFlag(String isFlag) - { - this.isFlag = isFlag; - } - - public String getIsFlag() - { - return isFlag; - } - - @Override - public String toString() { - return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("prodlineId", getProdlineId()) - .append("prodlineCode", getProdlineCode()) - .append("prodlineName", getProdlineName()) - .append("prodlineType", getProdlineType()) - .append("factoryId", getFactoryId()) - .append("isFlag", getIsFlag()) - .append("remark", getRemark()) - .append("createBy", getCreateBy()) - .append("createTime", getCreateTime()) - .append("updateBy", getUpdateBy()) - .append("updateTime", getUpdateTime()) - .toString(); - } -} +//package com.hw.mes.domain; +// +//import org.apache.commons.lang3.builder.ToStringBuilder; +//import org.apache.commons.lang3.builder.ToStringStyle; +//import com.hw.common.core.annotation.Excel; +//import com.hw.common.core.web.domain.BaseEntity; +// +///** +// * 产线信息对象 mes_base_prodline_info +// * +// * @author Yinq +// * @date 2024-01-24 +// */ +//public class MesBaseProdlineInfo extends BaseEntity +//{ +// private static final long serialVersionUID = 1L; +// +// /** 主键标识 */ +// private Long prodlineId; +// +// /** 产线编号 */ +// @Excel(name = "产线编号") +// private String prodlineCode; +// +// /** 产线名称 */ +// @Excel(name = "产线名称") +// private String prodlineName; +// +// /** 产线类型 */ +// @Excel(name = "产线类型") +// private String prodlineType; +// +// /** 所属工厂ID */ +// @Excel(name = "所属工厂ID") +// private Long factoryId; +// +// /** 所属工厂名称 */ +// @Excel(name = "所属工厂名称") +// private String factoryName; +// +// /** 是否标识 */ +// @Excel(name = "是否标识") +// private String isFlag; +// +// public String getFactoryName() { +// return factoryName; +// } +// +// public void setFactoryName(String factoryName) { +// this.factoryName = factoryName; +// } +// +// public void setProdlineId(Long prodlineId) +// { +// this.prodlineId = prodlineId; +// } +// +// public Long getProdlineId() +// { +// return prodlineId; +// } +// public void setProdlineCode(String prodlineCode) +// { +// this.prodlineCode = prodlineCode; +// } +// +// public String getProdlineCode() +// { +// return prodlineCode; +// } +// public void setProdlineName(String prodlineName) +// { +// this.prodlineName = prodlineName; +// } +// +// public String getProdlineName() +// { +// return prodlineName; +// } +// public void setProdlineType(String prodlineType) +// { +// this.prodlineType = prodlineType; +// } +// +// public String getProdlineType() +// { +// return prodlineType; +// } +// public void setFactoryId(Long factoryId) +// { +// this.factoryId = factoryId; +// } +// +// public Long getFactoryId() +// { +// return factoryId; +// } +// public void setIsFlag(String isFlag) +// { +// this.isFlag = isFlag; +// } +// +// public String getIsFlag() +// { +// return isFlag; +// } +// +// @Override +// public String toString() { +// return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) +// .append("prodlineId", getProdlineId()) +// .append("prodlineCode", getProdlineCode()) +// .append("prodlineName", getProdlineName()) +// .append("prodlineType", getProdlineType()) +// .append("factoryId", getFactoryId()) +// .append("isFlag", getIsFlag()) +// .append("remark", getRemark()) +// .append("createBy", getCreateBy()) +// .append("createTime", getCreateTime()) +// .append("updateBy", getUpdateBy()) +// .append("updateTime", getUpdateTime()) +// .toString(); +// } +//} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseRouteProcess.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseRouteProcess.java index 6fa724f1..2b404b8c 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseRouteProcess.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesBaseRouteProcess.java @@ -37,6 +37,13 @@ public class MesBaseRouteProcess extends BaseEntity { @Excel(name = "工艺路线顺序") private Long processOrder; + private String processName; + + private String processType; + + private Long productionTime; + + public void setRouteProcessId(Long routeProcessId) { this.routeProcessId = routeProcessId; } @@ -69,6 +76,30 @@ public class MesBaseRouteProcess extends BaseEntity { return processOrder; } + public String getProcessName() { + return processName; + } + + public void setProcessName(String processName) { + this.processName = processName; + } + + public String getProcessType() { + return processType; + } + + public void setProcessType(String processType) { + this.processType = processType; + } + + public Long getProductionTime() { + return productionTime; + } + + public void setProductionTime(Long productionTime) { + this.productionTime = productionTime; + } + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesProductPlan.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesProductPlan.java index 524c223b..8b01dd68 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesProductPlan.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/MesProductPlan.java @@ -3,6 +3,8 @@ package com.hw.mes.domain; import java.math.BigDecimal; import java.util.List; import java.util.Date; +import java.util.Objects; + import com.fasterxml.jackson.annotation.JsonFormat; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -94,6 +96,9 @@ public class MesProductPlan extends BaseEntity @Excel(name = "用户ID") private Long userId; + private String userName; + + /** 单位生产时间(单位:s) */ @Excel(name = "单位生产时间(单位:s)") private Long productionTime; @@ -171,6 +176,8 @@ public class MesProductPlan extends BaseEntity private BigDecimal dispatchedAmount; + private String processType; + public Long getSaleOrderId() { return saleOrderId; @@ -345,6 +352,15 @@ public class MesProductPlan extends BaseEntity { return userId; } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + public void setProductionTime(Long productionTime) { this.productionTime = productionTime; @@ -479,6 +495,14 @@ public class MesProductPlan extends BaseEntity this.materialName = materialName; } + public String getProcessType() { + return processType; + } + + public void setProcessType(String processType) { + this.processType = processType; + } + @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) @@ -511,4 +535,17 @@ public class MesProductPlan extends BaseEntity .append("mesProductPlanDetailList", getMesProductPlanDetailList()) .toString(); } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MesProductPlan that = (MesProductPlan) o; + return Objects.equals(planId, that.planId); + } + + @Override + public int hashCode() { + return Objects.hash(planId); + } } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/vo/MesProductPlanDeleteVo.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/vo/MesProductPlanDeleteVo.java new file mode 100644 index 00000000..f677aaaf --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/vo/MesProductPlanDeleteVo.java @@ -0,0 +1,33 @@ +package com.hw.mes.domain.vo; + +import com.hw.mes.domain.MesProductPlan; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description: 生产派工删除VO对象 + * @ClassName: ProductPlanDeleteVo + * @Author : xins + * @Date :2024-07-12 15:04 + * @Version :1.0 + */ +@Data +public class MesProductPlanDeleteVo { + + //派工数量 + @NotNull(message = "生产工单ID必须输入") + private Long productOrderId; + + //派工单号 + @NotBlank(message = "派工单号必须输入") + private String dispatchCode; + + //派工数量 + @NotNull(message = "派工数量必须输入") + private BigDecimal dispatchAmount; + +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/vo/MesProductPlanEditVo.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/vo/MesProductPlanEditVo.java new file mode 100644 index 00000000..1343fcf1 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/domain/vo/MesProductPlanEditVo.java @@ -0,0 +1,34 @@ +package com.hw.mes.domain.vo; + +import com.hw.mes.domain.MesProductPlan; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; +import java.util.List; + +/** + * @Description: 生产派工VO对象 + * @ClassName: ProductPlanEditVo + * @Author : xins + * @Date :2024-07-11 10:18 + * @Version :1.0 + */ +@Data +public class MesProductPlanEditVo { + + //生产工单ID + @NotNull(message = "生产工单Id必须输入") + private Long productOrderId; + + //此次生产派工数量 + private BigDecimal dispatchAmount; + + //保存的生产计划 + @NotNull(message = "没有修改的生产派工提交") + private List mesProductPlanList; + + //待删除的生产计划ID + private Long[] toDeletedPlanIds; + +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessInfoMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessInfoMapper.java index 4d419ac4..f6b01be8 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessInfoMapper.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessInfoMapper.java @@ -1,9 +1,11 @@ package com.hw.mes.mapper; + +import com.hw.mes.api.domain.MesBaseProcessInfo; +import com.hw.mes.api.domain.MesBaseProcessProdline; +import com.hw.mes.api.domain.MesBaseProcessUser; + import java.util.List; -import com.hw.mes.domain.MesBaseProcessInfo; -import com.hw.mes.domain.MesBaseProcessProdline; -import com.hw.mes.domain.MesBaseProcessUser; /** * 工序信息Mapper接口 diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessUserMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessUserMapper.java new file mode 100644 index 00000000..b2c56212 --- /dev/null +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProcessUserMapper.java @@ -0,0 +1,62 @@ +package com.hw.mes.mapper; + +import com.hw.mes.api.domain.MesBaseProcessUser; + +import java.util.List; + +/** + * 工序关联人员Mapper接口 + * + * @author xins + * @date 2024-07-09 + */ +public interface MesBaseProcessUserMapper +{ + /** + * 查询工序关联人员 + * + * @param processId 工序关联人员主键 + * @return 工序关联人员 + */ + public MesBaseProcessUser selectMesBaseProcessUserByProcessId(Long processId); + + /** + * 查询工序关联人员列表 + * + * @param mesBaseProcessUser 工序关联人员 + * @return 工序关联人员集合 + */ + public List selectMesBaseProcessUserList(MesBaseProcessUser mesBaseProcessUser); + + /** + * 新增工序关联人员 + * + * @param mesBaseProcessUser 工序关联人员 + * @return 结果 + */ + public int insertMesBaseProcessUser(MesBaseProcessUser mesBaseProcessUser); + + /** + * 修改工序关联人员 + * + * @param mesBaseProcessUser 工序关联人员 + * @return 结果 + */ + public int updateMesBaseProcessUser(MesBaseProcessUser mesBaseProcessUser); + + /** + * 删除工序关联人员 + * + * @param processId 工序关联人员主键 + * @return 结果 + */ + public int deleteMesBaseProcessUserByProcessId(Long processId); + + /** + * 批量删除工序关联人员 + * + * @param processIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMesBaseProcessUserByProcessIds(Long[] processIds); +} diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProdlineInfoMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProdlineInfoMapper.java index 8baec007..45dbb7cb 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProdlineInfoMapper.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseProdlineInfoMapper.java @@ -1,7 +1,8 @@ package com.hw.mes.mapper; +import com.hw.mes.api.domain.MesBaseProdlineInfo; + import java.util.List; -import com.hw.mes.domain.MesBaseProdlineInfo; /** * 产线信息Mapper接口 diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseRouteProcessMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseRouteProcessMapper.java index 0087f739..bc7d7dad 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseRouteProcessMapper.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseRouteProcessMapper.java @@ -58,4 +58,14 @@ public interface MesBaseRouteProcessMapper * @return 结果 */ public int deleteMesBaseRouteProcessByRouteProcessIds(Long[] routeProcessIds); + + + /** + * 查询工艺路线组成信息列表,Join mes_base_process_info + * + * @param mesBaseRouteProcess 工艺路线组成信息 + * @return 工艺路线组成信息集合 + */ + public List selectMesBaseRouteProcessJoinList(MesBaseRouteProcess mesBaseRouteProcess); + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseStationInfoMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseStationInfoMapper.java index 004fdc58..01418c41 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseStationInfoMapper.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesBaseStationInfoMapper.java @@ -59,4 +59,15 @@ public interface MesBaseStationInfoMapper * @return 结果 */ public int deleteMesBaseStationInfoByStationIds(Long[] stationIds); + + + + /** + * 查询工位信息 + * + * @param ipAddress IP地址 + * @return 工位信息 + */ + public MesBaseStationInfo selectMesBaseStationInfoByStationIp(String ipAddress); + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductPlanMapper.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductPlanMapper.java index d1d13a55..6b70e924 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductPlanMapper.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/mapper/MesProductPlanMapper.java @@ -104,4 +104,26 @@ public interface MesProductPlanMapper * @return 生产派工 */ public MesProductPlan selectOnlyMesProductPlanByPlanCode(String planCode); + + + + + + /** + * 查询生产派工列表,Join process + * + * @param mesProductPlan 生产派工 + * @return 生产派工集合 + */ + public List selectMesProductPlanJoinProcessList(MesProductPlan mesProductPlan); + + + /** + * 通过生产派工单号删除生产计划明细信息 + * + * @param dispatchCode 生产派工单号 + * @return 结果 + */ + public int deleteMesProductPlanByDispatchCode(String dispatchCode); + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java index 29efad25..718efbcd 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseBarcodeInfoService.java @@ -53,6 +53,12 @@ public interface IMesBaseBarcodeInfoService */ public int generateNoPurchaseRawBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo); + /** + * 生成固定条码信息 + * @param mesBaseBarcodeInfo + */ + public int generateRegularRawBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo); + /** * 修改条码信息 * diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProcessInfoService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProcessInfoService.java index 99e40d91..98b996bb 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProcessInfoService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProcessInfoService.java @@ -1,7 +1,10 @@ package com.hw.mes.service; import java.util.List; -import com.hw.mes.domain.MesBaseProcessInfo; + +import com.hw.mes.api.domain.MesBaseProcessInfo; +import com.hw.mes.api.domain.MesBaseProcessUser; +import org.springframework.transaction.annotation.Transactional; /** * 工序信息Service接口 @@ -73,4 +76,12 @@ public interface IMesBaseProcessInfoService * @return 结果 */ public int deleteMesBaseProcessInfoByProcessId(Long processId); + + /** + * 根据工艺路线ID,获取所有工序关联人员信息 + * + * @param routeId + */ + public List getProcessUsersByRouteId(Long routeId); + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProdlineInfoService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProdlineInfoService.java index 63ec08e6..95972761 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProdlineInfoService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseProdlineInfoService.java @@ -1,7 +1,8 @@ package com.hw.mes.service; +import com.hw.mes.api.domain.MesBaseProdlineInfo; + import java.util.List; -import com.hw.mes.domain.MesBaseProdlineInfo; /** * 产线信息Service接口 diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseRouteProcessService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseRouteProcessService.java index d8702172..0d2a4e48 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseRouteProcessService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesBaseRouteProcessService.java @@ -58,4 +58,13 @@ public interface IMesBaseRouteProcessService * @return 结果 */ public int deleteMesBaseRouteProcessByRouteProcessId(Long routeProcessId); + + + /** + * 查询工艺路线组成信息列表,Join mes_base_process + * + * @param mesBaseRouteProcess 工艺路线组成信息 + * @return 工艺路线组成信息 + */ + public List selectMesBaseRouteProcessJoinList(MesBaseRouteProcess mesBaseRouteProcess); } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductPlanService.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductPlanService.java index 539e3a73..1b4ca0fe 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductPlanService.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/IMesProductPlanService.java @@ -9,6 +9,8 @@ import com.hw.mes.domain.MesProductOrder; import com.hw.mes.domain.MesProductPlan; import com.hw.mes.domain.vo.MesAssignTaskVo; import com.hw.mes.domain.vo.MesMaterialScanVo; +import com.hw.mes.domain.vo.MesProductPlanDeleteVo; +import com.hw.mes.domain.vo.MesProductPlanEditVo; import org.springframework.transaction.annotation.Transactional; /** @@ -35,6 +37,16 @@ public interface IMesProductPlanService */ public List selectMesProductPlanList(MesProductPlan mesProductPlan); + + /** + * 查询生产派工列表,join process + * + * @param mesProductPlan 生产派工 + * @return 生产派工 + */ + public List selectMesProductPlanJoinProcessList(MesProductPlan mesProductPlan); + + /** * 新增生产派工 * @@ -86,10 +98,10 @@ public interface IMesProductPlanService /** * 生产工单新增生产派工List * - * @param mesProductPlanList 生产派工 - * @return 结果 + * @param mesProductPlanEditVo 生产派工VO对象 + * @return */ - public int orderAddMesProductPlanList(List mesProductPlanList); + public int orderAddMesProductPlanList(MesProductPlanEditVo mesProductPlanEditVo); /** @@ -137,4 +149,13 @@ public interface IMesProductPlanService * @return */ List> selectMaterialInstallationCircumstance(Map hashMap); + + + /** + * 删除生产计划信息 + * + * @param mesProductPlanDeleteVo 生产计划删除对象VO + * @return 结果 + */ + public int deleteProductPlansByDispatchCode(MesProductPlanDeleteVo mesProductPlanDeleteVo); } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProcessInfoServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProcessInfoServiceImpl.java index e22cfd47..64f284a5 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProcessInfoServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProcessInfoServiceImpl.java @@ -5,38 +5,47 @@ import java.util.List; import com.hw.common.core.exception.ServiceException; import com.hw.common.core.utils.DateUtils; import com.hw.common.security.utils.SecurityUtils; -import com.hw.mes.domain.MesBaseProcessUser; +import com.hw.mes.api.domain.MesBaseProcessInfo; +import com.hw.mes.api.domain.MesBaseProcessProdline; +import com.hw.mes.api.domain.MesBaseProcessUser; +import com.hw.mes.mapper.MesBaseProcessUserMapper; +import com.hw.mes.mapper.MesBaseRouteProcessMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + import java.util.ArrayList; + import com.hw.common.core.utils.StringUtils; import org.springframework.transaction.annotation.Transactional; -import com.hw.mes.domain.MesBaseProcessProdline; import com.hw.mes.mapper.MesBaseProcessInfoMapper; -import com.hw.mes.domain.MesBaseProcessInfo; import com.hw.mes.service.IMesBaseProcessInfoService; /** * 工序信息Service业务层处理 - * + * * @author Yinq * @date 2024-01-24 */ @Service -public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService -{ +public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService { @Autowired private MesBaseProcessInfoMapper mesBaseProcessInfoMapper; + @Autowired + private MesBaseRouteProcessMapper mesBaseRouteProcessMapper; + + @Autowired + private MesBaseProcessUserMapper mesBaseProcessUserMapper; + + /** * 查询工序信息 - * + * * @param processId 工序信息主键 * @return 工序信息 */ @Override - public MesBaseProcessInfo selectMesBaseProcessInfoByProcessId(Long processId) - { + public MesBaseProcessInfo selectMesBaseProcessInfoByProcessId(Long processId) { return mesBaseProcessInfoMapper.selectMesBaseProcessInfoByProcessId(processId); } @@ -47,33 +56,30 @@ public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService * @return 工序信息 */ @Override - public MesBaseProcessInfo selectMesBaseProcessInfoUserByProcessId(Long processId) - { + public MesBaseProcessInfo selectMesBaseProcessInfoUserByProcessId(Long processId) { return mesBaseProcessInfoMapper.selectMesBaseProcessInfoUserByProcessId(processId); } /** * 查询工序信息列表 - * + * * @param mesBaseProcessInfo 工序信息 * @return 工序信息 */ @Override - public List selectMesBaseProcessInfoList(MesBaseProcessInfo mesBaseProcessInfo) - { + public List selectMesBaseProcessInfoList(MesBaseProcessInfo mesBaseProcessInfo) { return mesBaseProcessInfoMapper.selectMesBaseProcessInfoList(mesBaseProcessInfo); } /** * 新增工序信息 - * + * * @param mesBaseProcessInfo 工序信息 * @return 结果 */ @Transactional @Override - public int insertMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo) - { + public int insertMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo) { mesBaseProcessInfo.setCreateTime(DateUtils.getNowDate()); int rows = mesBaseProcessInfoMapper.insertMesBaseProcessInfo(mesBaseProcessInfo); //insertMesBaseProcessProdline(mesBaseProcessInfo); @@ -82,14 +88,13 @@ public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService /** * 修改工序信息 - * + * * @param mesBaseProcessInfo 工序信息 * @return 结果 */ @Transactional @Override - public int updateMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo) - { + public int updateMesBaseProcessInfo(MesBaseProcessInfo mesBaseProcessInfo) { mesBaseProcessInfo.setUpdateTime(DateUtils.getNowDate()); mesBaseProcessInfoMapper.deleteMesBaseProcessProdlineByProcessId(mesBaseProcessInfo.getProcessId()); try { @@ -108,8 +113,7 @@ public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService */ @Transactional @Override - public int updateMesBaseProcessInfoUser(MesBaseProcessInfo mesBaseProcessInfo) - { + public int updateMesBaseProcessInfoUser(MesBaseProcessInfo mesBaseProcessInfo) { mesBaseProcessInfo.setUpdateTime(DateUtils.getNowDate()); mesBaseProcessInfoMapper.deleteMesBaseProcessUserByProcessId(mesBaseProcessInfo.getProcessId()); try { @@ -122,53 +126,47 @@ public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService /** * 批量删除工序信息 - * + * * @param processIds 需要删除的工序信息主键 * @return 结果 */ @Transactional @Override - public int deleteMesBaseProcessInfoByProcessIds(Long[] processIds) - { + public int deleteMesBaseProcessInfoByProcessIds(Long[] processIds) { mesBaseProcessInfoMapper.deleteMesBaseProcessProdlineByProcessIds(processIds); return mesBaseProcessInfoMapper.deleteMesBaseProcessInfoByProcessIds(processIds); } /** * 删除工序信息信息 - * + * * @param processId 工序信息主键 * @return 结果 */ @Transactional @Override - public int deleteMesBaseProcessInfoByProcessId(Long processId) - { + public int deleteMesBaseProcessInfoByProcessId(Long processId) { mesBaseProcessInfoMapper.deleteMesBaseProcessProdlineByProcessId(processId); return mesBaseProcessInfoMapper.deleteMesBaseProcessInfoByProcessId(processId); } /** * 新增工序关联产线信息 - * + * * @param mesBaseProcessInfo 工序信息对象 */ - public void insertMesBaseProcessProdline(MesBaseProcessInfo mesBaseProcessInfo) - { + public void insertMesBaseProcessProdline(MesBaseProcessInfo mesBaseProcessInfo) { List mesBaseProcessProdlineList = mesBaseProcessInfo.getMesBaseProcessProdlineList(); Long processId = mesBaseProcessInfo.getProcessId(); - if (StringUtils.isNotNull(mesBaseProcessProdlineList)) - { + if (StringUtils.isNotNull(mesBaseProcessProdlineList)) { List list = new ArrayList(); - for (MesBaseProcessProdline mesBaseProcessProdline : mesBaseProcessProdlineList) - { + for (MesBaseProcessProdline mesBaseProcessProdline : mesBaseProcessProdlineList) { mesBaseProcessProdline.setProcessId(processId); mesBaseProcessProdline.setCreateBy(SecurityUtils.getUsername()); mesBaseProcessProdline.setCreateTime(DateUtils.getNowDate()); list.add(mesBaseProcessProdline); } - if (list.size() > 0) - { + if (list.size() > 0) { mesBaseProcessInfoMapper.batchMesBaseProcessProdline(list); } } @@ -179,22 +177,34 @@ public class MesBaseProcessInfoServiceImpl implements IMesBaseProcessInfoService * * @param mesBaseProcessInfo 工序信息对象 */ - public void insertMesBaseProcessUser(MesBaseProcessInfo mesBaseProcessInfo) - { + public void insertMesBaseProcessUser(MesBaseProcessInfo mesBaseProcessInfo) { List mesBaseProcessUserList = mesBaseProcessInfo.getMesBaseProcessUserList(); Long processId = mesBaseProcessInfo.getProcessId(); - if (StringUtils.isNotNull(mesBaseProcessUserList)) - { + if (StringUtils.isNotNull(mesBaseProcessUserList)) { List list = new ArrayList<>(); - for (MesBaseProcessUser mesBaseProcessUser : mesBaseProcessUserList) - { + for (MesBaseProcessUser mesBaseProcessUser : mesBaseProcessUserList) { mesBaseProcessUser.setProcessId(processId); list.add(mesBaseProcessUser); } - if (list.size() > 0) - { + if (list.size() > 0) { mesBaseProcessInfoMapper.batchMesBaseProcessUser(list); } } } + + + /** + * 根据工艺路线ID,获取所有工序关联人员信息 + * + * @param routeId + */ + @Override + public List getProcessUsersByRouteId(Long routeId) { + MesBaseProcessUser queryBaseProcessUser = new MesBaseProcessUser(); + queryBaseProcessUser.setRouteId(routeId); + + return mesBaseProcessUserMapper.selectMesBaseProcessUserList(queryBaseProcessUser); + } + + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProdlineInfoServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProdlineInfoServiceImpl.java index 7b598936..06729302 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProdlineInfoServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseProdlineInfoServiceImpl.java @@ -2,10 +2,10 @@ package com.hw.mes.service.impl; import java.util.List; import com.hw.common.core.utils.DateUtils; +import com.hw.mes.api.domain.MesBaseProdlineInfo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.hw.mes.mapper.MesBaseProdlineInfoMapper; -import com.hw.mes.domain.MesBaseProdlineInfo; import com.hw.mes.service.IMesBaseProdlineInfoService; /** diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseRouteProcessServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseRouteProcessServiceImpl.java index 12f48cdd..93328981 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseRouteProcessServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesBaseRouteProcessServiceImpl.java @@ -93,4 +93,18 @@ public class MesBaseRouteProcessServiceImpl implements IMesBaseRouteProcessServi { return mesBaseRouteProcessMapper.deleteMesBaseRouteProcessByRouteProcessId(routeProcessId); } + + + /** + * 查询工艺路线组成信息列表,Join mes_base_process + * + * @param mesBaseRouteProcess 工艺路线组成信息 + * @return 工艺路线组成信息 + */ + @Override + public List selectMesBaseRouteProcessJoinList(MesBaseRouteProcess mesBaseRouteProcess) + { + return mesBaseRouteProcessMapper.selectMesBaseRouteProcessJoinList(mesBaseRouteProcess); + } + } diff --git a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanServiceImpl.java b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanServiceImpl.java index 1ea9163c..3dd21a5f 100644 --- a/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanServiceImpl.java +++ b/hw-modules/hw-mes/src/main/java/com/hw/mes/service/impl/MesProductPlanServiceImpl.java @@ -9,14 +9,18 @@ import com.hw.common.core.constant.MesConstants; import com.hw.common.core.exception.ServiceException; import com.hw.common.core.utils.DateUtils; import com.hw.common.core.utils.SocketUtils; +import com.hw.common.core.utils.ip.IpUtils; import com.hw.common.core.utils.uuid.Seq; import com.hw.common.security.utils.SecurityUtils; import com.hw.mes.api.domain.MesBaseBarcodeInfo; +import com.hw.mes.api.domain.MesBaseStationInfo; import com.hw.mes.config.MesConfig; import com.hw.mes.domain.*; import com.hw.mes.domain.vo.MesAssignTaskVo; import com.hw.mes.domain.vo.MesMaterialScanVo; +import com.hw.mes.domain.vo.MesProductPlanDeleteVo; +import com.hw.mes.domain.vo.MesProductPlanEditVo; import com.hw.mes.mapper.*; import com.hw.mes.service.IMesBaseAttachInfoService; import com.hw.mes.service.IMesProductOrderService; @@ -63,6 +67,9 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService { @Autowired private MesMaterialAssignInfoMapper mesMaterialAssignInfoMapper; + @Autowired + private MesProductOrderMapper mesProductOrderMapper; + @Autowired private MesConfig mesConfig; @@ -88,6 +95,32 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService { return mesProductPlanMapper.selectMesProductPlanList(mesProductPlan); } + + /** + * 查询生产派工列表,join process + * + * @param mesProductPlan 生产派工 + * @return 生产派工 + */ + @Override + public List selectMesProductPlanJoinProcessList(MesProductPlan mesProductPlan) { + return mesProductPlanMapper.selectMesProductPlanJoinProcessList(mesProductPlan); + } + + + /** + * 查询生产派工列表 + * + * @param mesProductPlan 生产派工 + * @return 生产派工 + */ +// @Override +// public List selectMesProductPlanGroupList(MesProductPlan mesProductPlan) { +// List productPlans = mesProductPlanMapper.selectMesProductPlanList(mesProductPlan); +// return ""; +// } + + /** * 新增生产派工 * @@ -98,24 +131,12 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService { @Override public int insertMesProductPlan(MesProductPlan mesProductPlan) { if (mesProductPlan.getDispatchAmount().compareTo(BigDecimal.ZERO) > 0) { - if (mesProductPlan.getProcessId().equals(42L)) {//折弯工序,计划数量可以跟派工数量不相同 - if (mesProductPlan.getPlanAmount() == null) { - throw new ServiceException("四楼折弯工序请输入计划数量"); - } - } else {//非折弯工序,计划数量需与派工数量相同 - mesProductPlan.setPlanAmount(mesProductPlan.getDispatchAmount()); - } - + mesProductPlan.setPlanAmount(mesProductPlan.getDispatchAmount()); mesProductPlan.setCreateBy(SecurityUtils.getUsername()); mesProductPlan.setCreateTime(DateUtils.getNowDate()); mesProductPlan.setPlanCode(Seq.getId(Seq.planCodeSeqType, Seq.planCodeCode)); int rows = mesProductPlanMapper.insertMesProductPlan(mesProductPlan); - //更新工单已派工数量 - MesProductOrder mesProductOrder = new MesProductOrder(); - mesProductOrder.setProductOrderId(mesProductPlan.getProductOrderId()); - mesProductOrder.setDispatchAmount(mesProductPlan.getDispatchedAmount()); - mesProductOrderService.updateMesProductOrder(mesProductOrder); -// insertMesProductPlanDetail(mesProductPlan); + return rows; } return 0; @@ -197,15 +218,55 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService { /** * 生产工单新增生产派工List * - * @param mesProductPlanList 生产派工 + * @param mesProductPlanEditVo 生产派工VO对象 * @return */ @Override @Transactional(rollbackFor = Exception.class) - public int orderAddMesProductPlanList(List mesProductPlanList) { - for (MesProductPlan mesProductPlan : mesProductPlanList) { - this.insertMesProductPlan(mesProductPlan); + public int orderAddMesProductPlanList(MesProductPlanEditVo mesProductPlanEditVo) { + String userName = SecurityUtils.getUsername(); + Date currentDate = new Date(); + List mesProductPlanList = mesProductPlanEditVo.getMesProductPlanList(); + Long[] toDeletedPlanIds = mesProductPlanEditVo.getToDeletedPlanIds(); + if (toDeletedPlanIds != null && toDeletedPlanIds.length > 0) { + for (Long toDeletedPlanId : toDeletedPlanIds) { + MesProductPlan toDeletedProductPlan = mesProductPlanMapper.selectMesProductPlanByPlanId(toDeletedPlanId); + if (!toDeletedProductPlan.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_TO_DISPATCH) + && !toDeletedProductPlan.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_DISPATCHED)) { + throw new ServiceException("有派工已经开始,不能删除"); + } + } + mesProductPlanMapper.deleteMesProductPlanByPlanIds(toDeletedPlanIds); } + + for (MesProductPlan mesProductPlan : mesProductPlanList) { + Long planId = mesProductPlan.getPlanId(); + if (planId != null) { + mesProductPlan.setUpdateBy(userName); + mesProductPlan.setUpdateTime(currentDate); + mesProductPlanMapper.updateMesProductPlan(mesProductPlan); + } else { + mesProductPlan.setPlanAmount(mesProductPlan.getDispatchAmount()); + mesProductPlan.setCreateBy(SecurityUtils.getUsername()); + mesProductPlan.setCreateTime(DateUtils.getNowDate()); + mesProductPlan.setPlanCode(Seq.getId(Seq.planCodeSeqType, Seq.planCodeCode)); + mesProductPlanMapper.insertMesProductPlan(mesProductPlan); + } + } + + //更新工单已派工数量 + MesProductOrder mesProductOrder = mesProductOrderMapper.selectMesProductOrderByProductOrderId(mesProductPlanEditVo.getProductOrderId()); + BigDecimal dispatchedAmount = mesProductOrder.getDispatchAmount() == null ? BigDecimal.ZERO : mesProductOrder.getDispatchAmount(); + BigDecimal planAmount = mesProductOrder.getPlanAmount(); + BigDecimal updateDispatchAmount = dispatchedAmount.add(mesProductPlanEditVo.getDispatchAmount()); + if (updateDispatchAmount.compareTo(planAmount) > 0) { + throw new ServiceException("派工数量大于计划数量,请重新派工"); + } + + mesProductOrder.setDispatchAmount(updateDispatchAmount); + mesProductOrder.setUpdateTime(currentDate); + mesProductOrder.setUpdateBy(userName); + mesProductOrderService.updateMesProductOrder(mesProductOrder); return 1; } @@ -278,11 +339,17 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService { */ @Override public List selectMesProductPlanJoinList(MesProductPlan mesProductPlan) { - Long stationId = SecurityUtils.getStationId(); - mesProductPlan.setStationId(stationId); + Long processId = SecurityUtils.getProcessId(); + Long userId = SecurityUtils.getUserId(); + if(!SecurityUtils.isAdmin(userId)) { + mesProductPlan.setUserId(userId); + } + mesProductPlan.setProcessId(processId); +// String ipAddress = IpUtils.getIpAddr(); +// MesBaseStationInfo mesBaseStationInfo = mesBase +// queryBaseStation.set - List mesProductPlans = mesProductPlanMapper.selectMesProductPlanJoinList(mesProductPlan); - return mesProductPlans; + return mesProductPlanMapper.selectMesProductPlanJoinList(mesProductPlan); // return mesProductPlans.stream(). // filter(e -> e.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_DISPATCHED) || // e.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_STARTED)).collect(Collectors.toList()); @@ -361,7 +428,7 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService { } String barcodeType = baseBarcodeInfo.getBarcodeType(); - if(!barcodeType.equals(MesConstants.MES_BARCODE_TYPE_RAW)){ + if (!barcodeType.equals(MesConstants.MES_BARCODE_TYPE_RAW)) { throw new ServiceException("此条码为非原材料条码"); } @@ -498,6 +565,42 @@ public class MesProductPlanServiceImpl implements IMesProductPlanService { } + /** + * 删除生产计划信息 + * + * @param mesProductPlanDeleteVo 生产计划删除对象VO + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public int deleteProductPlansByDispatchCode(MesProductPlanDeleteVo mesProductPlanDeleteVo) { + String dispatchCode = mesProductPlanDeleteVo.getDispatchCode(); + BigDecimal dispatchAmount = mesProductPlanDeleteVo.getDispatchAmount(); + MesProductPlan queryProductPlan = new MesProductPlan(); + queryProductPlan.setDispatchCode(dispatchCode); + List mesProductPlans = mesProductPlanMapper.selectMesProductPlanList(queryProductPlan); + if (mesProductPlans == null || mesProductPlans.isEmpty()) { + throw new ServiceException("此派工单已经删除"); + } + List filterProductPlans = mesProductPlans.stream().filter + (mesProductPlan -> !mesProductPlan.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_TO_DISPATCH) && + !mesProductPlan.getPlanStatus().equals(MesConstants.MES_PRODUCT_PLAN_STATUS_DISPATCHED)).collect(Collectors.toList()); + if (!filterProductPlans.isEmpty()) { + throw new ServiceException("此派工单已经有工序开始,不能删除"); + } + + mesProductPlanMapper.deleteMesProductPlanByDispatchCode(dispatchCode); + + MesProductOrder mesProductOrder = mesProductOrderService.selectMesProductOrderByProductOrderId(mesProductPlanDeleteVo.getProductOrderId()); + BigDecimal dispatchedAmount = mesProductOrder.getDispatchAmount(); + mesProductOrder.setDispatchAmount(dispatchedAmount.subtract(dispatchAmount)); + mesProductOrder.setUpdateBy(SecurityUtils.getUsername()); + mesProductOrder.setUpdateTime(new Date()); + + return mesProductOrderMapper.updateMesProductOrder(mesProductOrder); + } + + // public String executeAssignTaskResultTask() { // ScheduledExecutorService executor = Executors.newSingleThreadScheduledExecutor(); // boolean running = true; diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseBarcodeInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseBarcodeInfoMapper.xml index 4a28148a..9ca91279 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseBarcodeInfoMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseBarcodeInfoMapper.xml @@ -119,6 +119,7 @@ and bbi.bind_time = #{bindTime} and bbi.update_by = #{updateBy} and bbi.update_time = #{updateTime} + and bbi.barcode_type in (${barcodeTypeStr}) order by bbi.barcode_id desc diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessInfoMapper.xml index f8ad1946..8a80d595 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessInfoMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessInfoMapper.xml @@ -9,6 +9,7 @@ + @@ -50,6 +51,7 @@ process_code, process_name, process_type, + process_floor, production_time, active_flag, remark, @@ -80,6 +82,7 @@ a.process_code, a.process_name, a.process_type, + a.process_floor, a.production_time, a.active_flag, a.remark, @@ -102,6 +105,7 @@ a.process_code, a.process_name, a.process_type, + a.process_floor, a.production_time, a.active_flag, a.remark, @@ -126,6 +130,7 @@ process_code, process_name, process_type, + process_floor, production_time, active_flag, remark, @@ -138,6 +143,7 @@ #{processCode}, #{processName}, #{processType}, + #{processFloor}, #{productionTime}, #{activeFlag}, #{remark}, @@ -154,6 +160,7 @@ process_code = #{processCode}, process_name = #{processName}, process_type = #{processType}, + process_floor = #{processFloor}, production_time = #{productionTime}, active_flag = #{activeFlag}, remark = #{remark}, diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessUserMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessUserMapper.xml new file mode 100644 index 00000000..980a7d5b --- /dev/null +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseProcessUserMapper.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + select process_id, user_id, user_name, create_by, create_time from mes_base_process_user mbpu + + + + + + + + insert into mes_base_process_user + + process_id, + user_id, + user_name, + create_by, + create_time, + + + #{processId}, + #{userId}, + #{userName}, + #{createBy}, + #{createTime}, + + + + + update mes_base_process_user + + user_id = #{userId}, + user_name = #{userName}, + create_by = #{createBy}, + create_time = #{createTime}, + + where process_id = #{processId} + + + + delete from mes_base_process_user where process_id = #{processId} + + + + delete from mes_base_process_user where process_id in + + #{processId} + + + \ No newline at end of file diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseRouteProcessMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseRouteProcessMapper.xml index 2d6dd681..b4961ad4 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseRouteProcessMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseRouteProcessMapper.xml @@ -14,6 +14,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -88,4 +92,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{routeProcessId} + + + + + + + \ No newline at end of file diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseStationInfoMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseStationInfoMapper.xml index 89173269..f1e4e09e 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseStationInfoMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesBaseStationInfoMapper.xml @@ -13,6 +13,7 @@ + @@ -29,6 +30,7 @@ mbsi.floor, mbsi.production_time, mbsi.active_flag, + mbsi.ip_address, mbsi.remark, mbsi.create_by, mbsi.create_time, @@ -123,4 +125,10 @@ #{stationId} + + + \ No newline at end of file diff --git a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductPlanMapper.xml b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductPlanMapper.xml index 173c3409..3cd7b2eb 100644 --- a/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductPlanMapper.xml +++ b/hw-modules/hw-mes/src/main/resources/mapper/mes/MesProductPlanMapper.xml @@ -21,6 +21,7 @@ + @@ -41,6 +42,7 @@ + @@ -331,14 +333,15 @@ + + + + + + + + + + + delete + from mes_product_plan + where dispatch_code = #{dispatchCode} + + diff --git a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java index 62c32eb7..2cc84f5a 100644 --- a/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java +++ b/hw-modules/hw-wms/src/main/java/com/hw/wms/service/impl/WmsRawOutstockServiceImpl.java @@ -481,7 +481,8 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { /** * 申请领料 - * 在申请领料时,不管是否需要审核,都需要锁定库位和修改占用数量(但审核不通过的话需要解锁库位和更新占用数量) + * 在申请领料时,不管是否需要审核,都需要锁定库位和修改stock_total的占用数量(但审核不通过的话需要解锁库位和更新占用数量) + * 在实际出库时更新了wms_raw_stock的总数量后,stock_total的总数量和占用数量都会减去wms_raw_stock的总数量,wms_raw_stock先不关心占用数量 * 申请时没有保存wms_raw_outstock_detail表,没有指定库位 * * @param wmsRawOutstock 原材料出库记录 @@ -941,6 +942,9 @@ public class WmsRawOutstockServiceImpl implements IWmsRawOutstockService { /**todo:需要最终确认一下。在申请领柜体后,wcs会调度agv将对应库位的柜体运输到柜体拆分区,然后更新rawoutstock的materialbatch为其物料条码*/ String bindBarcode = baseBarcodeInfo.getBindBarcode(); + if (StringUtils.isEmpty(bindBarcode)) { + throw new ServiceException("此柜体还未绑定"); + } WmsRawOutstock queryRawOutstock = new WmsRawOutstock(); queryRawOutstock.setMaterialBatch(bindBarcode); List wmsRawOutstocks = wmsRawOutstockMapper.selectWmsRawOutstockList(queryRawOutstock); diff --git a/hw-ui/src/api/login.js b/hw-ui/src/api/login.js index 1edec141..7ee97a37 100644 --- a/hw-ui/src/api/login.js +++ b/hw-ui/src/api/login.js @@ -1,7 +1,7 @@ import request from '@/utils/request' // 登录方法 -export function login(username, password, code, uuid, stationId,stationCode) { +export function login(username, password, code, uuid, processId,processFloor) { return request({ url: '/auth/login', headers: { @@ -9,7 +9,7 @@ export function login(username, password, code, uuid, stationId,stationCode) { repeatSubmit: false }, method: 'post', - data: {username, password, code, uuid, stationId,stationCode} + data: {username, password, code, uuid, processId,processFloor} }) } @@ -61,7 +61,7 @@ export function getCodeImg() { }) } -// 获取验证码 +// 获取工位 export function getStations() { return request({ headers: { @@ -71,3 +71,15 @@ export function getStations() { method: 'get', }) } + + +// 获取工序列表 +export function getProcesses() { + return request({ + headers: { + isToken: false + }, + url: '/auth/getProcesses', + method: 'get', + }) +} diff --git a/hw-ui/src/api/mes/barcode.js b/hw-ui/src/api/mes/barcode.js index 706a6012..66044741 100644 --- a/hw-ui/src/api/mes/barcode.js +++ b/hw-ui/src/api/mes/barcode.js @@ -138,3 +138,13 @@ export function addNoPurchaseBarcode(data) { data: data }) } + + +// 新增固定原材料条码信息 +export function addRegularBarcode(data) { + return request({ + url: '/mes/barcode/addRegularBarcode', + method: 'post', + data: data + }) +} diff --git a/hw-ui/src/api/mes/productplan.js b/hw-ui/src/api/mes/productplan.js index 2529d424..af6d2481 100644 --- a/hw-ui/src/api/mes/productplan.js +++ b/hw-ui/src/api/mes/productplan.js @@ -61,9 +61,9 @@ export function orderAddMesProductPlanList(data) { } // 查询生产派工列表 -export function getProductPlan(query) { +export function selectProductPlans(query) { return request({ - url: '/mes/productplan/getProductPlan', + url: '/mes/productplan/selectProductPlans', method: 'get', params: query }) @@ -96,3 +96,32 @@ export function getDispatchSOPAttachList(planId) { method: 'get' }) } + +// 获取工艺路线的所有工艺步骤 +export function getBaseRouteProcesses(query) { + return request({ + url: '/mes/productplan/getBaseRouteProcesses' , + method: 'get', + params: query + }) +} + + + +// 获取工艺路线所有工序及关联生产人员信息 +export function getProcessUsers(routeId) { + return request({ + url: '/mes/productplan/getProcessUsers/' + routeId, + method: 'get' + }) +} + + +// 删除生产派工 +export function deleteProductPlansByDispatchCode(data) { + return request({ + url: '/mes/productplan/deleteProductPlansByDispatchCode/', + method: 'post', + data: data + }) +} diff --git a/hw-ui/src/store/modules/user.js b/hw-ui/src/store/modules/user.js index 96dde7d2..4560b2fc 100644 --- a/hw-ui/src/store/modules/user.js +++ b/hw-ui/src/store/modules/user.js @@ -42,10 +42,10 @@ const user = { const password = userInfo.password const code = userInfo.code const uuid = userInfo.uuid - const stationId = userInfo.stationId || '' - const stationCode = userInfo.stationCode || '' + const processId = userInfo.processId || '' + const processFloor = userInfo.processFloor || '' return new Promise((resolve, reject) => { - login(username, password, code, uuid,stationId,stationCode).then(res => { + login(username, password, code, uuid,processId,processFloor).then(res => { let data = res.data setToken(data.access_token) commit('SET_TOKEN', data.access_token) diff --git a/hw-ui/src/utils/serial.js b/hw-ui/src/utils/serial.js index 9c213a99..1a381c7a 100644 --- a/hw-ui/src/utils/serial.js +++ b/hw-ui/src/utils/serial.js @@ -1,75 +1,78 @@ export const monitorSerialData = { - data() { - return { - serialPort: null, - reader: null, - decoder: new TextDecoder(), - barcode: '',//临时拼装数据使用 - serialData: ''//获得的最终的条码数据 + data() { + return { + serialPort: null, + reader: null, + decoder: new TextDecoder(), + barcode: '',//临时拼装数据使用 + serialData: ''//获得的最终的条码数据 - }; + }; + }, + methods: { + checkSerialConnected() { + if (this.serialPort && this.serialPort.readable) { + console.log("串口当前已连接"); + return true; + } else { + console.log("串口未连接或已断开"); + return false; + } }, - methods: { - checkSerialConnected() { - if (this.serialPort && this.serialPort.readable) { - console.log("串口当前已连接"); - return true; - } else { - console.log("串口未连接或已断开"); - return false; - } - }, - async connectSerial(callback) { - try { - // 请求串口访问权限 - this.serialPort = await navigator.serial.requestPort(); - await this.serialPort.open({baudRate: 9600}); // 假设条码枪的波特率为9600 + async connectSerial(callback) { + if ('serial' in navigator) { + console.log("serial support") + try { + // 请求串口访问权限 + this.serialPort = await navigator.serial.requestPort(); + await this.serialPort.open({baudRate: 9600}); // 假设条码枪的波特率为9600 - // 设置数据流解码 - this.decoder = new TextDecoderStream(); - const readableStreamClosed = this.serialPort.readable.pipeTo(this.decoder.writable); - this.reader = this.decoder.readable.getReader(); + // 设置数据流解码 + this.decoder = new TextDecoderStream(); + const readableStreamClosed = this.serialPort.readable.pipeTo(this.decoder.writable); + this.reader = this.decoder.readable.getReader(); - // 监听串口数据 - while (true) { - const {value, done} = await this.reader.read(); - if (done) { - this.reader.releaseLock(); - break; - } - - // console.log("---"+value); - // const data = this.decoder.decode(value); - this.processReceivedData(value,callback); - } - } catch (error) { - console.error('连接或读取串口时发生错误:', error); - } finally{ + // 监听串口数据 + while (true) { + const {value, done} = await this.reader.read(); + if (done) { this.reader.releaseLock(); - await this.serialPort.close(); + break; } - }, - processReceivedData(data,callback) { - // 假设条码数据以回车符或换行符结束 - const barcodeEnd = /\r|\n/; - // console.log("---:" + data) - if (barcodeEnd.test(data)) { - const barcode = data.split(barcodeEnd)[0].trim(); // 获取并清理条码数据 - console.log('扫描到的条码:', this.barcode + barcode); - this.serialData = this.barcode + barcode; - // 调用传入的函数 - if (typeof callback === 'function') { - callback(); - } - this.barcode = ''; - } else { - this.barcode += data; - } - }, - } + // console.log("---"+value); + // const data = this.decoder.decode(value); + this.processReceivedData(value, callback); + } + } catch (error) { + console.error('连接或读取串口时发生错误:', error); + } finally { + this.reader.releaseLock(); + await this.serialPort.close(); + } + } + }, + + processReceivedData(data, callback) { + // 假设条码数据以回车符或换行符结束 + const barcodeEnd = /\r|\n/; + // console.log("---:" + data) + if (barcodeEnd.test(data)) { + const barcode = data.split(barcodeEnd)[0].trim(); // 获取并清理条码数据 + console.log('扫描到的条码:', this.barcode + barcode); + this.serialData = this.barcode + barcode; + // 调用传入的函数 + if (typeof callback === 'function') { + callback(); + } + this.barcode = ''; + } else { + this.barcode += data; + } + }, + } }; diff --git a/hw-ui/src/views/login.vue b/hw-ui/src/views/login.vue index 3beeceb3..248a5e03 100644 --- a/hw-ui/src/views/login.vue +++ b/hw-ui/src/views/login.vue @@ -23,14 +23,14 @@ - - - + + + - - + +