From b0d0191a88912b352385349461b500a4964d693b Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期五, 19 九月 2025 22:51:24 +0800
Subject: [PATCH] 机床加字段
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineService.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 46 insertions(+), 2 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineService.java
index 7c3f930..5a321dc 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/basesetting/machine/service/MachineService.java
@@ -1,6 +1,7 @@
package org.springblade.mdm.basesetting.machine.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.MybatisUtils;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BizServiceImpl;
@@ -49,6 +50,9 @@
if(existsByCode(vo.getCode(),null)){
throw new ServiceException("鏈哄簥缂栫爜宸插瓨鍦�:"+vo.getCode());
}
+ if(existsByEquipmentCode(vo.getEquipmentCode(),null)){
+ throw new ServiceException("璁惧缂栧彿宸插瓨鍦�:"+vo.getEquipmentCode());
+ }
Machine machine = new Machine();
BeanUtil.copyProperties(vo, machine);
@@ -63,7 +67,6 @@
Path dir;
if(StringUtils.isNotBlank(machine.getProgSendDir())){
createDirIsNotExists(machine.getProgSendDir());
-
}
if(StringUtils.isNotBlank(machine.getProgReceiveDir())){
@@ -168,6 +171,17 @@
}
/**
+ * 鏍规嵁 璁惧缂栧彿鍒ゆ柇鏈哄簥鏄惁瀛樺湪
+ * @param equipmentCode 璁惧缂栧彿
+ * @param excludeId 鎺掗櫎id
+ * @return 鏄惁瀛樺湪
+ */
+ boolean existsByEquipmentCode(String equipmentCode,Long excludeId){
+ return this.lambdaQuery().eq(Machine::getEquipmentCode, equipmentCode).ne(excludeId!=null,Machine::getId, excludeId).count()>0;
+ }
+
+
+ /**
* 淇敼鏈哄簥淇℃伅
* @param vo
* @return
@@ -178,7 +192,9 @@
if(existsByCode(vo.getCode(),vo.getId())){
throw new ServiceException("鏈哄簥缂栫爜宸插瓨鍦�:"+vo.getCode());
}
-
+ if(existsByEquipmentCode(vo.getEquipmentCode(),vo.getId())){
+ throw new ServiceException("璁惧缂栧彿宸插瓨鍦�:"+vo.getEquipmentCode());
+ }
Machine machine = this.getById(vo.getId());
Machine machineBak = new Machine();
@@ -186,6 +202,7 @@
machine.setMachineSpec(vo.getMachineSpec());
machine.setCode(vo.getCode());
+ machine.setEquipmentCode(vo.getEquipmentCode());
machine.setName(vo.getName());
machine.setMachineGroupCode(vo.getMachineGroupCode());
machine.setManufacturer(vo.getManufacturer());
@@ -321,4 +338,31 @@
return lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).list();
}
+ public String escapeSqlWildcard(String value) {
+ if (StringUtils.isBlank(value)) {
+ return value;
+ }
+ return value.replace("\\", "\\\\")
+ .replace("%", "\\%")
+ .replace("_", "\\_");
+ }
+ /**
+ * 鏍规嵁涓嬪彂璺緞鐨勬敞閲婃煡璇㈡満搴�
+ * @param sendPathLine 涓嬪彂璺緞娉ㄩ噴鏂囨湰
+ */
+ public Machine getMachineBySendPathAnnotation(String sendPathLine) {
+ //璺緞涓虹┖锛屼笉鍖归厤浠讳綍鏈哄櫒
+ if(StringUtils.isBlank(sendPathLine)){
+ return null;
+ }
+ //鍘绘帀棣栦綅鎷彿锛屾帓闄ゅ彂閭g鏈哄簥娉ㄩ噴
+ String sendPath = escapeSqlWildcard(StringUtils.trim(StringUtils.removeEnd(StringUtils.removeStart(sendPathLine,"("),")")));
+
+ List<Machine> machines = lambdaQuery().eq(Machine::getStatus,Machine.STATUS_ENABLE).likeLeft(Machine::getProgSendDir,sendPath).list();
+ if(machines.isEmpty()){
+ return null;
+ }else{
+ return machines.get(0);
+ }
+ }
}
--
Gitblit v1.9.3