Browse Source

2026-03-19

制造工具新增时工具描述自动获取【Next Number】
master
fengyuan_yang 1 month ago
parent
commit
739e46868e
  1. 15
      src/main/java/com/spring/modules/Tooling/controller/ToolController.java
  2. 8
      src/main/java/com/spring/modules/Tooling/dao/ToolDao.java
  3. 10
      src/main/java/com/spring/modules/Tooling/dao/impl/ToolDaoImpl.java
  4. 8
      src/main/java/com/spring/modules/Tooling/service/ToolService.java
  5. 28
      src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java

15
src/main/java/com/spring/modules/Tooling/controller/ToolController.java

@ -215,6 +215,21 @@ public class ToolController {
.put("msg", "");
}
/**
* @description: 根据前缀获取下一个工具描述编号7位固定长度
* @author LR
* @date 2026/3/19
* @version 1.0
*/
@RequestMapping(value = "getNextToolDesc")
public R getNextToolDesc(@RequestBody IfsTool inData){
IfsTool ifsTool = toolService.getNextToolDesc(inData);
return R.ok()
.put("code", 200)
.put("resultRow", ifsTool)
.put("msg", "");
}
/**
* @description: 同步IFS属性项数据
* @author HP

8
src/main/java/com/spring/modules/Tooling/dao/ToolDao.java

@ -157,4 +157,12 @@ public interface ToolDao {
* @date: 2024/12/24 15:28
*/
void updateToolInstanceDateIfsData(IfsToolInstanceDate inData);
/**
* @description: 按照site和前缀查询工具描述列表
* @author LR
* @date 2026/3/19
* @version 1.0
*/
List<String> getToolDescsByPrefix(String site, String prefix);
}

10
src/main/java/com/spring/modules/Tooling/dao/impl/ToolDaoImpl.java

@ -287,4 +287,14 @@ public class ToolDaoImpl implements ToolDao {
sql.append(" WHERE id = :id");
parameterJdbcTemplate.update(sql.toString(), new BeanPropertySqlParameterSource(inData));
}
@Override
public List<String> getToolDescsByPrefix(String site, String prefix) {
StringBuilder sql = new StringBuilder();
Map<String, Object> paramMap = new HashMap<>();
sql.append("SELECT tool_description FROM tool_header WHERE site = :site AND tool_description LIKE :prefix");
paramMap.put("site", site);
paramMap.put("prefix", prefix + "%");
return parameterJdbcTemplate.queryForList(sql.toString(), paramMap, String.class);
}
}

8
src/main/java/com/spring/modules/Tooling/service/ToolService.java

@ -129,6 +129,14 @@ public interface ToolService {
*/
IfsTool getNextToolId(IfsTool inData);
/**
* @description: 根据前缀获取下一个工具描述编号7位固定长度
* @author LR
* @date 2026/3/19
* @version 1.0
*/
IfsTool getNextToolDesc(IfsTool inData);
/**
* @description: 同步IFS属性
* @author LR

28
src/main/java/com/spring/modules/Tooling/service/impl/ToolServiceImpl.java

@ -1048,6 +1048,34 @@ public class ToolServiceImpl implements ToolService {
return resultList.get(0);
}
@Override
public IfsTool getNextToolDesc(IfsTool inData) {
String site = inData.getSite();
String prefix = inData.getToolDesc();
int n = prefix.length();
int numLength = 7 - n;
List<String> toolDescs = toolDao.getToolDescsByPrefix(site, prefix);
int maxNum = 0;
for (String toolDesc : toolDescs) {
if (toolDesc.length() >= n + numLength) {
String numPart = toolDesc.substring(n, n + numLength);
if (numPart.matches("\\d+")) {
int num = Integer.parseInt(numPart);
if (num > maxNum) {
maxNum = num;
}
}
}
}
int nextNum = maxNum + 1;
String paddedNum = String.format("%0" + numLength + "d", nextNum);
inData.setToolDesc(prefix + paddedNum);
return inData;
}
/**
* @description: 新增Tool Header
* @author LR

Loading…
Cancel
Save