Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
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
项目统一框架
amos-boot-biz
Commits
21b45a59
Commit
21b45a59
authored
Sep 27, 2022
by
xixinzhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
三维校验
parent
aee4f184
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
424 additions
and
97 deletions
+424
-97
ModelTreeDto.java
...om/yeejoin/amos/boot/module/tdc/api/dto/ModelTreeDto.java
+4
-0
CheckModel.java
...m/yeejoin/amos/boot/module/tdc/api/entity/CheckModel.java
+13
-0
CheckResult.java
.../yeejoin/amos/boot/module/tdc/api/entity/CheckResult.java
+1
-4
IdxFeignService.java
...ejoin/amos/boot/module/tdc/api/feign/IdxFeignService.java
+1
-1
CheckResultMapper.java
...in/amos/boot/module/tdc/api/mapper/CheckResultMapper.java
+1
-1
CheckModelService.java
...n/amos/boot/module/tdc/api/service/CheckModelService.java
+24
-0
CheckResultService.java
.../amos/boot/module/tdc/api/service/CheckResultService.java
+20
-5
SubjectTreeVo.java
...om/yeejoin/amos/boot/module/tdc/api/vo/SubjectTreeVo.java
+1
-1
CheckResultMapper.xml
...e-tdc-api/src/main/resources/mapper/CheckResultMapper.xml
+2
-2
AmosTdcApplication.java
...iz/src/main/java/com/yeejoin/amos/AmosTdcApplication.java
+0
-20
CheckModelAction.java
...oin/amos/boot/module/tdc/biz/action/CheckModelAction.java
+145
-0
IdxProjectModel.java
...mos/boot/module/tdc/biz/action/model/IdxProjectModel.java
+24
-16
CheckModelController.java
.../boot/module/tdc/biz/controller/CheckModelController.java
+19
-0
CheckResultController.java
...boot/module/tdc/biz/controller/CheckResultController.java
+8
-15
CheckModelImpl.java
...amos/boot/module/tdc/biz/service/impl/CheckModelImpl.java
+103
-0
CheckReportImpl.java
...mos/boot/module/tdc/biz/service/impl/CheckReportImpl.java
+1
-3
CheckResultImpl.java
...mos/boot/module/tdc/biz/service/impl/CheckResultImpl.java
+53
-28
application.properties
...-module-tdc-biz/src/main/resources/application.properties
+4
-1
No files found.
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/dto/ModelTreeDto.java
View file @
21b45a59
...
...
@@ -19,5 +19,9 @@ public class ModelTreeDto {
private
String
tableName
;
private
String
amosOrgName
;
private
String
modelId
;
private
List
<
Map
<
String
,
Object
>>
children
;
}
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/entity/CheckModel.java
View file @
21b45a59
...
...
@@ -46,4 +46,17 @@ public class CheckModel {
@ApiModelProperty
(
value
=
"模型图片地址"
)
private
String
modelPictureUrl
;
@ApiModelProperty
(
value
=
"模型规则知识包"
)
private
String
modelRule
;
@ApiModelProperty
(
value
=
"指标模型所属项目id"
)
private
String
projectId
;
@ApiModelProperty
(
value
=
"指标模型表id"
)
private
String
tableId
;
@ApiModelProperty
(
value
=
"模型校验项数量"
)
private
int
checkItemAmount
;
}
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/entity/CheckResult.java
View file @
21b45a59
...
...
@@ -34,9 +34,6 @@ public class CheckResult {
@ApiModelProperty
(
value
=
"检查项值"
)
private
String
checkItemValue
;
@ApiModelProperty
(
value
=
"检查项标准值"
)
private
String
checkItemRealValue
;
@ApiModelProperty
(
value
=
"检查项结果"
)
private
String
checkItemResult
;
...
...
@@ -50,7 +47,7 @@ public class CheckResult {
private
String
checkExplain
;
@ApiModelProperty
(
value
=
"校验类型"
)
private
String
checkType
;
private
Integer
checkType
;
@ApiModelProperty
(
value
=
"模型所属机构"
)
private
String
amosOrgCode
;
...
...
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/feign/IdxFeignService.java
View file @
21b45a59
...
...
@@ -22,7 +22,7 @@ public interface IdxFeignService {
* @param tableId
* @return
*/
@RequestMapping
(
value
=
"/
v1/
table/{tableId}"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/table/{tableId}"
,
method
=
RequestMethod
.
GET
)
ResponseModel
<
JSONObject
>
queryByTableId
(
@PathVariable
String
tableId
);
/**
...
...
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/mapper/CheckResultMapper.java
View file @
21b45a59
...
...
@@ -19,7 +19,7 @@ public interface CheckResultMapper extends BaseMapper<CheckResult> {
List
<
CheckResultDto
>
selectTotal
(
String
modelId
,
String
amosOrgCode
);
Map
getTable
(
String
tableNam
e
);
Map
<
String
,
Object
>
getTables
(
String
tableName
,
String
amosOrgCod
e
);
List
<
CheckResultDto
>
selectStatistion
(
String
batchNo
,
String
amosOrgCode
);
...
...
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/service/CheckModelService.java
View file @
21b45a59
...
...
@@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
/**
* @author xxz
*/
...
...
@@ -19,9 +21,31 @@ public interface CheckModelService extends IService<CheckModel> {
// List<CheckModel> selectByOrgCode(String amosOrgCode);
IPage
<
CheckModel
>
selectByOrgCode
(
int
current
,
int
size
,
String
amosOrgCode
);
List
<
CheckModel
>
selectByOrgCode
(
String
amosOrgCode
);
/**
* 查询最后一次校验模型
* @return 模型obj
*/
CheckModel
selectOneByDate
(
String
amosOrgCode
);
/**
* 校验机构下全部模型
* @param amosOrgCode 机构code
*/
void
checkAllMode
(
String
amosOrgCode
);
/**
* 校验单个模型
* @param modelId 模型id
*/
void
checkSingleMode
(
String
modelId
);
/**
* 根据机构code和模型名称查询模型对象
* @param modelName 模型名称
* @param amosOrgCode 机构code
* @return 模型对象
*/
CheckModel
selectCheckModelByNameCode
(
String
modelName
,
String
amosOrgCode
);
}
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/service/CheckResultService.java
View file @
21b45a59
...
...
@@ -20,17 +20,32 @@ public interface CheckResultService extends IService<CheckResult> {
List
<
CheckResultDto
>
selectTotal
(
String
modelId
,
String
amosOrgCode
);
List
<
ModelTreeDto
>
test
();
ModelTreeDto
treeTwo
(
String
tableId
);
List
<
CheckResultDto
>
selectStatistion
(
String
batchNo
,
String
amosOrgCode
);
List
<
CheckResultDto
>
selectDetails
(
String
batchNo
,
Integer
modelId
);
String
select
(
String
amosOrgCode
,
String
userName
);
/**
* 根据机构code获取模型数据树
* @param amosOrgCode 机构code
* @return 树
*/
List
<
ModelTreeDto
>
getAllModelDataTree
(
String
amosOrgCode
);
/**
* 根据模型id获取模型数据树
* @param modelId 模型id
* @return 树
*/
List
<
ModelTreeDto
>
getModelDataTree
(
String
modelId
);
/**
* 根据批次号查询存储属性个数
* @param batchNo 批次号
* @return 属性个数
*/
Integer
selectItemCount
(
String
batchNo
);
}
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/java/com/yeejoin/amos/boot/module/tdc/api/vo/SubjectTreeVo.java
View file @
21b45a59
...
...
@@ -20,6 +20,6 @@ public class SubjectTreeVo {
private
String
key
;
private
List
<
TableColumnsVo
>
column
s
;
private
List
<
TableColumnsVo
>
tableCol
s
;
}
amos-boot-system-tdc/amos-boot-module-tdc-api/src/main/resources/mapper/CheckResultMapper.xml
View file @
21b45a59
...
...
@@ -12,8 +12,8 @@
</select>
<select
id=
"getTable
"
resultType=
"
Map"
>
SELECT a.* FROM ${tableName} AS a ORDER BY a.date DESC LIMIT 1
<select
id=
"getTable
s"
resultType=
"java.util.
Map"
>
SELECT a.* FROM ${tableName} AS a
where a.org_code = #{amosOrgCode}
ORDER BY a.date DESC LIMIT 1
</select>
<select
id=
"selectStatistion"
resultType=
"com.yeejoin.amos.boot.module.tdc.api.dto.CheckResultDto"
>
...
...
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/AmosTdcApplication.java
View file @
21b45a59
...
...
@@ -58,24 +58,4 @@ public class AmosTdcApplication {
+
"Application Amos-Biz-Boot is running! Access URLs:\n\t"
+
"Swagger文档: \thttp://"
+
ip
+
":"
+
port
+
path
+
"/doc.html\n"
+
"----------------------------------------------------------"
);
}
// /**
// * 初始化MQTT
// *
// * @throws MqttException
// */
// @Bean
// public void initMqtt() throws MqttException {
// emqKeeper.getMqttClient().subscribe("/idx/idx_biz_carcyl_unit_inspect", 1, carcylUnitInspectMqTtlListener);
// emqKeeper.getMqttClient().subscribe("/tm/tz_base_enterprise_info", 1, baseEnterpriseMqTtlListener);
// emqKeeper.getMqttClient().subscribe("/tz/privilege_company_add_update",1, privilegeCompanyUpdateAddListener);
// emqKeeper.getMqttClient().subscribe("/tz/privilege_company_delete",1, privilegeCompanyDeleteListener);
//// emqKeeper.getMqttClient().subscribe("topic_mqtt_exam", 1, examMqTtlListener);
//// emqKeeper.getMqttClient().subscribe("topic_mqtt_exam_record", 1, examMqTtRecordListener);
// }
// @Bean
// public void initToken() {
// startPlatformTokenService.getToken();
// }
}
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/boot/module/tdc/biz/action/CheckModelAction.java
0 → 100644
View file @
21b45a59
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tdc
.
biz
.
action
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel
;
import
com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult
;
import
com.yeejoin.amos.boot.module.tdc.api.feign.IdxFeignService
;
import
com.yeejoin.amos.boot.module.tdc.api.service.CheckModelService
;
import
com.yeejoin.amos.boot.module.tdc.api.service.CheckReportService
;
import
com.yeejoin.amos.boot.module.tdc.api.service.CheckResultService
;
import
com.yeejoin.amos.boot.module.tdc.api.vo.SubjectTreeVo
;
import
com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel
;
import
com.yeejoin.amos.component.rule.MethodParam
;
import
com.yeejoin.amos.component.rule.RuleActionBean
;
import
com.yeejoin.amos.component.rule.RuleMethod
;
import
com.yeejoin.amos.component.rule.config.RuleConfig
;
import
org.apache.commons.lang3.ObjectUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.eclipse.paho.client.mqttv3.MqttException
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.CollectionUtils
;
import
org.typroject.tyboot.component.emq.EmqKeeper
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.atomic.AtomicInteger
;
/**
* @author DELL
*/
@Component
@RuleActionBean
(
beanLabel
=
"动态预案"
)
public
class
CheckModelAction
{
@Autowired
CheckReportService
checkReportService
;
@Autowired
CheckModelService
checkModelService
;
@Autowired
CheckResultService
checkResultService
;
@Autowired
IdxFeignService
idxFeignService
;
@Autowired
private
EmqKeeper
emqKeeper
;
@Value
(
"${mqtt.topic.check.complete}"
)
private
String
checkComplete
;
@RuleMethod
(
methodLabel
=
"更新检查项结果"
,
project
=
"保存模型检查项结果"
)
public
void
saveCheckItemResult
(
@MethodParam
(
paramLabel
=
"结果"
)
String
result
,
@MethodParam
(
paramLabel
=
"规范标签内容"
)
String
checkExplain
,
@MethodParam
(
paramLabel
=
"校验项"
)
String
checkItem
,
@MethodParam
(
paramLabel
=
"校验项值"
)
String
checkItemValue
,
@MethodParam
(
paramLabel
=
"校验项标准值"
)
String
checkItemRealValue
,
@MethodParam
(
paramLabel
=
"对象"
)
IdxProjectModel
idxProjectModel
)
{
// 1. 检验结果入库
CheckResult
checkResult
=
new
CheckResult
();
Map
propertyValues
=
idxProjectModel
.
getPropertyValues
();
String
batchNo
=
String
.
valueOf
(
propertyValues
.
get
(
"batch_no"
));
Integer
checkType
=
Integer
.
valueOf
(
String
.
valueOf
(
propertyValues
.
get
(
"checkType"
)));
String
orgCode
=
String
.
valueOf
(
propertyValues
.
get
(
"org_code"
));
String
itemName
=
idxProjectModel
.
getItemName
();
// 获取模型
CheckModel
checkModel
=
checkModelService
.
selectCheckModelByNameCode
(
itemName
,
orgCode
);
if
(
ObjectUtils
.
isEmpty
(
checkModel
))
{
return
;
}
if
(!
CollectionUtils
.
isEmpty
(
idxProjectModel
.
getPropertys
())
&&
StringUtils
.
isNotEmpty
(
checkItem
))
{
Map
<
String
,
Object
>
item
=
idxProjectModel
.
getPropertys
().
stream
().
filter
(
map
->
checkItem
.
equals
(
map
.
get
(
"name"
))).
findFirst
().
orElse
(
null
);
if
(
ObjectUtils
.
isNotEmpty
(
item
))
{
checkResult
.
setCheckItemLabel
(
String
.
valueOf
(
item
.
get
(
"title"
)));
}
}
checkResult
.
setBatchNo
(
StringUtils
.
isNotEmpty
(
batchNo
)
?
batchNo
:
String
.
valueOf
(
propertyValues
.
get
(
"id"
)));
checkResult
.
setCheckItemResult
(
result
);
checkResult
.
setCheckExplain
(
checkExplain
);
checkResult
.
setCheckItem
(
checkItem
);
checkResult
.
setCheckItemValue
(
checkItemValue
);
checkResult
.
setModelId
(
String
.
valueOf
(
checkModel
.
getSequenceNbr
()));
checkResult
.
setAmosOrgCode
(
checkModel
.
getAmosOrgCode
());
checkResult
.
setAmosOrgName
(
checkModel
.
getAmosOrgName
());
checkResult
.
setCheckDate
(
new
Date
());
checkResult
.
setCheckType
(
ObjectUtils
.
isNotEmpty
(
checkType
)
?
checkType
:
1
);
checkResult
.
setModelName
(
checkModel
.
getModelName
());
checkResultService
.
save
(
checkResult
);
// 2. 判断是否检验结束
if
(
ObjectUtils
.
isNotEmpty
(
checkType
))
{
if
(
checkType
==
1
)
{
// 2.2 单独模型校验,根据批次号查询已经入库的属性
sendWebMessage
(
batchNo
,
checkModel
.
getCheckItemAmount
());
}
else
if
(
checkType
==
0
)
{
// 2.1 全站校验
List
<
CheckModel
>
checkModels
=
checkModelService
.
selectByOrgCode
(
orgCode
);
int
sum
=
checkModels
.
stream
().
mapToInt
(
CheckModel:
:
getCheckItemAmount
).
sum
();
sendWebMessage
(
batchNo
,
sum
);
}
}
// else {
// // 指标填报完自动调用,暂时不需要推送前端
// String number = ObjectUtils.isNotEmpty(checkType) ? batchNo : String.valueOf(propertyValues.get("id"));
// Integer itemCount = checkResultService.selectItemCount(number);
// List property = projectModel.getPropertys();
// if (itemCount == property.size()) {
// // 所有属性已全部入库,给前端发送消息
// }
// }
}
private
void
sendWebMessage
(
String
batchNo
,
Integer
itemSize
)
{
Integer
itemCount
=
checkResultService
.
selectItemCount
(
batchNo
);
if
(
itemCount
.
equals
(
itemSize
))
{
// 所有属性已全部入库,给前端发送消息
HashMap
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"itemCount"
,
itemCount
);
String
json
=
JSONObject
.
toJSONString
(
map
,
SerializerFeature
.
PrettyFormat
,
SerializerFeature
.
WriteMapNullValue
);
try
{
emqKeeper
.
getMqttClient
().
publish
(
checkComplete
,
json
.
getBytes
(),
RuleConfig
.
DEFAULT_QOS
,
false
);
}
catch
(
MqttException
e
)
{
e
.
printStackTrace
();
}
// 全站校验生成报告
}
}
}
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/boot/module/tdc/biz/action/model/IdxProjectModel.java
View file @
21b45a59
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tdc
.
biz
.
action
.
model
;
import
com.yeejoin.amos.component.rule.Label
;
import
com.yeejoin.amos.component.rule.RuleFact
;
import
liquibase.pro.packaged.L
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author DELL
*/
@RuleFact
(
value
=
"指标"
,
project
=
"三维校验"
)
@RuleFact
(
value
=
"指标"
,
project
=
"三维校验
cs
"
)
@Data
public
class
IdxProjectModel
{
/**
* 规则项目id
*/
private
String
projectSeq
;
public
class
IdxProjectModel
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
8955054152867167436L
;
/**
* 规则id
*/
private
String
ruleSeq
;
/**
* 知识包id
* 规则项目id
*/
private
String
packageId
;
// private String projectSeq;
//
// /**
// * 规则id
// */
// private String ruleSeq;
//
// /**
// * 知识包id
// */
// private String packageId;
/**
* 项目名称
*/
private
String
projectName
;
//
private String projectName;
/**
* 主题名称
*/
@Label
(
"主题名称"
)
private
String
itemName
;
/**
* 属性集合
*/
private
List
propertys
;
@Label
(
"属性集合"
)
private
List
<
Map
<
String
,
Object
>>
propertys
;
/**
* 变量属性值
*/
private
Map
propertyValues
;
@Label
(
"变量属性值"
)
Map
<
String
,
Object
>
propertyValues
;
}
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/boot/module/tdc/biz/controller/CheckModelController.java
View file @
21b45a59
...
...
@@ -47,4 +47,23 @@ public class CheckModelController {
return
ResponseHelper
.
buildResponse
(
checkModelService
.
selectOneByDate
(
amosOrgCode
));
}
/**
* 点击全站校验
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/CheckAllModel/{amosOrgCode}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询最后一次校验模型"
,
notes
=
"查询最后一次校验模型"
)
public
void
CheckAllModel
(
@PathVariable
(
value
=
"amosOrgCode"
)
String
amosOrgCode
)
{
checkModelService
.
checkAllMode
(
amosOrgCode
);
}
/**
* 点击单独模型校验
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/checkSingleMode/{modelId}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询最后一次校验模型"
,
notes
=
"查询最后一次校验模型"
)
public
void
checkSingleMode
(
@PathVariable
(
value
=
"modelId"
)
String
modelId
)
{
checkModelService
.
checkSingleMode
(
modelId
);
}
}
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/boot/module/tdc/biz/controller/CheckResultController.java
View file @
21b45a59
...
...
@@ -63,26 +63,19 @@ public class CheckResultController extends BaseController {
return
ResponseHelper
.
buildResponse
(
checkResultService
.
selectTotal
(
modelId
,
amosOrgCode
));
}
/**
* 根据amosOrgCode、modelId查询不合格项
* return
* @return
*/
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/
selectCheckResult/test
"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"
查询最后一次校验模型"
,
notes
=
"查询最后一次校验模型
"
)
public
ResponseModel
<
List
<
ModelTreeDto
>>
test
(
)
{
return
ResponseHelper
.
buildResponse
(
checkResultService
.
test
(
));
@GetMapping
(
value
=
"/
getAllModelDataTree/{amosOrgCode}
"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"
获取机构下模型树"
,
notes
=
"根据机构code获取模型树
"
)
public
ResponseModel
<
List
<
ModelTreeDto
>>
getAllModelDataTree
(
@PathVariable
(
value
=
"amosOrgCode"
)
String
amosOrgCode
)
{
return
ResponseHelper
.
buildResponse
(
checkResultService
.
getAllModelDataTree
(
amosOrgCode
));
}
@TycloudOperation
(
ApiLevel
=
UserType
.
AGENCY
,
needAuth
=
false
)
@GetMapping
(
value
=
"/selectCheckResult/TreeTwo"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"查询最后一次校验模型"
,
notes
=
"查询最后一次校验模型"
)
public
ResponseModel
<
ModelTreeDto
>
treeTwo
(
String
tableId
)
{
return
ResponseHelper
.
buildResponse
(
checkResultService
.
treeTwo
(
tableId
));
@GetMapping
(
value
=
"/getModelDataTree/{modelId}"
)
@ApiOperation
(
httpMethod
=
"GET"
,
value
=
"获取单独模型树"
,
notes
=
"根据模型id获取模型树"
)
public
ResponseModel
<
List
<
ModelTreeDto
>>
getModelDataTree
(
@PathVariable
(
value
=
"modelId"
)
String
modelId
)
{
return
ResponseHelper
.
buildResponse
(
checkResultService
.
getModelDataTree
(
modelId
));
}
...
...
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/boot/module/tdc/biz/service/impl/CheckModelImpl.java
View file @
21b45a59
package
com
.
yeejoin
.
amos
.
boot
.
module
.
tdc
.
biz
.
service
.
impl
;
import
com.alibaba.excel.util.CollectionUtils
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONObject
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.yeejoin.amos.boot.module.tdc.api.entity.CheckModel
;
import
com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult
;
import
com.yeejoin.amos.boot.module.tdc.api.feign.IdxFeignService
;
import
com.yeejoin.amos.boot.module.tdc.api.mapper.CheckModelMapper
;
import
com.yeejoin.amos.boot.module.tdc.api.mapper.CheckResultMapper
;
import
com.yeejoin.amos.boot.module.tdc.api.service.CheckModelService
;
import
com.yeejoin.amos.boot.module.tdc.api.vo.SubjectTreeVo
;
import
com.yeejoin.amos.boot.module.tdc.api.vo.TableColumnsVo
;
import
com.yeejoin.amos.boot.module.tdc.biz.action.model.IdxProjectModel
;
import
com.yeejoin.amos.component.rule.RuleTrigger
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.typroject.tyboot.core.restful.utils.ResponseModel
;
import
java.util.*
;
/**
* @author xxz
...
...
@@ -16,6 +30,15 @@ import org.springframework.stereotype.Service;
@Service
public
class
CheckModelImpl
extends
ServiceImpl
<
CheckModelMapper
,
CheckModel
>
implements
CheckModelService
{
@Autowired
CheckResultMapper
checkResultMapper
;
@Autowired
IdxFeignService
idxFeignService
;
@Autowired
RuleTrigger
ruleTrigger
;
@Override
public
IPage
<
CheckModel
>
selectByOrgCode
(
int
current
,
int
size
,
String
amosOrgCode
)
{
Page
page
=
new
Page
(
current
,
size
);
...
...
@@ -26,6 +49,13 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
}
@Override
public
List
<
CheckModel
>
selectByOrgCode
(
String
amosOrgCode
)
{
LambdaQueryWrapper
<
CheckModel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
CheckModel:
:
getAmosOrgCode
,
amosOrgCode
);
return
baseMapper
.
selectList
(
wrapper
);
}
@Override
public
CheckModel
selectOneByDate
(
String
amosOrgCode
)
{
LambdaQueryWrapper
<
CheckModel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
...
...
@@ -35,5 +65,78 @@ public class CheckModelImpl extends ServiceImpl<CheckModelMapper, CheckModel> im
.
last
(
"limit 1"
);
return
baseMapper
.
selectOne
(
wrapper
);
}
@Override
public
void
checkAllMode
(
String
amosOrgCode
)
{
LambdaQueryWrapper
<
CheckModel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
CheckModel:
:
getAmosOrgCode
,
amosOrgCode
);
List
<
CheckModel
>
checkModels
=
this
.
baseMapper
.
selectList
(
wrapper
);
String
batchNo
=
UUID
.
randomUUID
().
toString
();
if
(!
CollectionUtils
.
isEmpty
(
checkModels
))
{
checkModels
.
forEach
(
checkModel
->
{
checkModelRule
(
checkModel
,
0
,
batchNo
,
amosOrgCode
);
});
}
}
@Override
public
void
checkSingleMode
(
String
modelId
)
{
LambdaQueryWrapper
<
CheckModel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
CheckModel:
:
getSequenceNbr
,
modelId
);
CheckModel
checkModel
=
this
.
baseMapper
.
selectOne
(
wrapper
);
if
(!
ObjectUtils
.
isEmpty
(
checkModel
))
{
// 调用规则校验模型
String
batchNo
=
UUID
.
randomUUID
().
toString
();
checkModelRule
(
checkModel
,
1
,
batchNo
,
checkModel
.
getAmosOrgCode
());
}
}
@Override
public
CheckModel
selectCheckModelByNameCode
(
String
modelName
,
String
amosOrgCode
)
{
LambdaQueryWrapper
<
CheckModel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
CheckModel:
:
getAmosOrgCode
,
amosOrgCode
);
wrapper
.
eq
(
CheckModel:
:
getModelName
,
modelName
);
return
this
.
baseMapper
.
selectOne
(
wrapper
);
}
private
void
checkModelRule
(
CheckModel
checkModel
,
int
checkType
,
String
batchNo
,
String
amosOrgCode
)
{
IdxProjectModel
idxProjectModel
=
new
IdxProjectModel
();
// 查询表最新一条数据
String
idxTableName
=
checkModel
.
getIdxTableName
();
Map
<
String
,
Object
>
map
=
checkResultMapper
.
getTables
(
idxTableName
,
amosOrgCode
);
// Map<String, Object> map = new HashMap<>();
if
(
ObjectUtils
.
isEmpty
(
map
))
{
new
RuntimeException
(
"暂无填报数据"
);
}
map
.
put
(
"batch_no"
,
batchNo
);
map
.
put
(
"checkType"
,
checkType
);
// 查询表所有字段
ResponseModel
<
JSONObject
>
model
=
idxFeignService
.
queryByTableId
(
checkModel
.
getTableId
());
JSONObject
result
=
model
.
getResult
();
SubjectTreeVo
subjectTreeVo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
),
SubjectTreeVo
.
class
);
List
<
TableColumnsVo
>
columns
=
subjectTreeVo
.
getTableCols
();
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
columns
.
forEach
(
tableColumnsVo
->
{
Map
<
String
,
Object
>
itemMap
=
new
HashMap
<>(
3
);
itemMap
.
put
(
"name"
,
tableColumnsVo
.
getColumnName
());
itemMap
.
put
(
"title"
,
tableColumnsVo
.
getName
());
itemMap
.
put
(
"type"
,
tableColumnsVo
.
getColumnType
());
list
.
add
(
itemMap
);
});
idxProjectModel
.
setPropertys
(
list
);
idxProjectModel
.
setItemName
(
checkModel
.
getModelName
());
idxProjectModel
.
setPropertyValues
(
map
);
// 调用规则校验模型
try
{
// 没有配决策流,processIds传null即可
ruleTrigger
.
publish
(
idxProjectModel
,
checkModel
.
getModelRule
(),
null
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
}
}
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/boot/module/tdc/biz/service/impl/CheckReportImpl.java
View file @
21b45a59
...
...
@@ -22,7 +22,7 @@ public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport>
@Override
public
IPage
<
CheckReport
>
selectAll
(
int
current
,
int
size
,
String
amosOrgCode
)
{
Page
page
=
new
Page
(
current
,
size
);
Page
<
CheckReport
>
page
=
new
Page
<>
(
current
,
size
);
if
(
ValidationUtil
.
isEmpty
(
amosOrgCode
)){
return
this
.
page
(
page
);
...
...
@@ -33,6 +33,4 @@ public class CheckReportImpl extends ServiceImpl<CheckReportMapper, CheckReport>
}
}
}
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/java/com/yeejoin/amos/boot/module/tdc/biz/service/impl/CheckResultImpl.java
View file @
21b45a59
...
...
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.ObjectUtils
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.mysql.cj.xdevapi.JsonArray
;
...
...
@@ -19,6 +20,7 @@ import com.yeejoin.amos.boot.module.tdc.api.entity.CheckResult;
import
com.yeejoin.amos.boot.module.tdc.api.entity.PowerReportFile
;
import
com.yeejoin.amos.boot.module.tdc.api.enums.WordPowerTypeEum
;
import
com.yeejoin.amos.boot.module.tdc.api.feign.IdxFeignService
;
import
com.yeejoin.amos.boot.module.tdc.api.mapper.CheckModelMapper
;
import
com.yeejoin.amos.boot.module.tdc.api.mapper.CheckReportMapper
;
import
com.yeejoin.amos.boot.module.tdc.api.mapper.CheckResultMapper
;
import
com.yeejoin.amos.boot.module.tdc.api.service.CheckReportService
;
...
...
@@ -56,6 +58,9 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
@Autowired
CheckReportMapper
checkReportMappere
;
@Autowired
CheckModelMapper
checkModelMapper
;
@Override
public
IPage
<
CheckResultDto
>
selectResult
(
int
current
,
int
size
,
String
code
)
{
...
...
@@ -90,28 +95,47 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
@Override
public
List
<
ModelTreeDto
>
test
()
{
ResponseModel
<
List
<
JSONObject
>>
listResponseModel
=
idxFeignService
.
subjectTree
(
"d2528788-b8d5-4170-ae62-edf153fddc59"
);
List
<
JSONObject
>
result
=
listResponseModel
.
getResult
();
public
List
<
ModelTreeDto
>
getAllModelDataTree
(
String
amosOrgCode
)
{
List
<
ModelTreeDto
>
modelTreeDtoList
=
new
ArrayList
<>();
result
.
forEach
(
obj
->{
JSONArray
tables
=
(
obj
).
getJSONArray
(
"tables"
);
tables
.
forEach
(
table
->
{
ModelTreeDto
modelTreeDto
=
new
ModelTreeDto
();
SubjectTreeVo
subjectTreeVo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
table
),
SubjectTreeVo
.
class
);
select
(
modelTreeDto
,
subjectTreeVo
);
modelTreeDtoList
.
add
(
modelTreeDto
);
});
LambdaQueryWrapper
<
CheckModel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
CheckModel:
:
getAmosOrgCode
,
amosOrgCode
);
List
<
CheckModel
>
checkModels
=
checkModelMapper
.
selectList
(
wrapper
);
checkModels
.
forEach
(
checkModel
->
{
ModelTreeDto
modelTreeDto
=
selectDataTree
(
String
.
valueOf
(
checkModel
.
getSequenceNbr
()));
modelTreeDtoList
.
add
(
modelTreeDto
);
});
// ResponseModel<List<JSONObject>> listResponseModel = idxFeignService.subjectTree("d2528788-b8d5-4170-ae62-edf153fddc59");
// List<JSONObject> result = listResponseModel.getResult();
// result.forEach(obj ->{
// JSONArray tables = (obj).getJSONArray("tables");
// tables.forEach(table -> {
// ModelTreeDto modelTreeDto = new ModelTreeDto();
// SubjectTreeVo subjectTreeVo = JSON.parseObject(JSON.toJSONString(table), SubjectTreeVo.class);
// select(modelTreeDto, subjectTreeVo);
// modelTreeDtoList.add(modelTreeDto);
// });
// });
return
modelTreeDtoList
;
}
private
void
select
(
ModelTreeDto
modelTreeDto
,
SubjectTreeVo
subjectTreeVo
)
{
modelTreeDto
.
setId
(
subjectTreeVo
.
getTableId
());
modelTreeDto
.
setName
(
subjectTreeVo
.
getTopicName
());
modelTreeDto
.
setTableName
(
subjectTreeVo
.
getTableName
());
List
<
TableColumnsVo
>
columns
=
subjectTreeVo
.
getColumns
();
Map
tableMap
=
checkResultMapper
.
getTable
(
subjectTreeVo
.
getTableName
());
private
ModelTreeDto
selectDataTree
(
String
modelId
)
{
ModelTreeDto
modelTreeDto
=
new
ModelTreeDto
();
LambdaQueryWrapper
<
CheckModel
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
CheckModel:
:
getSequenceNbr
,
modelId
);
CheckModel
checkModel
=
checkModelMapper
.
selectOne
(
wrapper
);
if
(
ObjectUtils
.
isEmpty
(
checkModel
))
{
return
modelTreeDto
;
}
ResponseModel
<
JSONObject
>
listResponseModel
=
idxFeignService
.
queryByTableId
(
checkModel
.
getTableId
());
JSONObject
result
=
listResponseModel
.
getResult
();
SubjectTreeVo
subjectTreeVo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
),
SubjectTreeVo
.
class
);
modelTreeDto
.
setId
(
checkModel
.
getTableId
());
modelTreeDto
.
setName
(
checkModel
.
getModelName
());
modelTreeDto
.
setTableName
(
checkModel
.
getIdxTableName
());
modelTreeDto
.
setModelId
(
String
.
valueOf
(
checkModel
.
getSequenceNbr
()));
modelTreeDto
.
setAmosOrgName
(
checkModel
.
getAmosOrgName
());
List
<
TableColumnsVo
>
columns
=
subjectTreeVo
.
getTableCols
();
Map
tableMap
=
checkResultMapper
.
getTables
(
subjectTreeVo
.
getTableName
(),
checkModel
.
getAmosOrgCode
());
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
columns
.
forEach
(
tableColumnsVo
->
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
3
);
...
...
@@ -121,21 +145,22 @@ public class CheckResultImpl extends ServiceImpl<CheckResultMapper, CheckResult>
list
.
add
(
map
);
});
modelTreeDto
.
setChildren
(
list
);
return
modelTreeDto
;
}
@Override
public
ModelTreeDto
treeTwo
(
String
tableId
)
{
ResponseModel
<
JSONObject
>
listResponseModel
=
idxFeignService
.
queryByTableId
(
tableId
);
JSONObject
result
=
listResponseModel
.
getResult
();
ModelTreeDto
modelTreeDto
=
new
ModelTreeDto
();
SubjectTreeVo
subjectTreeVo
=
JSON
.
parseObject
(
JSON
.
toJSONString
(
result
),
SubjectTreeVo
.
class
);
// List<TableColumnsVo> list = result.getJSONArray("tableCols").toJavaList(TableColumnsVo.class);
// subjectTreeVo.setColumns(list);
select
(
modelTreeDto
,
subjectTreeVo
);
return
modelTreeDto
;
public
List
<
ModelTreeDto
>
getModelDataTree
(
String
modelId
)
{
List
<
ModelTreeDto
>
modelTreeDtoList
=
new
ArrayList
<>();
ModelTreeDto
modelTreeDto
=
selectDataTree
(
modelId
);
modelTreeDtoList
.
add
(
modelTreeDto
);
return
modelTreeDtoList
;
}
@Override
public
Integer
selectItemCount
(
String
batchNo
)
{
LambdaQueryWrapper
<
CheckResult
>
wrapper
=
new
LambdaQueryWrapper
<>();
wrapper
.
eq
(
CheckResult:
:
getBatchNo
,
batchNo
);
return
this
.
baseMapper
.
selectCount
(
wrapper
);
}
...
...
amos-boot-system-tdc/amos-boot-module-tdc-biz/src/main/resources/application.properties
View file @
21b45a59
spring.application.name
=
TDC-LM
spring.application.name
=
AMOS-TDC
server.servlet.context-path
=
/tdc
server.port
=
13000
...
...
@@ -40,3 +40,6 @@ spring.redis.lettuce.pool.max-idle=10
spring.redis.lettuce.pool.min-idle
=
0
## redis失效时间
redis.cache.failure.time
=
10800
#校验完成发送消息
mqtt.topic.check.complete
=
tdc/check/complete
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