Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Q
qianhe-ydsj
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiangyun
qianhe-ydsj
Commits
7f825345
Commit
7f825345
authored
Aug 18, 2025
by
wangqi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
规则配置
parent
91bc5fad
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1357 additions
and
91 deletions
+1357
-91
qianhe-ydsj/src/main/java/com/qianhe/controller/SjGfjsDxjczController.java
+104
-0
qianhe-ydsj/src/main/java/com/qianhe/controller/SjGfjsFdgzController.java
+104
-0
qianhe-ydsj/src/main/java/com/qianhe/controller/SjGfjsZsdwkhpjController.java
+99
-2
qianhe-ydsj/src/main/java/com/qianhe/domain/SjGfjsDxjcz.java
+149
-0
qianhe-ydsj/src/main/java/com/qianhe/domain/SjGfjsFdgz.java
+163
-0
qianhe-ydsj/src/main/java/com/qianhe/domain/SjGfjsZsdwkhpjZb.java
+1
-1
qianhe-ydsj/src/main/java/com/qianhe/mapper/SjGfjsDxjczMapper.java
+61
-0
qianhe-ydsj/src/main/java/com/qianhe/mapper/SjGfjsFdgzMapper.java
+61
-0
qianhe-ydsj/src/main/java/com/qianhe/service/ISjGfjsDxjczService.java
+61
-0
qianhe-ydsj/src/main/java/com/qianhe/service/ISjGfjsFdgzService.java
+61
-0
qianhe-ydsj/src/main/java/com/qianhe/service/impl/SjGfjsDxjczServiceImpl.java
+93
-0
qianhe-ydsj/src/main/java/com/qianhe/service/impl/SjGfjsFdgzServiceImpl.java
+93
-0
qianhe-ydsj/src/main/java/com/qianhe/service/impl/SjGfjsZsdwkhpjServiceImpl.java
+110
-80
qianhe-ydsj/src/main/resources/mapper/SjGfjsZsdwkhpjZbMapper.xml
+8
-8
qianhe-ydsj/src/main/resources/mapper/system/SjGfjsDxjczMapper.xml
+92
-0
qianhe-ydsj/src/main/resources/mapper/system/SjGfjsFdgzMapper.xml
+97
-0
No files found.
qianhe-ydsj/src/main/java/com/qianhe/controller/SjGfjsDxjczController.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
controller
;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.qianhe.common.annotation.Log
;
import
com.qianhe.common.core.controller.BaseController
;
import
com.qianhe.common.core.domain.AjaxResult
;
import
com.qianhe.common.enums.BusinessType
;
import
com.qianhe.domain.SjGfjsDxjcz
;
import
com.qianhe.service.ISjGfjsDxjczService
;
import
com.qianhe.common.utils.poi.ExcelUtil
;
import
com.qianhe.common.core.page.TableDataInfo
;
/**
* 单项基础值Controller
*
* @author qianhe
* @date 2025-08-15
*/
@RestController
@RequestMapping
(
"/system/SjGfjsDxjcz"
)
public
class
SjGfjsDxjczController
extends
BaseController
{
@Autowired
private
ISjGfjsDxjczService
sjGfjsDxjczService
;
/**
* 查询单项基础值列表
*/
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
SjGfjsDxjcz
sjGfjsDxjcz
)
{
startPage
();
List
<
SjGfjsDxjcz
>
list
=
sjGfjsDxjczService
.
selectSjGfjsDxjczList
(
sjGfjsDxjcz
);
return
getDataTable
(
list
);
}
/**
* 导出单项基础值列表
*/
@Log
(
title
=
"单项基础值"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
SjGfjsDxjcz
sjGfjsDxjcz
)
{
List
<
SjGfjsDxjcz
>
list
=
sjGfjsDxjczService
.
selectSjGfjsDxjczList
(
sjGfjsDxjcz
);
ExcelUtil
<
SjGfjsDxjcz
>
util
=
new
ExcelUtil
<
SjGfjsDxjcz
>(
SjGfjsDxjcz
.
class
);
util
.
exportExcel
(
response
,
list
,
"单项基础值数据"
);
}
/**
* 获取单项基础值详细信息
*/
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
sjGfjsDxjczService
.
selectSjGfjsDxjczById
(
id
));
}
/**
* 新增单项基础值
*/
@Log
(
title
=
"单项基础值"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
SjGfjsDxjcz
sjGfjsDxjcz
)
{
return
toAjax
(
sjGfjsDxjczService
.
insertSjGfjsDxjcz
(
sjGfjsDxjcz
));
}
/**
* 修改单项基础值
*/
@Log
(
title
=
"单项基础值"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
SjGfjsDxjcz
sjGfjsDxjcz
)
{
return
toAjax
(
sjGfjsDxjczService
.
updateSjGfjsDxjcz
(
sjGfjsDxjcz
));
}
/**
* 删除单项基础值
*/
@Log
(
title
=
"单项基础值"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
sjGfjsDxjczService
.
deleteSjGfjsDxjczByIds
(
ids
));
}
}
qianhe-ydsj/src/main/java/com/qianhe/controller/SjGfjsFdgzController.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
controller
;
import
java.util.List
;
import
javax.servlet.http.HttpServletResponse
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.DeleteMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
com.qianhe.common.annotation.Log
;
import
com.qianhe.common.core.controller.BaseController
;
import
com.qianhe.common.core.domain.AjaxResult
;
import
com.qianhe.common.enums.BusinessType
;
import
com.qianhe.domain.SjGfjsFdgz
;
import
com.qianhe.service.ISjGfjsFdgzService
;
import
com.qianhe.common.utils.poi.ExcelUtil
;
import
com.qianhe.common.core.page.TableDataInfo
;
/**
* 单位分档规则Controller
*
* @author qianhe
* @date 2025-08-15
*/
@RestController
@RequestMapping
(
"/system/SjGfjsFdgz"
)
public
class
SjGfjsFdgzController
extends
BaseController
{
@Autowired
private
ISjGfjsFdgzService
sjGfjsFdgzService
;
/**
* 查询单位分档规则列表
*/
@GetMapping
(
"/list"
)
public
TableDataInfo
list
(
SjGfjsFdgz
sjGfjsFdgz
)
{
startPage
();
List
<
SjGfjsFdgz
>
list
=
sjGfjsFdgzService
.
selectSjGfjsFdgzList
(
sjGfjsFdgz
);
return
getDataTable
(
list
);
}
/**
* 导出单位分档规则列表
*/
@Log
(
title
=
"单位分档规则"
,
businessType
=
BusinessType
.
EXPORT
)
@PostMapping
(
"/export"
)
public
void
export
(
HttpServletResponse
response
,
SjGfjsFdgz
sjGfjsFdgz
)
{
List
<
SjGfjsFdgz
>
list
=
sjGfjsFdgzService
.
selectSjGfjsFdgzList
(
sjGfjsFdgz
);
ExcelUtil
<
SjGfjsFdgz
>
util
=
new
ExcelUtil
<
SjGfjsFdgz
>(
SjGfjsFdgz
.
class
);
util
.
exportExcel
(
response
,
list
,
"单位分档规则数据"
);
}
/**
* 获取单位分档规则详细信息
*/
@GetMapping
(
value
=
"/{id}"
)
public
AjaxResult
getInfo
(
@PathVariable
(
"id"
)
Long
id
)
{
return
success
(
sjGfjsFdgzService
.
selectSjGfjsFdgzById
(
id
));
}
/**
* 新增单位分档规则
*/
@Log
(
title
=
"单位分档规则"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
AjaxResult
add
(
@RequestBody
SjGfjsFdgz
sjGfjsFdgz
)
{
return
toAjax
(
sjGfjsFdgzService
.
insertSjGfjsFdgz
(
sjGfjsFdgz
));
}
/**
* 修改单位分档规则
*/
@Log
(
title
=
"单位分档规则"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
AjaxResult
edit
(
@RequestBody
SjGfjsFdgz
sjGfjsFdgz
)
{
return
toAjax
(
sjGfjsFdgzService
.
updateSjGfjsFdgz
(
sjGfjsFdgz
));
}
/**
* 删除单位分档规则
*/
@Log
(
title
=
"单位分档规则"
,
businessType
=
BusinessType
.
DELETE
)
@DeleteMapping
(
"/{ids}"
)
public
AjaxResult
remove
(
@PathVariable
Long
[]
ids
)
{
return
toAjax
(
sjGfjsFdgzService
.
deleteSjGfjsFdgzByIds
(
ids
));
}
}
qianhe-ydsj/src/main/java/com/qianhe/controller/SjGfjsZsdwkhpjController.java
View file @
7f825345
...
...
@@ -12,8 +12,7 @@ import com.qianhe.common.utils.StringUtils;
import
com.qianhe.domain.*
;
import
com.qianhe.mapper.SjGfjsZdgzMapper
;
import
com.qianhe.mapper.SjGfjsZsdwwtcjMapper
;
import
com.qianhe.service.ISjGfjsZsdwkhpjService
;
import
com.qianhe.service.ISjGfjsZsdwkhpjZbService
;
import
com.qianhe.service.*
;
import
com.qianhe.system.mapper.SysDeptMapper
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.ss.util.CellRangeAddress
;
...
...
@@ -30,6 +29,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.OutputStream
;
import
java.math.BigDecimal
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
...
...
@@ -80,6 +80,17 @@ public class SjGfjsZsdwkhpjController extends BaseController
return
getDataTable
(
list
);
}
// 定义默认的最大值
private
static
final
BigDecimal
DEFAULT_MAX
=
new
BigDecimal
(
"99999"
);
// 定义默认的最小值
private
static
final
BigDecimal
DEFAULT_MIN
=
BigDecimal
.
ZERO
;
@Autowired
private
ISjGfjsZdgzService
sjGfjsZdgzService
;
@Autowired
private
ISjGfjsDxjczService
sjGfjsDxjczService
;
@Autowired
private
ISjGfjsFdgzService
sjGfjsFdgzService
;
/**
* 查询考核评价
* @return
...
...
@@ -116,6 +127,65 @@ public class SjGfjsZsdwkhpjController extends BaseController
List
<
SjGfjsZsdwkhpj
>
sjGfjsZsdwkhpjs
=
sjGfjsZsdwkhpjService
.
selectSjGfjsZsdwkhpjList
(
sjGfjsZsdwkhpj
);
// List<SjGfjsZsdwkhpj>
if
(
sjGfjsZsdwkhpjs
.
size
()<=
0
){
// 查询权重系数,
SjGfjsZdgz
sjGfjsZdgz_qz
=
new
SjGfjsZdgz
();
sjGfjsZdgz_qz
.
setNd
(
nd
);
sjGfjsZdgz_qz
.
setLx
(
"基础"
);
List
<
SjGfjsZdgz
>
qzlist
=
sjGfjsZdgzService
.
selectSjGfjsZdgzList
(
sjGfjsZdgz_qz
);
// 查询基础值,
SjGfjsDxjcz
sjGfjsDxjcz
=
new
SjGfjsDxjcz
();
sjGfjsDxjcz
.
setNd
(
nd
);
List
<
SjGfjsDxjcz
>
jczlist
=
sjGfjsDxjczService
.
selectSjGfjsDxjczList
(
sjGfjsDxjcz
);
Map
<
String
,
BigDecimal
>
jczMap
=
new
HashMap
<>();
for
(
SjGfjsDxjcz
dxjcz
:
jczlist
)
{
try
{
// 将基础值字符串转换为BigDecimal
BigDecimal
jczValue
=
new
BigDecimal
(
dxjcz
.
getJcz
());
jczMap
.
put
(
dxjcz
.
getJb
(),
jczValue
);
}
catch
(
NumberFormatException
e
)
{
throw
new
IllegalArgumentException
(
"基础值格式错误,级别:"
+
dxjcz
.
getJb
()
+
",值:"
+
dxjcz
.
getJcz
(),
e
);
}
}
// 分档规则
SjGfjsFdgz
sjGfjsFdgz
=
new
SjGfjsFdgz
();
sjGfjsFdgz
.
setNd
(
nd
);
List
<
SjGfjsFdgz
>
fdgzlist
=
sjGfjsFdgzService
.
selectSjGfjsFdgzList
(
sjGfjsFdgz
);
// 计算总得分 初始直接照全是A计算
BigDecimal
totalScore
=
BigDecimal
.
ZERO
;
for
(
int
i
=
0
;
i
<
qzlist
.
size
();
i
++){
SjGfjsZdgz
qzxsMap
=
qzlist
.
get
(
i
);
BigDecimal
qzxs
=
new
BigDecimal
(
qzxsMap
.
getKhnrfs
());
// 系数
BigDecimal
baseValue
=
jczMap
.
get
(
"A"
);
// 计算单项得分并累加
BigDecimal
itemScore
=
qzxs
.
multiply
(
baseValue
);
totalScore
=
totalScore
.
add
(
itemScore
);
}
// 计算单位分档级别
String
fdjb
=
"未知"
;
for
(
SjGfjsFdgz
fdgz
:
fdgzlist
)
{
// 处理最小基础值(null或空字符串视为0)
BigDecimal
minJcz
=
DEFAULT_MIN
;
String
minStr
=
fdgz
.
getMinjcz
();
if
(
minStr
!=
null
&&
!
minStr
.
trim
().
isEmpty
())
{
minJcz
=
new
BigDecimal
(
minStr
.
trim
());
}
// 处理最大基础值(null或空字符串视为99999)
BigDecimal
maxJcz
=
DEFAULT_MAX
;
String
maxStr
=
fdgz
.
getMaxjcz
();
if
(
maxStr
!=
null
&&
!
maxStr
.
trim
().
isEmpty
())
{
maxJcz
=
new
BigDecimal
(
maxStr
.
trim
());
}
// 检查总分是否在当前分档的范围内(包含边界值)
// 比较规则:minJcz ≤ totalScore < maxJcz
if
(
totalScore
.
compareTo
(
minJcz
)
>=
0
&&
totalScore
.
compareTo
(
maxJcz
)
<
0
)
{
fdjb
=
fdgz
.
getJb
();
// 返回匹配的级别
}
}
//查询主表信息
SjGfjsZsdwkhpjZb
sjGfjsZsdwkhpjZb
=
new
SjGfjsZsdwkhpjZb
();
sjGfjsZsdwkhpjZb
.
setNd
(
nd
);
...
...
@@ -134,6 +204,9 @@ public class SjGfjsZsdwkhpjController extends BaseController
sjGfjsZsdwkhpjZbnew
.
setDeptLx
(
dept
.
getDeptLx
());
sjGfjsZsdwkhpjZbnew
.
setDeptYwfl
(
dept
.
getDeptYwfl
());
sjGfjsZsdwkhpjZbnew
.
setZt
(
"0"
);
//未提交
sjGfjsZsdwkhpjZbnew
.
setZdf
(
totalScore
);
sjGfjsZsdwkhpjZbnew
.
setZhdf
(
totalScore
);
sjGfjsZsdwkhpjZbnew
.
setFdjb
(
fdjb
);
sjGfjsZsdwkhpjZbService
.
insertSjGfjsZsdwkhpjZb
(
sjGfjsZsdwkhpjZbnew
);
}
...
...
@@ -192,11 +265,13 @@ public class SjGfjsZsdwkhpjController extends BaseController
zb_qry
.
setZqfw
(
sjGfjsZsdwkhpj
.
getZqfw
());
SjGfjsZsdwkhpjZb
zb
=
sjGfjsZsdwkhpjZbService
.
selectSjGfjsZsdwkhpjZb
(
zb_qry
);
String
zt
=
zb
.
getZt
();
String
fdjb
=
zb
.
getFdjb
();
map
.
put
(
"code"
,
HttpStatus
.
SUCCESS
);
map
.
put
(
"msg"
,
"查询成功"
);
map
.
put
(
"khpjData"
,
resjGfjsZsdwkhpjs
);
map
.
put
(
"zt"
,
zt
);
map
.
put
(
"fdjb"
,
fdjb
);
return
map
;
}
...
...
@@ -454,4 +529,26 @@ public class SjGfjsZsdwkhpjController extends BaseController
}
return
AjaxResult
.
success
(
"导入成功"
);
}
/**
* 查询直属单位分档考核结果
*/
@GetMapping
(
"/fdjgList"
)
public
TableDataInfo
fdjgList
(
SjGfjsZsdwkhpjZb
sjGfjsZsdwkhpjZb
)
{
sjGfjsZsdwkhpjZb
.
setZt
(
"1"
);
sjGfjsZsdwkhpjZb
.
setJb
(
"直属单位"
);
List
<
SjGfjsZsdwkhpjZb
>
list
=
sjGfjsZsdwkhpjZbService
.
selectSjGfjsZsdwkhpjZbList
(
sjGfjsZsdwkhpjZb
);
return
getDataTable
(
list
);
}
@PutMapping
(
"/editZsdwPm"
)
public
AjaxResult
edit
(
@RequestBody
SjGfjsZsdwkhpjZb
sjGfjsZsdwkhpjZbnew
)
{
return
toAjax
(
sjGfjsZsdwkhpjZbService
.
updateSjGfjsZsdwkhpjZb
(
sjGfjsZsdwkhpjZbnew
));
}
}
qianhe-ydsj/src/main/java/com/qianhe/domain/SjGfjsDxjcz.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
domain
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.qianhe.common.annotation.Excel
;
import
com.qianhe.common.core.domain.BaseEntity
;
/**
* 单项基础值对象 sj_gfjs_dxjcz
*
* @author qianhe
* @date 2025-08-15
*/
public
class
SjGfjsDxjcz
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 主键 */
private
Long
id
;
/** 年度 */
@Excel
(
name
=
"年度"
)
private
String
nd
;
/** 级别 */
@Excel
(
name
=
"级别"
)
private
String
jb
;
/** 基础值 */
@Excel
(
name
=
"基础值"
)
private
String
jcz
;
/** 预留1 */
@Excel
(
name
=
"预留1"
)
private
String
yl1
;
/** 预留2 */
@Excel
(
name
=
"预留2"
)
private
String
yl2
;
/** 预留3 */
@Excel
(
name
=
"预留3"
)
private
String
yl3
;
/** 预留4 */
@Excel
(
name
=
"预留4"
)
private
String
yl4
;
/** 预留5 */
@Excel
(
name
=
"预留5"
)
private
String
yl5
;
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getId
()
{
return
id
;
}
public
void
setNd
(
String
nd
)
{
this
.
nd
=
nd
;
}
public
String
getNd
()
{
return
nd
;
}
public
void
setJb
(
String
jb
)
{
this
.
jb
=
jb
;
}
public
String
getJb
()
{
return
jb
;
}
public
void
setJcz
(
String
jcz
)
{
this
.
jcz
=
jcz
;
}
public
String
getJcz
()
{
return
jcz
;
}
public
void
setYl1
(
String
yl1
)
{
this
.
yl1
=
yl1
;
}
public
String
getYl1
()
{
return
yl1
;
}
public
void
setYl2
(
String
yl2
)
{
this
.
yl2
=
yl2
;
}
public
String
getYl2
()
{
return
yl2
;
}
public
void
setYl3
(
String
yl3
)
{
this
.
yl3
=
yl3
;
}
public
String
getYl3
()
{
return
yl3
;
}
public
void
setYl4
(
String
yl4
)
{
this
.
yl4
=
yl4
;
}
public
String
getYl4
()
{
return
yl4
;
}
public
void
setYl5
(
String
yl5
)
{
this
.
yl5
=
yl5
;
}
public
String
getYl5
()
{
return
yl5
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"nd"
,
getNd
())
.
append
(
"jb"
,
getJb
())
.
append
(
"jcz"
,
getJcz
())
.
append
(
"yl1"
,
getYl1
())
.
append
(
"yl2"
,
getYl2
())
.
append
(
"yl3"
,
getYl3
())
.
append
(
"yl4"
,
getYl4
())
.
append
(
"yl5"
,
getYl5
())
.
toString
();
}
}
qianhe-ydsj/src/main/java/com/qianhe/domain/SjGfjsFdgz.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
domain
;
import
org.apache.commons.lang3.builder.ToStringBuilder
;
import
org.apache.commons.lang3.builder.ToStringStyle
;
import
com.qianhe.common.annotation.Excel
;
import
com.qianhe.common.core.domain.BaseEntity
;
/**
* 单位分档规则对象 sj_gfjs_fdgz
*
* @author qianhe
* @date 2025-08-15
*/
public
class
SjGfjsFdgz
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
1L
;
/** 主键 */
private
Long
id
;
/** 年度 */
@Excel
(
name
=
"年度"
)
private
String
nd
;
/** 级别 */
@Excel
(
name
=
"级别"
)
private
String
jb
;
/** 最小基础值 */
@Excel
(
name
=
"最小基础值"
)
private
String
minjcz
;
/** 预留1 */
@Excel
(
name
=
"预留1"
)
private
String
yl1
;
/** 预留2 */
@Excel
(
name
=
"预留2"
)
private
String
yl2
;
/** 预留3 */
@Excel
(
name
=
"预留3"
)
private
String
yl3
;
/** 预留4 */
@Excel
(
name
=
"预留4"
)
private
String
yl4
;
/** 预留5 */
@Excel
(
name
=
"预留5"
)
private
String
yl5
;
/** 最大基础值 */
@Excel
(
name
=
"最大基础值"
)
private
String
maxjcz
;
public
void
setId
(
Long
id
)
{
this
.
id
=
id
;
}
public
Long
getId
()
{
return
id
;
}
public
void
setNd
(
String
nd
)
{
this
.
nd
=
nd
;
}
public
String
getNd
()
{
return
nd
;
}
public
void
setJb
(
String
jb
)
{
this
.
jb
=
jb
;
}
public
String
getJb
()
{
return
jb
;
}
public
void
setMinjcz
(
String
minjcz
)
{
this
.
minjcz
=
minjcz
;
}
public
String
getMinjcz
()
{
return
minjcz
;
}
public
void
setYl1
(
String
yl1
)
{
this
.
yl1
=
yl1
;
}
public
String
getYl1
()
{
return
yl1
;
}
public
void
setYl2
(
String
yl2
)
{
this
.
yl2
=
yl2
;
}
public
String
getYl2
()
{
return
yl2
;
}
public
void
setYl3
(
String
yl3
)
{
this
.
yl3
=
yl3
;
}
public
String
getYl3
()
{
return
yl3
;
}
public
void
setYl4
(
String
yl4
)
{
this
.
yl4
=
yl4
;
}
public
String
getYl4
()
{
return
yl4
;
}
public
void
setYl5
(
String
yl5
)
{
this
.
yl5
=
yl5
;
}
public
String
getYl5
()
{
return
yl5
;
}
public
void
setMaxjcz
(
String
maxjcz
)
{
this
.
maxjcz
=
maxjcz
;
}
public
String
getMaxjcz
()
{
return
maxjcz
;
}
@Override
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
.
append
(
"id"
,
getId
())
.
append
(
"nd"
,
getNd
())
.
append
(
"jb"
,
getJb
())
.
append
(
"minjcz"
,
getMinjcz
())
.
append
(
"yl1"
,
getYl1
())
.
append
(
"yl2"
,
getYl2
())
.
append
(
"yl3"
,
getYl3
())
.
append
(
"yl4"
,
getYl4
())
.
append
(
"yl5"
,
getYl5
())
.
append
(
"maxjcz"
,
getMaxjcz
())
.
toString
();
}
}
qianhe-ydsj/src/main/java/com/qianhe/domain/SjGfjsZsdwkhpjZb.java
View file @
7f825345
...
...
@@ -183,7 +183,7 @@ public class SjGfjsZsdwkhpjZb extends BaseEntity
/**
* 排名
*/
private
String
pm
;
private
int
pm
;
/**
* 状态 0 未提交 1 已提交
*/
...
...
qianhe-ydsj/src/main/java/com/qianhe/mapper/SjGfjsDxjczMapper.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
mapper
;
import
java.util.List
;
import
com.qianhe.domain.SjGfjsDxjcz
;
/**
* 单项基础值Mapper接口
*
* @author qianhe
* @date 2025-08-15
*/
public
interface
SjGfjsDxjczMapper
{
/**
* 查询单项基础值
*
* @param id 单项基础值主键
* @return 单项基础值
*/
public
SjGfjsDxjcz
selectSjGfjsDxjczById
(
Long
id
);
/**
* 查询单项基础值列表
*
* @param sjGfjsDxjcz 单项基础值
* @return 单项基础值集合
*/
public
List
<
SjGfjsDxjcz
>
selectSjGfjsDxjczList
(
SjGfjsDxjcz
sjGfjsDxjcz
);
/**
* 新增单项基础值
*
* @param sjGfjsDxjcz 单项基础值
* @return 结果
*/
public
int
insertSjGfjsDxjcz
(
SjGfjsDxjcz
sjGfjsDxjcz
);
/**
* 修改单项基础值
*
* @param sjGfjsDxjcz 单项基础值
* @return 结果
*/
public
int
updateSjGfjsDxjcz
(
SjGfjsDxjcz
sjGfjsDxjcz
);
/**
* 删除单项基础值
*
* @param id 单项基础值主键
* @return 结果
*/
public
int
deleteSjGfjsDxjczById
(
Long
id
);
/**
* 批量删除单项基础值
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deleteSjGfjsDxjczByIds
(
Long
[]
ids
);
}
qianhe-ydsj/src/main/java/com/qianhe/mapper/SjGfjsFdgzMapper.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
mapper
;
import
java.util.List
;
import
com.qianhe.domain.SjGfjsFdgz
;
/**
* 单位分档规则Mapper接口
*
* @author qianhe
* @date 2025-08-15
*/
public
interface
SjGfjsFdgzMapper
{
/**
* 查询单位分档规则
*
* @param id 单位分档规则主键
* @return 单位分档规则
*/
public
SjGfjsFdgz
selectSjGfjsFdgzById
(
Long
id
);
/**
* 查询单位分档规则列表
*
* @param sjGfjsFdgz 单位分档规则
* @return 单位分档规则集合
*/
public
List
<
SjGfjsFdgz
>
selectSjGfjsFdgzList
(
SjGfjsFdgz
sjGfjsFdgz
);
/**
* 新增单位分档规则
*
* @param sjGfjsFdgz 单位分档规则
* @return 结果
*/
public
int
insertSjGfjsFdgz
(
SjGfjsFdgz
sjGfjsFdgz
);
/**
* 修改单位分档规则
*
* @param sjGfjsFdgz 单位分档规则
* @return 结果
*/
public
int
updateSjGfjsFdgz
(
SjGfjsFdgz
sjGfjsFdgz
);
/**
* 删除单位分档规则
*
* @param id 单位分档规则主键
* @return 结果
*/
public
int
deleteSjGfjsFdgzById
(
Long
id
);
/**
* 批量删除单位分档规则
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public
int
deleteSjGfjsFdgzByIds
(
Long
[]
ids
);
}
qianhe-ydsj/src/main/java/com/qianhe/service/ISjGfjsDxjczService.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
service
;
import
java.util.List
;
import
com.qianhe.domain.SjGfjsDxjcz
;
/**
* 单项基础值Service接口
*
* @author qianhe
* @date 2025-08-15
*/
public
interface
ISjGfjsDxjczService
{
/**
* 查询单项基础值
*
* @param id 单项基础值主键
* @return 单项基础值
*/
public
SjGfjsDxjcz
selectSjGfjsDxjczById
(
Long
id
);
/**
* 查询单项基础值列表
*
* @param sjGfjsDxjcz 单项基础值
* @return 单项基础值集合
*/
public
List
<
SjGfjsDxjcz
>
selectSjGfjsDxjczList
(
SjGfjsDxjcz
sjGfjsDxjcz
);
/**
* 新增单项基础值
*
* @param sjGfjsDxjcz 单项基础值
* @return 结果
*/
public
int
insertSjGfjsDxjcz
(
SjGfjsDxjcz
sjGfjsDxjcz
);
/**
* 修改单项基础值
*
* @param sjGfjsDxjcz 单项基础值
* @return 结果
*/
public
int
updateSjGfjsDxjcz
(
SjGfjsDxjcz
sjGfjsDxjcz
);
/**
* 批量删除单项基础值
*
* @param ids 需要删除的单项基础值主键集合
* @return 结果
*/
public
int
deleteSjGfjsDxjczByIds
(
Long
[]
ids
);
/**
* 删除单项基础值信息
*
* @param id 单项基础值主键
* @return 结果
*/
public
int
deleteSjGfjsDxjczById
(
Long
id
);
}
qianhe-ydsj/src/main/java/com/qianhe/service/ISjGfjsFdgzService.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
service
;
import
java.util.List
;
import
com.qianhe.domain.SjGfjsFdgz
;
/**
* 单位分档规则Service接口
*
* @author qianhe
* @date 2025-08-15
*/
public
interface
ISjGfjsFdgzService
{
/**
* 查询单位分档规则
*
* @param id 单位分档规则主键
* @return 单位分档规则
*/
public
SjGfjsFdgz
selectSjGfjsFdgzById
(
Long
id
);
/**
* 查询单位分档规则列表
*
* @param sjGfjsFdgz 单位分档规则
* @return 单位分档规则集合
*/
public
List
<
SjGfjsFdgz
>
selectSjGfjsFdgzList
(
SjGfjsFdgz
sjGfjsFdgz
);
/**
* 新增单位分档规则
*
* @param sjGfjsFdgz 单位分档规则
* @return 结果
*/
public
int
insertSjGfjsFdgz
(
SjGfjsFdgz
sjGfjsFdgz
);
/**
* 修改单位分档规则
*
* @param sjGfjsFdgz 单位分档规则
* @return 结果
*/
public
int
updateSjGfjsFdgz
(
SjGfjsFdgz
sjGfjsFdgz
);
/**
* 批量删除单位分档规则
*
* @param ids 需要删除的单位分档规则主键集合
* @return 结果
*/
public
int
deleteSjGfjsFdgzByIds
(
Long
[]
ids
);
/**
* 删除单位分档规则信息
*
* @param id 单位分档规则主键
* @return 结果
*/
public
int
deleteSjGfjsFdgzById
(
Long
id
);
}
qianhe-ydsj/src/main/java/com/qianhe/service/impl/SjGfjsDxjczServiceImpl.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
service
.
impl
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.qianhe.mapper.SjGfjsDxjczMapper
;
import
com.qianhe.domain.SjGfjsDxjcz
;
import
com.qianhe.service.ISjGfjsDxjczService
;
/**
* 单项基础值Service业务层处理
*
* @author qianhe
* @date 2025-08-15
*/
@Service
public
class
SjGfjsDxjczServiceImpl
implements
ISjGfjsDxjczService
{
@Autowired
private
SjGfjsDxjczMapper
sjGfjsDxjczMapper
;
/**
* 查询单项基础值
*
* @param id 单项基础值主键
* @return 单项基础值
*/
@Override
public
SjGfjsDxjcz
selectSjGfjsDxjczById
(
Long
id
)
{
return
sjGfjsDxjczMapper
.
selectSjGfjsDxjczById
(
id
);
}
/**
* 查询单项基础值列表
*
* @param sjGfjsDxjcz 单项基础值
* @return 单项基础值
*/
@Override
public
List
<
SjGfjsDxjcz
>
selectSjGfjsDxjczList
(
SjGfjsDxjcz
sjGfjsDxjcz
)
{
return
sjGfjsDxjczMapper
.
selectSjGfjsDxjczList
(
sjGfjsDxjcz
);
}
/**
* 新增单项基础值
*
* @param sjGfjsDxjcz 单项基础值
* @return 结果
*/
@Override
public
int
insertSjGfjsDxjcz
(
SjGfjsDxjcz
sjGfjsDxjcz
)
{
return
sjGfjsDxjczMapper
.
insertSjGfjsDxjcz
(
sjGfjsDxjcz
);
}
/**
* 修改单项基础值
*
* @param sjGfjsDxjcz 单项基础值
* @return 结果
*/
@Override
public
int
updateSjGfjsDxjcz
(
SjGfjsDxjcz
sjGfjsDxjcz
)
{
return
sjGfjsDxjczMapper
.
updateSjGfjsDxjcz
(
sjGfjsDxjcz
);
}
/**
* 批量删除单项基础值
*
* @param ids 需要删除的单项基础值主键
* @return 结果
*/
@Override
public
int
deleteSjGfjsDxjczByIds
(
Long
[]
ids
)
{
return
sjGfjsDxjczMapper
.
deleteSjGfjsDxjczByIds
(
ids
);
}
/**
* 删除单项基础值信息
*
* @param id 单项基础值主键
* @return 结果
*/
@Override
public
int
deleteSjGfjsDxjczById
(
Long
id
)
{
return
sjGfjsDxjczMapper
.
deleteSjGfjsDxjczById
(
id
);
}
}
qianhe-ydsj/src/main/java/com/qianhe/service/impl/SjGfjsFdgzServiceImpl.java
0 → 100644
View file @
7f825345
package
com
.
qianhe
.
service
.
impl
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.qianhe.mapper.SjGfjsFdgzMapper
;
import
com.qianhe.domain.SjGfjsFdgz
;
import
com.qianhe.service.ISjGfjsFdgzService
;
/**
* 单位分档规则Service业务层处理
*
* @author qianhe
* @date 2025-08-15
*/
@Service
public
class
SjGfjsFdgzServiceImpl
implements
ISjGfjsFdgzService
{
@Autowired
private
SjGfjsFdgzMapper
sjGfjsFdgzMapper
;
/**
* 查询单位分档规则
*
* @param id 单位分档规则主键
* @return 单位分档规则
*/
@Override
public
SjGfjsFdgz
selectSjGfjsFdgzById
(
Long
id
)
{
return
sjGfjsFdgzMapper
.
selectSjGfjsFdgzById
(
id
);
}
/**
* 查询单位分档规则列表
*
* @param sjGfjsFdgz 单位分档规则
* @return 单位分档规则
*/
@Override
public
List
<
SjGfjsFdgz
>
selectSjGfjsFdgzList
(
SjGfjsFdgz
sjGfjsFdgz
)
{
return
sjGfjsFdgzMapper
.
selectSjGfjsFdgzList
(
sjGfjsFdgz
);
}
/**
* 新增单位分档规则
*
* @param sjGfjsFdgz 单位分档规则
* @return 结果
*/
@Override
public
int
insertSjGfjsFdgz
(
SjGfjsFdgz
sjGfjsFdgz
)
{
return
sjGfjsFdgzMapper
.
insertSjGfjsFdgz
(
sjGfjsFdgz
);
}
/**
* 修改单位分档规则
*
* @param sjGfjsFdgz 单位分档规则
* @return 结果
*/
@Override
public
int
updateSjGfjsFdgz
(
SjGfjsFdgz
sjGfjsFdgz
)
{
return
sjGfjsFdgzMapper
.
updateSjGfjsFdgz
(
sjGfjsFdgz
);
}
/**
* 批量删除单位分档规则
*
* @param ids 需要删除的单位分档规则主键
* @return 结果
*/
@Override
public
int
deleteSjGfjsFdgzByIds
(
Long
[]
ids
)
{
return
sjGfjsFdgzMapper
.
deleteSjGfjsFdgzByIds
(
ids
);
}
/**
* 删除单位分档规则信息
*
* @param id 单位分档规则主键
* @return 结果
*/
@Override
public
int
deleteSjGfjsFdgzById
(
Long
id
)
{
return
sjGfjsFdgzMapper
.
deleteSjGfjsFdgzById
(
id
);
}
}
qianhe-ydsj/src/main/java/com/qianhe/service/impl/SjGfjsZsdwkhpjServiceImpl.java
View file @
7f825345
...
...
@@ -6,10 +6,12 @@ import com.qianhe.common.core.domain.entity.SysDictData;
import
com.qianhe.common.utils.DateUtils
;
import
com.qianhe.common.utils.SecurityUtils
;
import
com.qianhe.common.utils.StringUtils
;
import
com.qianhe.domain.SjGfjsZsdwkhpj
;
import
com.qianhe.domain.SjGfjsZsdwkhpjZb
;
import
com.qianhe.domain.*
;
import
com.qianhe.mapper.SjGfjsZsdwkhpjMapper
;
import
com.qianhe.mapper.SjGfjsZsdwkhpjZbMapper
;
import
com.qianhe.service.ISjGfjsDxjczService
;
import
com.qianhe.service.ISjGfjsFdgzService
;
import
com.qianhe.service.ISjGfjsZdgzService
;
import
com.qianhe.service.ISjGfjsZsdwkhpjService
;
import
com.qianhe.system.mapper.SysDeptMapper
;
import
com.qianhe.system.mapper.SysDictDataMapper
;
...
...
@@ -17,7 +19,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
...
...
@@ -122,92 +126,118 @@ public class SjGfjsZsdwkhpjServiceImpl implements ISjGfjsZsdwkhpjService
return
sjGfjsZsdwkhpjMapper
.
batchSave
(
addList
);
}
@Autowired
private
ISjGfjsZdgzService
sjGfjsZdgzService
;
@Autowired
private
ISjGfjsDxjczService
sjGfjsDxjczService
;
@Autowired
private
ISjGfjsFdgzService
sjGfjsFdgzService
;
// 定义默认的最大值
private
static
final
BigDecimal
DEFAULT_MAX
=
new
BigDecimal
(
"99999"
);
// 定义默认的最小值
private
static
final
BigDecimal
DEFAULT_MIN
=
BigDecimal
.
ZERO
;
@Override
public
int
pledit
(
List
<
SjGfjsZsdwkhpj
>
list
)
{
//计算分数
SjGfjsZsdwkhpj
sjGfjsZsdwkhpj
=
list
.
get
(
0
);
SjGfjsZsdwkhpjZb
sjGfjsZsdwkhpjZb
=
sjGfjsZsdwkhpjZbMapper
.
selectSjGfjsZsdwkhpjZbById
(
sjGfjsZsdwkhpj
.
getZbId
());
SysDept
dept
=
sysDeptMapper
.
selectDeptById
(
sjGfjsZsdwkhpjZb
.
getDeptId
());
Map
<
String
,
List
<
SjGfjsZsdwkhpj
>>
stringListMap
=
list
.
stream
().
collect
(
Collectors
.
groupingBy
(
SjGfjsZsdwkhpj:
:
getKhnr
));
List
<
SysDictData
>
GfjsKhnr
=
sysDictDataMapper
.
selectDictDataByType
(
"gfjs_sslj"
);
for
(
SysDictData
data:
GfjsKhnr
){
String
dictValue
=
data
.
getDictValue
();
List
<
SjGfjsZsdwkhpj
>
sjGfjsZsdwkhpjs
=
stringListMap
.
get
(
data
.
getDictValue
());
//计算分数
List
<
Double
>
doubleList
=
new
ArrayList
<>();
if
(
sjGfjsZsdwkhpjs
==
null
){
continue
;
}
// sjGfjsZsdwkhpjs.forEach(item->{
// if(StringUtils.isEmpty(item.getKhfz())){
// item.setKhfz("0");
// }
// doubleList.add(Double.parseDouble(item.getKhfz()));
// });
// double kf = doubleList.stream().mapToDouble(Double::doubleValue).sum();
// if("党建引领".equals(dictValue)){
// //扣分
// sjGfjsZsdwkhpjZb.setDjyjkfs(new BigDecimal(kf));
// //扣分比列
// BigDecimal df = sjGfjsZsdwkhpjZb.getDjyjzfs().add(new BigDecimal(kf));
// BigDecimal kfbl =df.divide(sjGfjsZsdwkhpjZb.getDjyjzfs(),4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
// sjGfjsZsdwkhpjZb.setDjyjkfbl(new BigDecimal(100).subtract(kfbl));
// //得分
// sjGfjsZsdwkhpjZb.setDjyjdf(df);
//
//
// } else if ("素质提升".equals(dictValue)) {
////扣分
// sjGfjsZsdwkhpjZb.setSztskfs(new BigDecimal(kf));
// //扣分比列
// BigDecimal df = sjGfjsZsdwkhpjZb.getSztszfs().add(new BigDecimal(kf));
// BigDecimal kfbl =df.divide(sjGfjsZsdwkhpjZb.getSztszfs(),4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
// sjGfjsZsdwkhpjZb.setSztsfbl(new BigDecimal(100).subtract(kfbl));
// //得分
// sjGfjsZsdwkhpjZb.setSztsdf(df);
// } else if ("管理精益".equals(dictValue)) {
// sjGfjsZsdwkhpjZb.setGlgfkfs(new BigDecimal(kf));
// //扣分比列
// BigDecimal df = sjGfjsZsdwkhpjZb.getGlgfzfs().add(new BigDecimal(kf));
// BigDecimal kfbl =df.divide(sjGfjsZsdwkhpjZb.getGlgfzfs(),4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
// sjGfjsZsdwkhpjZb.setGlgfbl(new BigDecimal(100).subtract(kfbl));
// //得分
// sjGfjsZsdwkhpjZb.setGlgfdf(df);
// } else if ("业务创效".equals(dictValue)) {
// sjGfjsZsdwkhpjZb.setYwcxkfs(new BigDecimal(kf));
// //扣分比列
// BigDecimal df = sjGfjsZsdwkhpjZb.getYwcxzfs().add(new BigDecimal(kf));
// BigDecimal kfbl =df.divide(sjGfjsZsdwkhpjZb.getYwcxzfs(),4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
// sjGfjsZsdwkhpjZb.setYwcxbl(new BigDecimal(100).subtract(kfbl));
// //得分
// sjGfjsZsdwkhpjZb.setYwcxdf(df);
// }
//
// }
//
// BigDecimal sum = sjGfjsZsdwkhpjZb.getDjyjzfs().add(sjGfjsZsdwkhpjZb.getSztszfs()).add(sjGfjsZsdwkhpjZb.getGlgfzfs()).add(sjGfjsZsdwkhpjZb.getYwcxzfs());
// //总得分
// BigDecimal sunfs = sjGfjsZsdwkhpjZb.getDjyjdf().add(sjGfjsZsdwkhpjZb.getSztsdf()).add(sjGfjsZsdwkhpjZb.getGlgfdf()).add(sjGfjsZsdwkhpjZb.getYwcxdf());
// sjGfjsZsdwkhpjZb.setZdf(sunfs);
// //总扣分
// sjGfjsZsdwkhpjZb.setZkf(sum.subtract(sunfs));
// //总扣分比例
// BigDecimal bigDecimal = sunfs.divide(sum,4,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_HALF_UP);
// sjGfjsZsdwkhpjZb.setZkfbl(new BigDecimal(100).subtract(bigDecimal));
// //综合得分
// String deptDfl = dept.getDeptDfl();
// if(StringUtils.isNotEmpty(deptDfl)){
// if ("B类".equals(deptDfl)) {
// sjGfjsZsdwkhpjZb.setZhdf( sunfs.multiply(new BigDecimal(0.9)).setScale(2, BigDecimal.ROUND_HALF_UP));
// }else if ("C类".equals(deptDfl)) {
// sjGfjsZsdwkhpjZb.setZhdf( sunfs.multiply(new BigDecimal(0.85)).setScale(2, BigDecimal.ROUND_HALF_UP));
// }else {
// sjGfjsZsdwkhpjZb.setZhdf(sunfs);
// }
String
nd
=
sjGfjsZsdwkhpjZb
.
getNd
();
// 查询权重系数,
SjGfjsZdgz
sjGfjsZdgz_qz
=
new
SjGfjsZdgz
();
sjGfjsZdgz_qz
.
setNd
(
nd
);
sjGfjsZdgz_qz
.
setLx
(
"基础"
);
List
<
SjGfjsZdgz
>
qzlist
=
sjGfjsZdgzService
.
selectSjGfjsZdgzList
(
sjGfjsZdgz_qz
);
// 查询基础值,
SjGfjsDxjcz
sjGfjsDxjcz
=
new
SjGfjsDxjcz
();
sjGfjsDxjcz
.
setNd
(
nd
);
List
<
SjGfjsDxjcz
>
jczlist
=
sjGfjsDxjczService
.
selectSjGfjsDxjczList
(
sjGfjsDxjcz
);
Map
<
String
,
BigDecimal
>
jczMap
=
new
HashMap
<>();
for
(
SjGfjsDxjcz
dxjcz
:
jczlist
)
{
try
{
// 将基础值字符串转换为BigDecimal
BigDecimal
jczValue
=
new
BigDecimal
(
dxjcz
.
getJcz
());
jczMap
.
put
(
dxjcz
.
getJb
(),
jczValue
);
}
catch
(
NumberFormatException
e
)
{
throw
new
IllegalArgumentException
(
"基础值格式错误,级别:"
+
dxjcz
.
getJb
()
+
",值:"
+
dxjcz
.
getJcz
(),
e
);
}
}
// 分档规则
SjGfjsFdgz
sjGfjsFdgz
=
new
SjGfjsFdgz
();
sjGfjsFdgz
.
setNd
(
nd
);
List
<
SjGfjsFdgz
>
fdgzlist
=
sjGfjsFdgzService
.
selectSjGfjsFdgzList
(
sjGfjsFdgz
);
// 计算总得分
BigDecimal
totalScore
=
BigDecimal
.
ZERO
;
for
(
int
i
=
0
;
i
<
qzlist
.
size
();
i
++){
SjGfjsZdgz
qzxsMap
=
qzlist
.
get
(
i
);
BigDecimal
qzxs
=
new
BigDecimal
(
qzxsMap
.
getKhnrfs
());
// 系数
String
khxd
=
qzxsMap
.
getKhxd
();
List
<
SjGfjsZsdwkhpj
>
filteredDetails
=
list
.
stream
().
filter
(
item
->
khxd
.
equals
(
item
.
getKhxd
())).
collect
(
Collectors
.
toList
());
// 计算小项得分总和
BigDecimal
xmTotal
=
BigDecimal
.
ZERO
;
int
validCount
=
0
;
for
(
SjGfjsZsdwkhpj
detail
:
filteredDetails
)
{
String
khfz
=
detail
.
getKhfz
();
// 小项ABCD结果
BigDecimal
jcz
=
jczMap
.
get
(
khfz
);
xmTotal
=
xmTotal
.
add
(
jcz
);
validCount
++;
}
// 计算小项平均分(如果没有有效小项,得分为0)
BigDecimal
avgScore
=
BigDecimal
.
ZERO
;
if
(
validCount
>
0
)
{
avgScore
=
xmTotal
.
divide
(
new
BigDecimal
(
validCount
),
2
,
RoundingMode
.
HALF_UP
);
}
// 计算单项得分并累加
BigDecimal
itemScore
=
qzxs
.
multiply
(
avgScore
);
totalScore
=
totalScore
.
add
(
itemScore
);
}
// 计算单位分档级别
String
fdjb
=
"未知"
;
for
(
SjGfjsFdgz
fdgz
:
fdgzlist
)
{
// 处理最小基础值(null或空字符串视为0)
BigDecimal
minJcz
=
DEFAULT_MIN
;
String
minStr
=
fdgz
.
getMinjcz
();
if
(
minStr
!=
null
&&
!
minStr
.
trim
().
isEmpty
())
{
minJcz
=
new
BigDecimal
(
minStr
.
trim
());
}
// 处理最大基础值(null或空字符串视为99999)
BigDecimal
maxJcz
=
DEFAULT_MAX
;
String
maxStr
=
fdgz
.
getMaxjcz
();
if
(
maxStr
!=
null
&&
!
maxStr
.
trim
().
isEmpty
())
{
maxJcz
=
new
BigDecimal
(
maxStr
.
trim
());
}
// 检查总分是否在当前分档的范围内(包含边界值)
// 比较规则:minJcz ≤ totalScore < maxJcz
if
(
totalScore
.
compareTo
(
minJcz
)
>=
0
&&
totalScore
.
compareTo
(
maxJcz
)
<
0
)
{
fdjb
=
fdgz
.
getJb
();
// 返回匹配的级别
}
}
sjGfjsZsdwkhpjZb
.
setZdf
(
totalScore
);
sjGfjsZsdwkhpjZb
.
setZhdf
(
totalScore
);
sjGfjsZsdwkhpjZb
.
setFdjb
(
fdjb
);
//更新主表
sjGfjsZsdwkhpjZbMapper
.
updateSjGfjsZsdwkhpjZb
(
sjGfjsZsdwkhpjZb
);
return
sjGfjsZsdwkhpjMapper
.
pledit
(
list
);
//更新详情
int
mxint
=
sjGfjsZsdwkhpjMapper
.
pledit
(
list
);
// 更新本单位的排名
/* String zqfw = sjGfjsZsdwkhpjZb.getZqfw(); // "上半年、全年"
String zqlx = sjGfjsZsdwkhpjZb.getZqlx(); // 半年度
String jb = sjGfjsZsdwkhpjZb.getJb(); // 直属单位
Long parentid = sjGfjsZsdwkhpjZb.getParentDeptId(); // 上级单位*/
return
mxint
;
}
public
static
void
main
(
String
[]
args
)
{
...
...
qianhe-ydsj/src/main/resources/mapper/SjGfjsZsdwkhpjZbMapper.xml
View file @
7f825345
...
...
@@ -105,13 +105,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include
refid=
"selectSjGfjsZsdwkhpjZbVo"
/>
<where>
<if
test=
"deptId != null "
>
and (a.dept_id = #{deptId} or find_in_set(#{deptId},d.ancestors))
</if>
<if
test=
"parentDeptId != null "
>
and parent_dept_id = #{parentDeptId}
</if>
<if
test=
"nd != null and nd != ''"
>
and nd = #{nd}
</if>
<if
test=
"zqfw != null and zqfw != ''"
>
and zqfw = #{zqfw}
</if>
<if
test=
"zqlx != null and zqlx != ''"
>
and zqlx = #{zqlx}
</if>
<if
test=
"jb != null and jb != ''"
>
and jb = #{jb}
</if>
<if
test=
"parentDeptId != null "
>
and
a.
parent_dept_id = #{parentDeptId}
</if>
<if
test=
"nd != null and nd != ''"
>
and
a.
nd = #{nd}
</if>
<if
test=
"zqfw != null and zqfw != ''"
>
and
a.
zqfw = #{zqfw}
</if>
<if
test=
"zqlx != null and zqlx != ''"
>
and
a.
zqlx = #{zqlx}
</if>
<if
test=
"jb != null and jb != ''"
>
and
a.
jb = #{jb}
</if>
<if
test=
"deptDfl != null and deptDfl != ''"
>
and a.dept_dfl = #{deptDfl}
</if>
<if
test=
"deptLx != null and deptLx != ''"
>
and dept_lx = #{deptLx}
</if>
<if
test=
"deptLx != null and deptLx != ''"
>
and
a.
dept_lx = #{deptLx}
</if>
<if
test=
"deptYwfl != null and deptYwfl != ''"
>
and a.dept_ywfl = #{deptYwfl}
</if>
<if
test=
"djyjzfs != null "
>
and djyjzfs = #{djyjzfs}
</if>
<if
test=
"djyjkfs != null "
>
and djyjkfs = #{djyjkfs}
</if>
...
...
@@ -140,7 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"yl4 != null and yl4 != ''"
>
and yl4 = #{yl4}
</if>
<if
test=
"yl5 != null and yl5 != ''"
>
and yl5 = #{yl5}
</if>
<if
test=
"pm != null and pm != ''"
>
and pm = #{pm}
</if>
<if
test=
"zt != null and zt != ''"
>
and zt = #{zt}
</if>
<if
test=
"zt != null and zt != ''"
>
and
a.
zt = #{zt}
</if>
<if
test=
"fdjb != null and fdjb != ''"
>
and fdjb = #{fdjb}
</if>
<if
test=
"df != null "
>
and zdf
<
= #{df}
</if>
<if
test=
"kfbl != null "
>
and zkfbl >= #{kfbl}
</if>
...
...
@@ -149,7 +149,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 数据范围过滤 -->
${params.dataScope}
</where>
order by zhdf desc
order by
pm,
zhdf desc
</select>
<select
id=
"selectSjGfjsZsdwkhpjZbById"
parameterType=
"Long"
resultMap=
"SjGfjsZsdwkhpjZbResult"
>
...
...
qianhe-ydsj/src/main/resources/mapper/system/SjGfjsDxjczMapper.xml
0 → 100644
View file @
7f825345
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.qianhe.mapper.SjGfjsDxjczMapper"
>
<resultMap
type=
"SjGfjsDxjcz"
id=
"SjGfjsDxjczResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"nd"
column=
"nd"
/>
<result
property=
"jb"
column=
"jb"
/>
<result
property=
"jcz"
column=
"jcz"
/>
<result
property=
"yl1"
column=
"yl1"
/>
<result
property=
"yl2"
column=
"yl2"
/>
<result
property=
"yl3"
column=
"yl3"
/>
<result
property=
"yl4"
column=
"yl4"
/>
<result
property=
"yl5"
column=
"yl5"
/>
</resultMap>
<sql
id=
"selectSjGfjsDxjczVo"
>
select id, nd, jb, jcz, yl1, yl2, yl3, yl4, yl5 from sj_gfjs_dxjcz
</sql>
<select
id=
"selectSjGfjsDxjczList"
parameterType=
"SjGfjsDxjcz"
resultMap=
"SjGfjsDxjczResult"
>
<include
refid=
"selectSjGfjsDxjczVo"
/>
<where>
<if
test=
"nd != null and nd != ''"
>
and nd = #{nd}
</if>
<if
test=
"jb != null and jb != ''"
>
and jb = #{jb}
</if>
<if
test=
"jcz != null and jcz != ''"
>
and jcz = #{jcz}
</if>
<if
test=
"yl1 != null and yl1 != ''"
>
and yl1 = #{yl1}
</if>
<if
test=
"yl2 != null and yl2 != ''"
>
and yl2 = #{yl2}
</if>
<if
test=
"yl3 != null and yl3 != ''"
>
and yl3 = #{yl3}
</if>
<if
test=
"yl4 != null and yl4 != ''"
>
and yl4 = #{yl4}
</if>
<if
test=
"yl5 != null and yl5 != ''"
>
and yl5 = #{yl5}
</if>
</where>
</select>
<select
id=
"selectSjGfjsDxjczById"
parameterType=
"Long"
resultMap=
"SjGfjsDxjczResult"
>
<include
refid=
"selectSjGfjsDxjczVo"
/>
where id = #{id}
</select>
<insert
id=
"insertSjGfjsDxjcz"
parameterType=
"SjGfjsDxjcz"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into sj_gfjs_dxjcz
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"nd != null"
>
nd,
</if>
<if
test=
"jb != null"
>
jb,
</if>
<if
test=
"jcz != null"
>
jcz,
</if>
<if
test=
"yl1 != null"
>
yl1,
</if>
<if
test=
"yl2 != null"
>
yl2,
</if>
<if
test=
"yl3 != null"
>
yl3,
</if>
<if
test=
"yl4 != null"
>
yl4,
</if>
<if
test=
"yl5 != null"
>
yl5,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"nd != null"
>
#{nd},
</if>
<if
test=
"jb != null"
>
#{jb},
</if>
<if
test=
"jcz != null"
>
#{jcz},
</if>
<if
test=
"yl1 != null"
>
#{yl1},
</if>
<if
test=
"yl2 != null"
>
#{yl2},
</if>
<if
test=
"yl3 != null"
>
#{yl3},
</if>
<if
test=
"yl4 != null"
>
#{yl4},
</if>
<if
test=
"yl5 != null"
>
#{yl5},
</if>
</trim>
</insert>
<update
id=
"updateSjGfjsDxjcz"
parameterType=
"SjGfjsDxjcz"
>
update sj_gfjs_dxjcz
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"nd != null"
>
nd = #{nd},
</if>
<if
test=
"jb != null"
>
jb = #{jb},
</if>
<if
test=
"jcz != null"
>
jcz = #{jcz},
</if>
<if
test=
"yl1 != null"
>
yl1 = #{yl1},
</if>
<if
test=
"yl2 != null"
>
yl2 = #{yl2},
</if>
<if
test=
"yl3 != null"
>
yl3 = #{yl3},
</if>
<if
test=
"yl4 != null"
>
yl4 = #{yl4},
</if>
<if
test=
"yl5 != null"
>
yl5 = #{yl5},
</if>
</trim>
where id = #{id}
</update>
<delete
id=
"deleteSjGfjsDxjczById"
parameterType=
"Long"
>
delete from sj_gfjs_dxjcz where id = #{id}
</delete>
<delete
id=
"deleteSjGfjsDxjczByIds"
parameterType=
"String"
>
delete from sj_gfjs_dxjcz where id in
<foreach
item=
"id"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
qianhe-ydsj/src/main/resources/mapper/system/SjGfjsFdgzMapper.xml
0 → 100644
View file @
7f825345
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.qianhe.mapper.SjGfjsFdgzMapper"
>
<resultMap
type=
"SjGfjsFdgz"
id=
"SjGfjsFdgzResult"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"nd"
column=
"nd"
/>
<result
property=
"jb"
column=
"jb"
/>
<result
property=
"minjcz"
column=
"minjcz"
/>
<result
property=
"yl1"
column=
"yl1"
/>
<result
property=
"yl2"
column=
"yl2"
/>
<result
property=
"yl3"
column=
"yl3"
/>
<result
property=
"yl4"
column=
"yl4"
/>
<result
property=
"yl5"
column=
"yl5"
/>
<result
property=
"maxjcz"
column=
"maxjcz"
/>
</resultMap>
<sql
id=
"selectSjGfjsFdgzVo"
>
select id, nd, jb, minjcz, yl1, yl2, yl3, yl4, yl5, maxjcz from sj_gfjs_fdgz
</sql>
<select
id=
"selectSjGfjsFdgzList"
parameterType=
"SjGfjsFdgz"
resultMap=
"SjGfjsFdgzResult"
>
<include
refid=
"selectSjGfjsFdgzVo"
/>
<where>
<if
test=
"nd != null and nd != ''"
>
and nd = #{nd}
</if>
<if
test=
"jb != null and jb != ''"
>
and jb = #{jb}
</if>
<if
test=
"minjcz != null and minjcz != ''"
>
and minjcz = #{minjcz}
</if>
<if
test=
"yl1 != null and yl1 != ''"
>
and yl1 = #{yl1}
</if>
<if
test=
"yl2 != null and yl2 != ''"
>
and yl2 = #{yl2}
</if>
<if
test=
"yl3 != null and yl3 != ''"
>
and yl3 = #{yl3}
</if>
<if
test=
"yl4 != null and yl4 != ''"
>
and yl4 = #{yl4}
</if>
<if
test=
"yl5 != null and yl5 != ''"
>
and yl5 = #{yl5}
</if>
<if
test=
"maxjcz != null and maxjcz != ''"
>
and maxjcz = #{maxjcz}
</if>
</where>
</select>
<select
id=
"selectSjGfjsFdgzById"
parameterType=
"Long"
resultMap=
"SjGfjsFdgzResult"
>
<include
refid=
"selectSjGfjsFdgzVo"
/>
where id = #{id}
</select>
<insert
id=
"insertSjGfjsFdgz"
parameterType=
"SjGfjsFdgz"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into sj_gfjs_fdgz
<trim
prefix=
"("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"nd != null"
>
nd,
</if>
<if
test=
"jb != null"
>
jb,
</if>
<if
test=
"minjcz != null"
>
minjcz,
</if>
<if
test=
"yl1 != null"
>
yl1,
</if>
<if
test=
"yl2 != null"
>
yl2,
</if>
<if
test=
"yl3 != null"
>
yl3,
</if>
<if
test=
"yl4 != null"
>
yl4,
</if>
<if
test=
"yl5 != null"
>
yl5,
</if>
<if
test=
"maxjcz != null"
>
maxjcz,
</if>
</trim>
<trim
prefix=
"values ("
suffix=
")"
suffixOverrides=
","
>
<if
test=
"nd != null"
>
#{nd},
</if>
<if
test=
"jb != null"
>
#{jb},
</if>
<if
test=
"minjcz != null"
>
#{minjcz},
</if>
<if
test=
"yl1 != null"
>
#{yl1},
</if>
<if
test=
"yl2 != null"
>
#{yl2},
</if>
<if
test=
"yl3 != null"
>
#{yl3},
</if>
<if
test=
"yl4 != null"
>
#{yl4},
</if>
<if
test=
"yl5 != null"
>
#{yl5},
</if>
<if
test=
"maxjcz != null"
>
#{maxjcz},
</if>
</trim>
</insert>
<update
id=
"updateSjGfjsFdgz"
parameterType=
"SjGfjsFdgz"
>
update sj_gfjs_fdgz
<trim
prefix=
"SET"
suffixOverrides=
","
>
<if
test=
"nd != null"
>
nd = #{nd},
</if>
<if
test=
"jb != null"
>
jb = #{jb},
</if>
<if
test=
"minjcz != null"
>
minjcz = #{minjcz},
</if>
<if
test=
"yl1 != null"
>
yl1 = #{yl1},
</if>
<if
test=
"yl2 != null"
>
yl2 = #{yl2},
</if>
<if
test=
"yl3 != null"
>
yl3 = #{yl3},
</if>
<if
test=
"yl4 != null"
>
yl4 = #{yl4},
</if>
<if
test=
"yl5 != null"
>
yl5 = #{yl5},
</if>
<if
test=
"maxjcz != null"
>
maxjcz = #{maxjcz},
</if>
</trim>
where id = #{id}
</update>
<delete
id=
"deleteSjGfjsFdgzById"
parameterType=
"Long"
>
delete from sj_gfjs_fdgz where id = #{id}
</delete>
<delete
id=
"deleteSjGfjsFdgzByIds"
parameterType=
"String"
>
delete from sj_gfjs_fdgz where id in
<foreach
item=
"id"
collection=
"array"
open=
"("
separator=
","
close=
")"
>
#{id}
</foreach>
</delete>
</mapper>
\ 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