Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
HYH.APSJ
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
佟礼
HYH.APSJ
Commits
25ec4aa2
Commit
25ec4aa2
authored
Feb 27, 2026
by
DESKTOP-VKRD9QF\Administration
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增批量查询
parent
52bcf331
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
265 additions
and
1 deletion
+265
-1
ChromosomeDataController.java
...a/com/aps/controller/common/ChromosomeDataController.java
+99
-0
SqlOrder.java
src/main/java/com/aps/entity/common/SqlOrder.java
+61
-0
SqlOrderResult.java
src/main/java/com/aps/entity/common/SqlOrderResult.java
+9
-0
ChromosomeDataService.java
...in/java/com/aps/service/common/ChromosomeDataService.java
+96
-1
No files found.
src/main/java/com/aps/controller/common/ChromosomeDataController.java
View file @
25ec4aa2
...
...
@@ -6,6 +6,8 @@ import com.aps.entity.basic.Entry;
import
com.aps.entity.basic.MachineOption
;
import
com.aps.entity.common.FieldInfo
;
import
com.aps.entity.common.Paged
;
import
com.aps.entity.common.SqlOrder
;
import
com.aps.entity.common.SqlOrderResult
;
import
com.aps.service.common.ChromosomeDataService
;
import
com.aps.service.plan.PlanResultService
;
import
com.aps.service.plan.SceneService
;
...
...
@@ -37,6 +39,9 @@ public class ChromosomeDataController {
@Autowired
private
PlanResultService
planResultService
;
private
ObjectMapper
objectMapper
=
new
ObjectMapper
()
.
configure
(
DeserializationFeature
.
FAIL_ON_UNKNOWN_PROPERTIES
,
false
);
/**
* 通用接口,根据实体名称查询Chromosome中的数据,支持分页和条件过滤
* 示例:
...
...
@@ -218,4 +223,98 @@ public class ChromosomeDataController {
}
return
false
;
}
/**
* 批量查询接口(report)
* 支持在一个请求中查询多个实体
* 示例:
* POST /queryChromosome/report
* Body: {
* "sceneId": "SCENE001",
* "data": [
* {
* "type": "page",
* "name": "订单列表",
* "table": "order",
* "data": { "pageIndex": 1, "pageSize": 10 }
* },
* {
* "type": "list",
* "name": "工序列表",
* "table": "entry",
* "data": { "conditions": [] }
* },
* {
* "type": "get",
* "name": "订单详情",
* "table": "order",
* "data": { "id": "123" }
* }
* ]
* }
*
* @param params 请求参数
* @return 查询结果列表
*/
@PostMapping
(
"/report"
)
@Operation
(
summary
=
"批量查询接口"
,
description
=
"支持在一个请求中查询多个实体,type支持 page/list/get"
)
public
R
<
List
<
SqlOrderResult
>>
executeSqlOrderReport
(
@Parameter
(
description
=
"请求参数"
,
required
=
true
)
@RequestBody
Map
<
String
,
Object
>
params
)
{
String
sceneId
=
params
.
get
(
"sceneId"
)
!=
null
?
params
.
get
(
"sceneId"
).
toString
()
:
null
;
@SuppressWarnings
(
"unchecked"
)
List
<
SqlOrder
>
sqlOrders
=
objectMapper
.
convertValue
(
params
.
get
(
"data"
),
new
com
.
fasterxml
.
jackson
.
core
.
type
.
TypeReference
<
List
<
SqlOrder
>>()
{});
List
<
SqlOrderResult
>
results
=
chromosomeDataService
.
executeSqlOrderReport
(
sqlOrders
,
sceneId
);
return
ok
(
results
);
}
/**
* 批量修改接口(commit)
* 支持在一个请求中修改多个实体
* 示例:
* POST /queryChromosome/commit
* Body: {
* "sceneId": "SCENE001",
* "data": [
* {
* "type": "update",
* "name": "更新订单",
* "table": "order",
* "data": { "id": 1, "name": "新订单名称" }
* },
* {
* "type": "delete",
* "name": "删除工序",
* "table": "entry",
* "data": { "id": 123 }
* },
* {
* "type": "insert",
* "name": "新增订单",
* "table": "order",
* "data": { "name": "新订单" }
* }
* ]
* }
*
* @param params 请求参数
* @return 执行结果列表
*/
@PostMapping
(
"/commit"
)
@Operation
(
summary
=
"批量修改接口"
,
description
=
"支持在一个请求中修改多个实体,type支持 update/delete/insert"
)
public
R
<
List
<
SqlOrderResult
>>
executeSqlOrderCommit
(
@Parameter
(
description
=
"请求参数"
,
required
=
true
)
@RequestBody
Map
<
String
,
Object
>
params
)
{
String
sceneId
=
params
.
get
(
"sceneId"
)
!=
null
?
params
.
get
(
"sceneId"
).
toString
()
:
null
;
@SuppressWarnings
(
"unchecked"
)
List
<
SqlOrder
>
sqlOrders
=
objectMapper
.
convertValue
(
params
.
get
(
"data"
),
new
com
.
fasterxml
.
jackson
.
core
.
type
.
TypeReference
<
List
<
SqlOrder
>>()
{});
List
<
SqlOrderResult
>
results
=
chromosomeDataService
.
executeSqlOrderCommit
(
sqlOrders
,
sceneId
);
return
ok
(
results
);
}
}
\ No newline at end of file
src/main/java/com/aps/entity/common/SqlOrder.java
0 → 100644
View file @
25ec4aa2
package
com
.
aps
.
entity
.
common
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Map
;
public
class
SqlOrder
{
// 命令類型,查詢:SELECT,FIND,GROUP,
// 數據操作: UPDATE,INSERT,DELETE,IMPORTS,BATCH,
private
String
type
;
private
String
name
;
private
String
table
;
private
Object
data
;
public
SqlOrder
()
{
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getTable
()
{
if
(
table
==
null
||
table
.
isEmpty
()){
return
name
;
}
return
table
;
}
public
void
setTable
(
String
table
)
{
this
.
table
=
table
;
}
public
Object
getData
()
{
return
data
;
}
// public Paged getPagedData(){
// return JSONObject.parseObject(JSONObject.toJSONString(data),Paged.class);
// }
// public Map<String,Object> get(){
// return JSONObject.parseObject(JSONObject.toJSONString(data),JSONObject.class);
// }
// public JSONArray getJSONArrayData(){
// return JSONObject.parseObject(JSONObject.toJSONString(data),JSONArray.class);
// }
public
void
setData
(
Object
data
)
{
this
.
data
=
data
;
}
}
src/main/java/com/aps/entity/common/SqlOrderResult.java
0 → 100644
View file @
25ec4aa2
package
com
.
aps
.
entity
.
common
;
import
lombok.Data
;
@Data
public
class
SqlOrderResult
{
private
String
name
;
private
Object
value
;
}
src/main/java/com/aps/service/common/ChromosomeDataService.java
View file @
25ec4aa2
...
...
@@ -454,7 +454,7 @@ public class ChromosomeDataService {
*/
public
Map
<
String
,
Object
>
queryChromosomeDataWithConditions
(
String
sceneId
,
String
entityName
,
Paged
paged
)
{
// 对于materialInfo且有sceneId时,在conditions中添加排产物料ID过滤
System
.
out
.
println
(
entityName
);
if
(
"materialinfo"
.
equalsIgnoreCase
(
entityName
)
&&
sceneId
!=
null
&&
!
sceneId
.
isEmpty
())
{
boolean
hasProductIds
=
false
;
...
...
@@ -2784,4 +2784,99 @@ public class ChromosomeDataService {
}
/**
* 执行批量查询操作(report接口)
* @param sqlOrders SqlOrder列表
* @param sceneId 场景ID(文件实体需要)
* @return 查询结果列表
*/
public
List
<
SqlOrderResult
>
executeSqlOrderReport
(
List
<
SqlOrder
>
sqlOrders
,
String
sceneId
)
{
List
<
SqlOrderResult
>
results
=
new
ArrayList
<>();
for
(
SqlOrder
sqlOrder
:
sqlOrders
)
{
SqlOrderResult
result
=
new
SqlOrderResult
();
String
resultName
=
(
sqlOrder
.
getName
()
!=
null
&&
!
sqlOrder
.
getName
().
isEmpty
())
?
sqlOrder
.
getName
()
:
sqlOrder
.
getTable
();
result
.
setName
(
resultName
);
try
{
String
type
=
sqlOrder
.
getType
()
!=
null
?
sqlOrder
.
getType
().
toLowerCase
()
:
""
;
if
(
"page"
.
equals
(
type
))
{
Paged
paged
=
objectMapper
.
convertValue
(
sqlOrder
.
getData
(),
Paged
.
class
);
Map
<
String
,
Object
>
queryResult
=
queryChromosomeDataWithConditions
(
sceneId
,
sqlOrder
.
getTable
(),
paged
);
result
.
setValue
(
queryResult
);
}
else
if
(
"list"
.
equals
(
type
))
{
Paged
paged
=
objectMapper
.
convertValue
(
sqlOrder
.
getData
(),
Paged
.
class
);
List
<
Object
>
queryResult
=
queryChromosomeDataList
(
sceneId
,
sqlOrder
.
getTable
(),
paged
);
result
.
setValue
(
queryResult
);
}
else
if
(
"get"
.
equals
(
type
))
{
@SuppressWarnings
(
"unchecked"
)
Map
<
String
,
Object
>
dataMap
=
objectMapper
.
convertValue
(
sqlOrder
.
getData
(),
Map
.
class
);
String
id
=
dataMap
!=
null
&&
dataMap
.
get
(
"id"
)
!=
null
?
dataMap
.
get
(
"id"
).
toString
()
:
null
;
if
(
id
!=
null
)
{
Object
queryResult
=
queryChromosomeDataById
(
sceneId
,
sqlOrder
.
getTable
(),
id
);
result
.
setValue
(
queryResult
);
}
else
{
result
.
setValue
(
"get操作需要提供id参数"
);
}
}
else
{
result
.
setValue
(
"只支持查询操作(page/list/get)"
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"执行SqlOrder失败: type={}, table={}"
,
sqlOrder
.
getType
(),
sqlOrder
.
getTable
(),
e
);
result
.
setValue
(
"执行失败: "
+
e
.
getMessage
());
}
results
.
add
(
result
);
}
return
results
;
}
/**
* 执行批量修改操作(commit接口)
* @param sqlOrders SqlOrder列表
* @param sceneId 场景ID(文件实体需要)
* @return 执行结果列表
*/
public
List
<
SqlOrderResult
>
executeSqlOrderCommit
(
List
<
SqlOrder
>
sqlOrders
,
String
sceneId
)
{
List
<
SqlOrderResult
>
results
=
new
ArrayList
<>();
for
(
SqlOrder
sqlOrder
:
sqlOrders
)
{
SqlOrderResult
result
=
new
SqlOrderResult
();
String
resultName
=
(
sqlOrder
.
getName
()
!=
null
&&
!
sqlOrder
.
getName
().
isEmpty
())
?
sqlOrder
.
getName
()
:
sqlOrder
.
getTable
();
result
.
setName
(
resultName
);
try
{
String
type
=
sqlOrder
.
getType
()
!=
null
?
sqlOrder
.
getType
().
toLowerCase
()
:
""
;
if
(
"update"
.
equals
(
type
))
{
@SuppressWarnings
(
"unchecked"
)
Map
<
String
,
Object
>
data
=
objectMapper
.
convertValue
(
sqlOrder
.
getData
(),
Map
.
class
);
boolean
success
=
updateChromosomeData
(
sceneId
,
sqlOrder
.
getTable
(),
data
);
result
.
setValue
(
success
?
"更新成功"
:
"更新失败"
);
}
else
if
(
"delete"
.
equals
(
type
))
{
result
.
setValue
(
"删除功能待实现"
);
}
else
if
(
"insert"
.
equals
(
type
))
{
result
.
setValue
(
"插入功能待实现"
);
}
else
{
result
.
setValue
(
"不支持的操作类型: "
+
type
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"执行SqlOrder失败: type={}, table={}"
,
sqlOrder
.
getType
(),
sqlOrder
.
getTable
(),
e
);
result
.
setValue
(
"执行失败: "
+
e
.
getMessage
());
}
results
.
add
(
result
);
}
return
results
;
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment