Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
I
inspect
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
912协同工作系统
项目监控管理工具
inspect
Commits
590f9989
提交
590f9989
authored
3月 08, 2020
作者:
马晨俊
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of git.yfzx.zjtys.com.cn:912-system/monitor/inspect
上级
05b5a5f3
d1d7eb6c
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
121 行增加
和
99 行删除
+121
-99
InspectController.java
...n/java/com/zjty/inspect/controller/InspectController.java
+32
-24
TechnologyController.java
...ava/com/zjty/inspect/controller/TechnologyController.java
+1
-1
Apply.java
src/main/java/com/zjty/inspect/entity/Apply.java
+1
-1
AssessmentReport.java
src/main/java/com/zjty/inspect/entity/AssessmentReport.java
+5
-5
Basis.java
src/main/java/com/zjty/inspect/entity/Basis.java
+2
-2
BrowserDifficulty.java
src/main/java/com/zjty/inspect/entity/BrowserDifficulty.java
+7
-7
DatabaseDifficulty.java
...main/java/com/zjty/inspect/entity/DatabaseDifficulty.java
+6
-6
DependOnNum.java
src/main/java/com/zjty/inspect/entity/DependOnNum.java
+2
-2
DifficultyAssessment.java
...in/java/com/zjty/inspect/entity/DifficultyAssessment.java
+1
-1
Estimate.java
src/main/java/com/zjty/inspect/entity/Estimate.java
+3
-3
FrameDifficulty.java
src/main/java/com/zjty/inspect/entity/FrameDifficulty.java
+9
-9
MiddlewareDifficulty.java
...in/java/com/zjty/inspect/entity/MiddlewareDifficulty.java
+9
-9
ProgramDifficulty.java
src/main/java/com/zjty/inspect/entity/ProgramDifficulty.java
+2
-2
TechnologyContent.java
src/main/java/com/zjty/inspect/entity/TechnologyContent.java
+5
-5
TechnologyList.java
src/main/java/com/zjty/inspect/entity/TechnologyList.java
+1
-1
TechnologyReport.java
src/main/java/com/zjty/inspect/entity/TechnologyReport.java
+1
-1
Workload.java
src/main/java/com/zjty/inspect/entity/Workload.java
+3
-3
WorkLoadUtil.java
src/main/java/com/zjty/inspect/utils/WorkLoadUtil.java
+31
-17
没有找到文件。
src/main/java/com/zjty/inspect/controller/InspectController.java
浏览文件 @
590f9989
...
...
@@ -188,6 +188,8 @@ public class InspectController {
将马晨俊的数据放入输出的表单
*/
AssessmentReport
assessmentReport
=
new
AssessmentReport
();
//适配还是改造
assessmentReport
.
setType
(
reform
.
getMode
());
SysScale
sysScale
=
new
SysScale
();
Scale
scale
=
new
Scale
();
//文件数量
...
...
@@ -209,7 +211,7 @@ public class InspectController {
//评估时间
assessmentReport
.
setTime
(
inspect
.
getCreateDate
());
//适配预算
assessmentReport
.
setBudget
(
inspect
.
getBudgets
().
getBudget
().
get
(
0
).
getFund
());
//
assessmentReport.setBudget(inspect.getBudgets().getBudget().get(0).getFund());
//原系统规模,马晨俊没放进去
//技术详情,马晨俊的警告点,同时统计技术的数量
//样式调整
...
...
@@ -220,6 +222,8 @@ public class InspectController {
int
plugIn
=
0
;
//jni数量
int
jni
=
0
;
//中间件依赖数量
int
dependOnNum
=
0
;
HashMap
<
String
,
List
<
Warn
>>
warnDetails
=
inspect
.
getWarnDetails
();
Set
<
String
>
keySet
=
warnDetails
.
keySet
();
List
<
TechnologyReport
>
technologyReports
=
new
ArrayList
<>();
...
...
@@ -236,6 +240,10 @@ public class InspectController {
technologyContent
.
setFile
(
warn
.
getFilePath
());
technologyContent
.
setKeyWord
(
warn
.
getRule
());
technologyContent
.
setPosition
(
warn
.
getLineNum
().
toString
());
String
categoryId
=
warn
.
getCategoryId
();
if
(!
Objects
.
equals
(
categoryId
,
"0"
)
&&
categoryId
!=
null
&&
Objects
.
equals
(
categoryId
,
"1"
)){
dependOnNum
+=
1
;
}
technologyContents
.
add
(
technologyContent
);
}
if
(
Objects
.
equals
(
key
,
"Microsoft CSS extensions(不支持)"
)){
...
...
@@ -294,27 +302,27 @@ public class InspectController {
dependencies
.
addAll
(
projectPom
.
getDependencies
());
}
HashMap
<
String
,
Integer
>
num
=
new
HashMap
<>();
for
(
PomDependency
pomDependency:
dependencies
)
{
String
groupId
=
pomDependency
.
getGroupId
();
Integer
integer
=
num
.
get
(
groupId
);
if
(
integer
==
null
){
num
.
put
(
groupId
,
1
);
}
else
{
integer
=
integer
+
1
;
num
.
put
(
groupId
,
integer
);
}
}
System
.
out
.
println
(
"所有依赖:"
+
JSON
.
toJSONString
(
num
));
Set
<
String
>
strings
=
num
.
keySet
();
List
<
DependOnNum
>
dependOnNums
=
new
ArrayList
<>();
for
(
String
s:
strings
)
{
DependOnNum
dependOnNum
=
new
DependOnNum
();
dependOnNum
.
setName
(
s
);
dependOnNum
.
setNum
(
num
.
get
(
s
));
dependOnNums
.
add
(
dependOnNum
);
}
middlewareDifficulty
.
setDependOnNum
(
dependOnNum
s
);
//
HashMap<String,Integer> num = new HashMap<>();
//
for (PomDependency pomDependency:dependencies) {
//
String groupId = pomDependency.getGroupId();
//
Integer integer = num.get(groupId);
//
if(integer == null){
//
num.put(groupId,1);
//
}else{
//
integer = integer+1;
//
num.put(groupId,integer);
//
}
//
}
//
System.out.println("所有依赖:"+JSON.toJSONString(num));
//
Set<String> strings = num.keySet();
//
List<DependOnNum> dependOnNums = new ArrayList<>();
//
for (String s:strings) {
//
DependOnNum dependOnNum = new DependOnNum();
//
dependOnNum.setName(s);
//
dependOnNum.setNum(num.get(s));
//
dependOnNums.add(dependOnNum);
//
}
middlewareDifficulty
.
setDependOnNum
(
dependOnNum
);
Middleware
middleware
=
reform
.
getMiddleware
();
middlewareDifficulty
.
setWeb
(
middleware
.
getWeb
());
middlewareDifficulty
.
setJms
(
middleware
.
getJms
());
...
...
@@ -334,8 +342,8 @@ public class InspectController {
//本地程序难度
ProgramDifficulty
programDifficulty
=
new
ProgramDifficulty
();
List
<
DependOnNum
>
dependOns
=
new
ArrayList
<>();
DependOnNum
dependOnNum
=
new
DependOnNum
(
"jni"
,
jni
);
dependOns
.
add
(
dependOnNum
);
DependOnNum
dependOnNum
2
=
new
DependOnNum
(
"jni"
,
jni
);
dependOns
.
add
(
dependOnNum
2
);
programDifficulty
.
setDependOnNum
(
dependOns
);
difficultyAssessment
.
setProgramDifficulty
(
programDifficulty
);
System
.
out
.
println
(
"programDifficulty+:"
+
JSON
.
toJSONString
(
programDifficulty
));
...
...
src/main/java/com/zjty/inspect/controller/TechnologyController.java
浏览文件 @
590f9989
...
...
@@ -122,7 +122,7 @@ public class TechnologyController {
dependOnNums
.
add
(
dependOnNum
);
DifficultyAssessment
difficultyAssessment
=
assessmentReport
.
getDifficultyAssessment
();
difficultyAssessment
.
getDatabaseDifficulty
().
setDependOnNum
(
dependOnNums
);
difficultyAssessment
.
getMiddlewareDifficulty
().
setDependOnNum
(
dependOnNums
);
difficultyAssessment
.
getMiddlewareDifficulty
().
setDependOnNum
(
10
);
difficultyAssessment
.
getProgramDifficulty
().
setDependOnNum
(
dependOnNums
);
...
...
src/main/java/com/zjty/inspect/entity/Apply.java
浏览文件 @
590f9989
...
...
@@ -24,5 +24,5 @@ public class Apply {
/**
* 原因
*/
private
String
reason
=
""
;
private
String
reason
=
"
-1
"
;
}
src/main/java/com/zjty/inspect/entity/AssessmentReport.java
浏览文件 @
590f9989
...
...
@@ -22,12 +22,12 @@ public class AssessmentReport {
/**
* 单位名称
*/
private
String
orgName
=
"****"
;
private
String
orgName
;
/**
* 系统名称
*/
private
String
sysName
=
"****"
;
private
String
sysName
;
/**
* 评估时间
...
...
@@ -37,18 +37,18 @@ public class AssessmentReport {
/**
* 难度系数
*/
private
double
difficulty
=
1.1
;
private
double
difficulty
;
/**
* 类型预算 1:适配、2:改造
*/
private
Integer
type
=
1
;
private
Integer
type
;
/**
* 预算金额 double
*/
private
String
budget
=
"53.973348451903085--129.498761216"
;
private
String
budget
;
/**
* 原系统规模
...
...
src/main/java/com/zjty/inspect/entity/Basis.java
浏览文件 @
590f9989
...
...
@@ -18,10 +18,10 @@ public class Basis {
/**
* 开发量
*/
private
double
developmentVolume
=
1.1
;
private
double
developmentVolume
;
/**
* 修正系数
*/
private
double
correctionFactor
=
1.1
;
private
double
correctionFactor
;
}
src/main/java/com/zjty/inspect/entity/BrowserDifficulty.java
浏览文件 @
590f9989
...
...
@@ -17,37 +17,37 @@ public class BrowserDifficulty {
/**
* 系统评估
*/
private
double
systemEvaluation
=
1.1
;
private
double
systemEvaluation
;
/**
* 额外信息
*/
private
double
message
=
1.1
;
private
double
message
;
/**
* 综合难度
*/
private
double
difficulty
=
1.1
;
private
double
difficulty
;
/**
* 工作量
*/
private
double
load
=
0.0
;
private
double
load
;
/**
* 样式
*/
private
Integer
style
=
10
;
private
Integer
style
;
/**
* api
*/
private
Integer
api
=
10
;
private
Integer
api
;
/**
* 插件
*/
private
Integer
plugInUnit
=
10
;
private
Integer
plugInUnit
;
/**
* 用户额外需求
...
...
src/main/java/com/zjty/inspect/entity/DatabaseDifficulty.java
浏览文件 @
590f9989
...
...
@@ -30,7 +30,7 @@ public class DatabaseDifficulty {
/**
* 综合难度
*/
private
double
difficulty
=
1.1
;
private
double
difficulty
;
/**
* 工作量
...
...
@@ -45,25 +45,25 @@ public class DatabaseDifficulty {
/**
* 容灾 (1:否 2:主备 3:分布式)
*/
private
Integer
disasterTolerance
=
1
;
private
Integer
disasterTolerance
;
/**
* 安全 1:是 2:否
*/
private
Integer
safe
=
1
;
private
Integer
safe
;
/**
* 读写分离 1:是 2:否
*/
private
Integer
separate
=
1
;
private
Integer
separate
;
/**
* 更高性能 1:是 2:否
*/
private
Integer
performance
=
1
;
private
Integer
performance
;
/**
* 其他内容
*/
private
String
otherContent
=
"其他内容"
;
private
String
otherContent
;
}
src/main/java/com/zjty/inspect/entity/DependOnNum.java
浏览文件 @
590f9989
...
...
@@ -18,10 +18,10 @@ public class DependOnNum {
/**
* 依赖/jni名称
*/
private
String
name
=
"******"
;
private
String
name
;
/**
* 数量
*/
private
Integer
num
=
-
1
;
private
Integer
num
;
}
src/main/java/com/zjty/inspect/entity/DifficultyAssessment.java
浏览文件 @
590f9989
...
...
@@ -19,7 +19,7 @@ public class DifficultyAssessment {
6.数据库
7.本地程序
*/
private
String
des
=
"*************************"
;
private
String
des
;
/**
* 系统部署架构难度
...
...
src/main/java/com/zjty/inspect/entity/Estimate.java
浏览文件 @
590f9989
...
...
@@ -18,16 +18,16 @@ public class Estimate {
/**
* 计算值
*/
private
double
Calculation
=
1.1
;
private
double
Calculation
;
/**
* 操作
*/
private
String
operation
=
"*****"
;
private
String
operation
;
/**
* 调整后
*/
private
double
adjustment
=
1.1
;
private
double
adjustment
;
}
src/main/java/com/zjty/inspect/entity/FrameDifficulty.java
浏览文件 @
590f9989
...
...
@@ -18,45 +18,45 @@ public class FrameDifficulty {
/**
* 系统评估
*/
private
double
systemEvaluation
=
1.1
;
private
double
systemEvaluation
;
/**
* 额外信息
*/
private
double
message
=
1.1
;
private
double
message
;
/**
* 综合难度
*/
private
double
difficulty
=
1.1
;
private
double
difficulty
;
/**
* 工作量
*/
private
double
load
=
0.0
;
private
double
load
;
/**
* 详情 1:混合 2:前后端分离
*/
private
Integer
details
=
1
;
private
Integer
details
;
/**
* 分布式 int 1:是 2:否
*/
private
Integer
distributed
=
1
;
private
Integer
distributed
;
/**
* 负载均衡 int 1:是 2:否
*/
private
Integer
loadBalance
=
1
;
private
Integer
loadBalance
;
/**
* 容灾 int 1:是 2:否
*/
private
Integer
disaster
=
1
;
private
Integer
disaster
;
/**
* 其他需求
*/
private
String
otherDemand
=
"***********"
;
private
String
otherDemand
;
}
src/main/java/com/zjty/inspect/entity/MiddlewareDifficulty.java
浏览文件 @
590f9989
...
...
@@ -20,27 +20,27 @@ public class MiddlewareDifficulty {
/**
* 系统评估
*/
private
double
systemEvaluation
=
1.1
;
private
double
systemEvaluation
;
/**
* 额外信息
*/
private
double
message
=
1.1
;
private
double
message
;
/**
* 综合难度
*/
private
double
difficulty
=
1.1
;
private
double
difficulty
;
/**
* 工作量
*/
private
double
load
=
0.0
;
private
double
load
;
/**
* 依赖详情
*/
private
List
<
DependOnNum
>
dependOnNum
=
new
ArrayList
<>()
;
private
Integer
dependOnNum
;
/*
*用户额外信息详情
...
...
@@ -48,21 +48,21 @@ public class MiddlewareDifficulty {
/**
*Web集群 1:是 2:否
*/
private
Integer
web
=
1
;
private
Integer
web
;
/**
* Jndi集群 1:是 2:否
*/
private
Integer
jndi
=
1
;
private
Integer
jndi
;
/**
* Jms集群 1:是 2:否
*/
private
Integer
jms
=
1
;
private
Integer
jms
;
/**
* 消息路由 1:是 2:否
*/
private
Integer
route
=
1
;
private
Integer
route
;
}
src/main/java/com/zjty/inspect/entity/ProgramDifficulty.java
浏览文件 @
590f9989
...
...
@@ -30,12 +30,12 @@ public class ProgramDifficulty {
/**
* 综合难度
*/
private
double
difficulty
=
1.1
;
private
double
difficulty
;
/**
* 工作量
*/
private
double
load
=
0.0
;
private
double
load
;
/**
* 依赖详情
...
...
src/main/java/com/zjty/inspect/entity/TechnologyContent.java
浏览文件 @
590f9989
...
...
@@ -18,25 +18,25 @@ public class TechnologyContent {
/**
* 本地程序开发
*/
private
String
local
=
"*****"
;
private
String
local
;
/**
* 关键字
*/
private
String
keyWord
=
"********"
;
private
String
keyWord
;
/**
* 所在文件
*/
private
String
file
=
"*****"
;
private
String
file
;
/**
* 位置
*/
private
String
position
=
"*******"
;
private
String
position
;
/**
* 替换策略
*/
private
Integer
strategy
=
1
;
private
Integer
strategy
;
}
src/main/java/com/zjty/inspect/entity/TechnologyList.java
浏览文件 @
590f9989
...
...
@@ -21,7 +21,7 @@ public class TechnologyList {
/**
* 建议
*/
private
String
des
=
"***************************************************"
;
private
String
des
;
/**
* 技术列表
...
...
src/main/java/com/zjty/inspect/entity/TechnologyReport.java
浏览文件 @
590f9989
...
...
@@ -21,7 +21,7 @@ public class TechnologyReport {
/**
* 关键技术
*/
private
String
technology
=
"*******"
;
private
String
technology
;
/**
...
...
src/main/java/com/zjty/inspect/entity/Workload.java
浏览文件 @
590f9989
...
...
@@ -17,17 +17,17 @@ public class Workload {
/**
* 描述
*/
private
String
des
=
"***************"
;
private
String
des
;
/**
* 开发费用
*/
private
double
cost
=
1.2
;
private
double
cost
;
/**
*模块数
*/
private
Integer
mode
=
19
;
private
Integer
mode
;
/*
* 依据
...
...
src/main/java/com/zjty/inspect/utils/WorkLoadUtil.java
浏览文件 @
590f9989
...
...
@@ -250,16 +250,6 @@ public class WorkLoadUtil {
//总计J = F(马) * 人工费
double
j
=
f
/
r
;
logger
.
info
(
"f:"
+
f
+
"r:"
+
r
+
"总计J:"
+
j
);
/*
计算以下三项,拼接字符串,完成关键技术及替换策略建议:
*/
//关键技术xx个
//本地程序开发项xx个
//中间件依赖修改项xx个
String
string
=
"本系统通过源代码评估适配关键技术"
+
report
.
getTechnologyList
().
getTechnologyReports
().
size
()+
"项,"
+
"其中本地程序开发修改项"
+
report
.
getDifficultyAssessment
().
getProgramDifficulty
().
getDependOnNum
().
size
()+
"项,"
+
"中间件依赖修改项"
+
report
.
getDifficultyAssessment
().
getMiddlewareDifficulty
().
getDependOnNum
().
size
()+
"个...."
;
report
.
getWorkload
().
setDes
(
string
);
/*
先计算难度,再算基础工作量
*/
...
...
@@ -311,9 +301,10 @@ public class WorkLoadUtil {
MiddlewareDifficulty
middlewareDifficulty
=
report
.
getDifficultyAssessment
().
getMiddlewareDifficulty
();
//中间件系统评估P (1+0.001*依赖数量)*(1+0.001*依赖数量)
double
pMiddle
=
1
;
for
(
DependOnNum
dependOnNum:
middlewareDifficulty
.
getDependOnNum
()){
pMiddle
*=(
1.0
+
0.001
*
dependOnNum
.
getNum
());
}
// for(DependOnNum dependOnNum:middlewareDifficulty.getDependOnNum()){
// pMiddle*=(1.0+0.001*dependOnNum.getNum());
// }
pMiddle
*=(
1.0
+
0.001
*
middlewareDifficulty
.
getDependOnNum
());
pMiddle
=
pMiddle
>
1.3
?
1.3
:
pMiddle
;
logger
.
info
(
"中间件难度-评估:"
+
pMiddle
);
middlewareDifficulty
.
setSystemEvaluation
(
Double
.
valueOf
(
nf
.
format
(
pMiddle
)));
...
...
@@ -368,9 +359,6 @@ public class WorkLoadUtil {
logger
.
info
(
"本地程序工作量2*j"
+
j
+
"*(综合难度-1):"
+
programWorkload
);
programDifficulty
.
setLoad
(
Double
.
valueOf
(
nf
.
format
(
programWorkload
)));
//综合难度未知***************************
double
multipleHardrage
=
0.0
;
report
.
getDifficultyAssessment
().
setDes
(
"本系统通过源代码评估,及用户额外信息提供,认为综合难度系数:"
+
multipleHardrage
);
/*
基础工作量评估
*/
...
...
@@ -404,6 +392,28 @@ public class WorkLoadUtil {
report
.
getWorkload
().
getTotal
().
setDevelopmentVolume
(
Double
.
valueOf
(
nf
.
format
(
totalWorkload
)));
report
.
getWorkload
().
getTotal
().
setCorrectionFactor
(-
1
);
/*
建议:
*/
StringBuilder
string
=
new
StringBuilder
(
"本系统通过源代码评估适配关键技术"
+
report
.
getTechnologyList
().
getTechnologyReports
().
size
()+
"项,"
);
if
(
report
.
getTechnologyList
().
getTechnologyReports
().
size
()>
0
){
string
.
append
(
"其中"
);
}
for
(
TechnologyReport
technologyReport:
report
.
getTechnologyList
().
getTechnologyReports
()){
string
.
append
(
technologyReport
.
getTechnology
()+
"修改项"
+
technologyReport
.
getTechnologyContents
().
size
()+
"个,"
);
}
report
.
getTechnologyList
().
setDes
(
string
.
substring
(
0
,
string
.
length
()-
1
)+
"。"
);
String
type
=
""
;
if
(
report
.
getType
()==
1
){
type
=
"改造"
;
}
else
if
(
report
.
getType
()==
2
){
type
=
"适配"
;
}
String
workloadDes
=
"本系统通过选择"
+
type
+
"方式部署到国产化安全自主可控环境上。代码层面的关键工作量包含"
+
nf
.
format
(
totalWorkload
)+
"人工月(包含对不可预见的估算)"
;
report
.
getWorkload
().
setDes
(
workloadDes
);
double
multipleHardrage
=
totalWorkload
*
r
/
f
;
report
.
getDifficultyAssessment
().
setDes
(
"本系统通过源代码评估,及用户额外信息提供,认为综合难度系数:"
+
Double
.
valueOf
(
nf
.
format
(
multipleHardrage
)));
/**
* 人工单价、基础工作量(人月)、难度系数、额外申请(万元)、预算费用 的计算值
*/
...
...
@@ -415,11 +425,15 @@ public class WorkLoadUtil {
report
.
getManufacturingCost
().
getDegreeOfDifficulty
().
setAdjustment
(
Double
.
valueOf
(
nf
.
format
(
multipleHardrage
)));
report
.
getManufacturingCost
().
getApply
().
setCalculation
(
Double
.
valueOf
(
nf
.
format
(
reform
.
getApply
().
getCost
()==-
1
?
0
:
reform
.
getApply
().
getCost
())));
report
.
getManufacturingCost
().
getApply
().
setAdjustment
(
0
);
report
.
getManufacturingCost
().
getBudgetaryCost
().
setCalculation
(
Double
.
valueOf
(
nf
.
format
(
r
*
totalWorkload
+
reform
.
getApply
().
getCost
())));
Double
totalManey
=
Double
.
valueOf
(
nf
.
format
(
r
*
totalWorkload
+
(
reform
.
getApply
().
getCost
()
==
-
1
?
0
:
reform
.
getApply
().
getCost
())));
report
.
getManufacturingCost
().
getBudgetaryCost
().
setCalculation
(
totalManey
);
report
.
getManufacturingCost
().
getBudgetaryCost
().
setAdjustment
(
Double
.
valueOf
(
nf
.
format
(
r
*
totalWorkload
)));
logger
.
info
(
"人工费:"
+
r
+
"万元"
);
logger
.
info
(
"额外申请"
+(
reform
.
getApply
().
getCost
()==-
1
?
0
:
reform
.
getApply
().
getCost
())+
"万元"
);
logger
.
info
(
"费用总计"
+(
r
*
totalWorkload
+
reform
.
getApply
().
getCost
()));
report
.
setBudget
(
totalManey
.
toString
());
//修正系数+1
//额外申请原因
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论