Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
X
xzxt-app-report
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
xzxt-app-report
Commits
4d175334
Commit
4d175334
authored
Nov 22, 2023
by
zhangzhijie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
app每日警情和每周态势接口
parent
274fcd63
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
349 additions
and
8 deletions
+349
-8
src/main/java/org/springblade/founder/utils/DateUtil.java
+32
-4
src/main/java/org/springblade/founder/xxtz/controller/XxtzController.java
+24
-0
src/main/java/org/springblade/founder/xxtz/entity/PoliceSituation.java
+37
-0
src/main/java/org/springblade/founder/xxtz/entity/WeeklySituationBo.java
+38
-0
src/main/java/org/springblade/founder/xxtz/entity/WeeklySituationVo.java
+28
-0
src/main/java/org/springblade/founder/xxtz/mapper/XxtzMapper.java
+11
-0
src/main/java/org/springblade/founder/xxtz/mapper/XxtzMapper.xml
+56
-0
src/main/java/org/springblade/founder/xxtz/service/XxtzService.java
+8
-0
src/main/java/org/springblade/founder/xxtz/service/impl/XxtzServiceImpl.java
+115
-4
No files found.
src/main/java/org/springblade/founder/utils/DateUtil.java
View file @
4d175334
...
...
@@ -11,9 +11,7 @@ import java.time.temporal.ChronoField;
import
java.time.temporal.ChronoUnit
;
import
java.time.temporal.TemporalAdjuster
;
import
java.time.temporal.TemporalAdjusters
;
import
java.util.Calendar
;
import
java.util.Date
;
import
java.util.Locale
;
import
java.util.*
;
import
java.util.regex.Pattern
;
/**
...
...
@@ -117,7 +115,19 @@ public class DateUtil {
cal
.
add
(
Calendar
.
WEEK_OF_MONTH
,
0
);
cal
.
set
(
Calendar
.
DAY_OF_WEEK
,
2
);
Date
time
=
cal
.
getTime
();
return
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
time
)+
" 00:00:00"
;
return
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
time
);
}
/**
* 获取本周最后一天
* @return String
* **/
public
static
String
getWeekEnd
(){
Calendar
cal
=
Calendar
.
getInstance
();
cal
.
set
(
Calendar
.
DAY_OF_WEEK
,
cal
.
getActualMaximum
(
Calendar
.
DAY_OF_WEEK
));
cal
.
add
(
Calendar
.
DAY_OF_WEEK
,
1
);
Date
time
=
cal
.
getTime
();
return
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
time
);
}
public
static
String
format
(
Date
date
,
String
pattern
)
throws
ParseException
{
...
...
@@ -147,4 +157,22 @@ public class DateUtil {
}
return
sj
;
}
/**
* 获取 两个时间内 全部日期
*/
public
static
List
<
String
>
getAscDateList
(
LocalDate
startDate
,
LocalDate
endDate
)
{
List
<
String
>
result
=
new
ArrayList
<>();
if
(
endDate
.
compareTo
(
startDate
)
<
0
)
{
return
result
;
}
while
(
true
)
{
result
.
add
(
startDate
.
toString
());
if
(
startDate
.
compareTo
(
endDate
)
>=
0
)
{
break
;
}
startDate
=
startDate
.
plusDays
(
1
);
}
return
result
;
}
}
src/main/java/org/springblade/founder/xxtz/controller/XxtzController.java
View file @
4d175334
package
org
.
springblade
.
founder
.
xxtz
.
controller
;
import
org.springblade.founder.utils.R
;
import
org.springblade.founder.xxtz.entity.WeeklySituationBo
;
import
org.springblade.founder.xxtz.entity.WeeklySituationVo
;
import
org.springblade.founder.xxtz.service.XxtzService
;
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.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
import
java.util.Map
;
@RestController
...
...
@@ -48,4 +52,24 @@ public class XxtzController {
return
R
.
error
(
e
.
getMessage
());
}
}
/**
* 每日警情信息
* @return
*/
@GetMapping
(
"/getDailyPoliceSituation"
)
public
R
getDailyPoliceSituation
(){
Map
<
String
,
Object
>
resultMap
=
xxtzService
.
getDailyPoliceSituation
();
return
R
.
ok
().
data
(
resultMap
);
}
/**
* 每周态势信息
* @return
*/
@GetMapping
(
"/getWeeklySituation"
)
public
R
getWeeklySituation
(
WeeklySituationBo
bo
){
List
<
WeeklySituationVo
>
records
=
xxtzService
.
getWeeklySituation
(
bo
);
return
R
.
ok
().
data
(
"records"
,
records
);
}
}
src/main/java/org/springblade/founder/xxtz/entity/PoliceSituation.java
0 → 100644
View file @
4d175334
package
org
.
springblade
.
founder
.
xxtz
.
entity
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author zzj
* 每日警情
*/
@Data
@NoArgsConstructor
public
class
PoliceSituation
{
/**
* 可疑人员数量
*/
private
Integer
countKyry
;
/**
* 可疑号码数量
*/
private
Integer
countKyhm
;
/**
* 可疑车辆数量
*/
private
Integer
countKycl
;
/**
* 可疑图像数量
*/
private
Integer
countKytx
;
/**
* 可疑视频数量
*/
private
Integer
countKysp
;
/**
* 可疑音频数量
*/
private
Integer
countKyyp
;
}
src/main/java/org/springblade/founder/xxtz/entity/WeeklySituationBo.java
0 → 100644
View file @
4d175334
package
org
.
springblade
.
founder
.
xxtz
.
entity
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
import
java.util.List
;
/**
* @author zzj
* 每周态势业务类
*/
@Data
@NoArgsConstructor
public
class
WeeklySituationBo
{
/**
* 案件类别代码
*/
private
String
ajlbdm
;
/**
* 单位代码
*/
private
String
unitcode
;
/**
* 开始时间
*/
private
String
startTime
;
/**
* 结束时间
*/
private
String
endTime
;
/**
* 侦查阶段代码
*/
private
List
<
String
>
zcjddms
;
}
src/main/java/org/springblade/founder/xxtz/entity/WeeklySituationVo.java
0 → 100644
View file @
4d175334
package
org
.
springblade
.
founder
.
xxtz
.
entity
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* @author zzj
* 每周态势视图对象
*/
@Data
@NoArgsConstructor
public
class
WeeklySituationVo
{
/**
* 发生日期
*/
private
String
fsrq
;
/**
* 案发数量
*/
private
Integer
countAsjfs
;
/**
* 破案数量
*/
private
Integer
countAsjPa
;
}
src/main/java/org/springblade/founder/xxtz/mapper/XxtzMapper.java
View file @
4d175334
...
...
@@ -2,8 +2,13 @@ package org.springblade.founder.xxtz.mapper;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
org.springblade.founder.xxtz.entity.WeeklySituationBo
;
import
org.springblade.founder.xxtz.entity.WeeklySituationVo
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
import
java.util.Map
;
@Mapper
@Repository
public
interface
XxtzMapper
{
...
...
@@ -22,4 +27,10 @@ public interface XxtzMapper {
Integer
selectXsxxCountByDjr
(
String
zjhm
);
Integer
selectXssbCountByDjr
(
String
zjhm
);
Integer
queryTodayAreaCount
(
@Param
(
"unitcode"
)
String
unitcode
,
@Param
(
"today"
)
String
today
,
@Param
(
"tableName"
)
String
tableName
);
List
<
WeeklySituationVo
>
queryAsjfsCount
(
@Param
(
"bo"
)
WeeklySituationBo
bo
);
List
<
WeeklySituationVo
>
queryAsjPaCount
(
@Param
(
"bo"
)
WeeklySituationBo
bo
);
}
src/main/java/org/springblade/founder/xxtz/mapper/XxtzMapper.xml
View file @
4d175334
...
...
@@ -55,4 +55,60 @@
and XSZT = '1'
and XXDJRY_GMSFHM = #{zjhm,jdbcType=VARCHAR}
</select>
<select
id=
"queryTodayAreaCount"
resultType=
"java.lang.Integer"
>
select count(xxzjbh)
from ${tableName}
where DJSJ between STR_TO_DATE('${today} 00:00:00', '%Y-%m-%d %H:%i:%S') and STR_TO_DATE('${today} 23:59:59', '%Y-%m-%d %H:%i:%S')
and XXDJDW_GAJGJGDM like '${unitcode}%'
and XXSC_PDBZ = '0'
</select>
<select
id=
"queryAsjfsCount"
resultType=
"org.springblade.founder.xxtz.entity.WeeklySituationVo"
>
select count(ASJBH) as countAsjfs, date_format(ASJFSSJ_ASJFSKSSJ, '%Y-%m-%d') as fsrq
from tb_st_asj
<where>
XXSC_PDBZ = '0'
<if
test=
"bo.ajlbdm != null and bo.ajlbdm != ''"
>
and ajlbdm = #{bo.ajlbdm}
</if>
<if
test=
"bo.startTime != null and bo.startTime != ''"
>
and asjfssj_asjfskssj > STR_TO_DATE(#{bo.startTime}, '%Y-%m-%d %H:%i:%S')
</if>
<if
test=
"bo.endTime != null and bo.endTime != ''"
>
and asjfssj_asjfskssj
<![CDATA[ <= ]]>
STR_TO_DATE(#{bo.endTime}, '%Y-%m-%d %H:%i:%S')
</if>
<if
test=
"bo.unitcode != null and bo.unitcode != ''"
>
and xxdjdw_gajgjgdm like '${bo.unitcode}%'
</if>
</where>
group by date_format(ASJFSSJ_ASJFSKSSJ, '%Y-%m-%d') order by fsrq
</select>
<select
id=
"queryAsjPaCount"
resultType=
"org.springblade.founder.xxtz.entity.WeeklySituationVo"
>
select count(ASJBH) as countAsjPa, date_format(ZCZJ_ZXSJ01, '%Y-%m-%d') as fsrq
from tb_st_asj
<where>
XXSC_PDBZ = '0'
<if
test=
"bo.ajlbdm != null and bo.ajlbdm != ''"
>
and ajlbdm = #{bo.ajlbdm}
</if>
<if
test=
"bo.startTime != null and bo.startTime != ''"
>
and ZCZJ_ZXSJ01 > STR_TO_DATE(#{bo.startTime}, '%Y-%m-%d %H:%i:%S')
</if>
<if
test=
"bo.endTime != null and bo.endTime != ''"
>
and ZCZJ_ZXSJ01
<![CDATA[ <= ]]>
STR_TO_DATE(#{bo.endTime}, '%Y-%m-%d %H:%i:%S')
</if>
<if
test=
"bo.unitcode != null and bo.unitcode != ''"
>
and xxdjdw_gajgjgdm like '${bo.unitcode}%'
</if>
<if
test=
"bo.zcjddms != null and bo.zcjddms.size() > 0"
>
and zcjddm in
<foreach
collection=
"bo.zcjddms"
open=
"("
item=
"item"
close=
")"
separator=
","
index=
"index"
>
#{item}
</foreach>
</if>
</where>
group by date_format(ZCZJ_ZXSJ01, '%Y-%m-%d') order by fsrq
</select>
</mapper>
src/main/java/org/springblade/founder/xxtz/service/XxtzService.java
View file @
4d175334
package
org
.
springblade
.
founder
.
xxtz
.
service
;
import
org.springblade.founder.xxtz.entity.WeeklySituationBo
;
import
org.springblade.founder.xxtz.entity.WeeklySituationVo
;
import
java.text.ParseException
;
import
java.util.List
;
import
java.util.Map
;
public
interface
XxtzService
{
...
...
@@ -28,4 +32,8 @@ public interface XxtzService {
* 2022/5/5 10:20
*/
Map
<
String
,
Object
>
getXscjslAndXssbsl
();
Map
<
String
,
Object
>
getDailyPoliceSituation
();
List
<
WeeklySituationVo
>
getWeeklySituation
(
WeeklySituationBo
bo
);
}
src/main/java/org/springblade/founder/xxtz/service/impl/XxtzServiceImpl.java
View file @
4d175334
package
org
.
springblade
.
founder
.
xxtz
.
service
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
org.springblade.core.secure.utils.SecureUtil
;
import
org.springblade.founder.utils.DateUtil
;
import
org.springblade.founder.utils.Utils
;
import
org.springblade.founder.xxtz.entity.WeeklySituationBo
;
import
org.springblade.founder.xxtz.entity.WeeklySituationVo
;
import
org.springblade.founder.xxtz.mapper.XxtzMapper
;
import
org.springblade.founder.xxtz.service.XxtzService
;
import
org.springblade.modules.system.entity.XzxtUser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.time.LocalDate
;
import
java.util.*
;
@Service
public
class
XxtzServiceImpl
implements
XxtzService
{
@Value
(
"${ssdw}"
)
private
String
ssdw
;
@Autowired
private
XxtzMapper
xxtzMapper
;
...
...
@@ -31,7 +37,7 @@ public class XxtzServiceImpl implements XxtzService {
date
=
sdf
.
format
(
new
Date
());
date
+=
" 00:00:00"
;
}
else
{
date
=
DateUtil
.
getWeekStart
();
date
=
DateUtil
.
getWeekStart
()
+
" 00:00:00"
;
}
Integer
xsajsl
=
xxtzMapper
.
selectXsajCountByDw
(
dwlike
,
date
);
if
(
"0"
.
equals
(
type
))
{
...
...
@@ -72,4 +78,109 @@ public class XxtzServiceImpl implements XxtzService {
resultMap
.
put
(
"xssbCount"
,
xssbCount
);
return
resultMap
;
}
@Override
public
Map
<
String
,
Object
>
getDailyPoliceSituation
()
{
String
unitcode
=
ssdw
;
XzxtUser
userXzxt
=
SecureUtil
.
getUserXzxt
();
if
(
userXzxt
!=
null
)
{
unitcode
=
userXzxt
.
getUnitcode
();
String
grade
=
userXzxt
.
getGrade
();
if
(
"S"
.
equals
(
grade
))
{
unitcode
=
unitcode
.
substring
(
0
,
2
);
}
else
if
(
"D"
.
equals
(
grade
))
{
unitcode
=
unitcode
.
substring
(
0
,
4
);
}
else
{
unitcode
=
unitcode
.
substring
(
0
,
6
);
}
}
else
{
unitcode
=
unitcode
.
substring
(
0
,
2
);
}
String
today
=
new
SimpleDateFormat
(
"yyyy-MM-dd"
).
format
(
new
Date
());
//可疑人员数
String
tableName
=
"tb_xw_kyxs_ry"
;
Integer
countKyry
=
xxtzMapper
.
queryTodayAreaCount
(
unitcode
,
today
,
tableName
);
//可疑号码数量
tableName
=
"tb_xw_kyxs_hm"
;
Integer
countKyhm
=
xxtzMapper
.
queryTodayAreaCount
(
unitcode
,
today
,
tableName
);
//可疑车辆数量
tableName
=
"tb_xw_kyxs_jdc"
;
Integer
countKycl
=
xxtzMapper
.
queryTodayAreaCount
(
unitcode
,
today
,
tableName
);
//可疑图像数量
tableName
=
"tb_xw_kyxs_tx"
;
Integer
countKytx
=
xxtzMapper
.
queryTodayAreaCount
(
unitcode
,
today
,
tableName
);
//可疑视频数量
tableName
=
"tb_xw_kyxs_sp"
;
Integer
countKysp
=
xxtzMapper
.
queryTodayAreaCount
(
unitcode
,
today
,
tableName
);
//可疑音频数量
tableName
=
"tb_xw_kyxs_yy"
;
Integer
countKyyp
=
xxtzMapper
.
queryTodayAreaCount
(
unitcode
,
today
,
tableName
);
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
16
);
result
.
put
(
"countKyry"
,
countKyry
==
null
?
0
:
countKyry
);
result
.
put
(
"countKyhm"
,
countKyhm
==
null
?
0
:
countKyhm
);
result
.
put
(
"countKycl"
,
countKycl
==
null
?
0
:
countKycl
);
result
.
put
(
"countKytx"
,
countKytx
==
null
?
0
:
countKytx
);
result
.
put
(
"countKysp"
,
countKysp
==
null
?
0
:
countKysp
);
result
.
put
(
"countKyyp"
,
countKyyp
==
null
?
0
:
countKyyp
);
return
result
;
}
@Override
public
List
<
WeeklySituationVo
>
getWeeklySituation
(
WeeklySituationBo
bo
)
{
List
<
WeeklySituationVo
>
result
=
new
ArrayList
<>();
String
startTime
=
DateUtil
.
getWeekStart
();
String
endTime
=
DateUtil
.
getWeekEnd
();
String
unitcode
=
bo
.
getUnitcode
();
if
(!
StringUtils
.
hasText
(
bo
.
getStartTime
()))
{
bo
.
setStartTime
(
startTime
);
}
if
(!
StringUtils
.
hasText
(
bo
.
getEndTime
()))
{
bo
.
setEndTime
(
endTime
);
}
if
(!
StringUtils
.
hasText
(
unitcode
))
{
XzxtUser
userXzxt
=
SecureUtil
.
getUserXzxt
();
if
(
userXzxt
!=
null
)
{
unitcode
=
userXzxt
.
getUnitcode
();
}
else
{
unitcode
=
ssdw
;
}
}
bo
.
setUnitcode
(
Utils
.
getDwlikeByUnitCode
(
unitcode
));
//时间范围内案事件发生总数
List
<
WeeklySituationVo
>
countAsjs
=
xxtzMapper
.
queryAsjfsCount
(
bo
);
//事件范围内案事件侦破总数
List
<
String
>
zcjddms
=
new
ArrayList
<>();
zcjddms
.
add
(
"0600"
);
zcjddms
.
add
(
"0700"
);
zcjddms
.
add
(
"0800"
);
bo
.
setZcjddms
(
zcjddms
);
List
<
WeeklySituationVo
>
countAsjPas
=
xxtzMapper
.
queryAsjPaCount
(
bo
);
List
<
String
>
dateList
=
DateUtil
.
getAscDateList
(
LocalDate
.
parse
(
bo
.
getStartTime
()),
LocalDate
.
parse
(
bo
.
getEndTime
()));
for
(
String
date
:
dateList
)
{
WeeklySituationVo
record
=
new
WeeklySituationVo
();
record
.
setFsrq
(
date
);
record
.
setCountAsjPa
(
0
);
record
.
setCountAsjfs
(
0
);
for
(
WeeklySituationVo
vo
:
countAsjs
)
{
String
fsrq
=
vo
.
getFsrq
();
if
(
date
.
equals
(
fsrq
))
{
record
.
setCountAsjfs
(
vo
.
getCountAsjfs
());
break
;
}
}
for
(
WeeklySituationVo
vo
:
countAsjPas
)
{
String
fsrq
=
vo
.
getFsrq
();
if
(
date
.
equals
(
fsrq
))
{
record
.
setCountAsjPa
(
vo
.
getCountAsjPa
());
break
;
}
}
result
.
add
(
record
);
}
return
result
;
}
}
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