Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
T
tianjin-cement
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
竹天卫
tianjin-cement
Commits
9b5cffe2
Commit
9b5cffe2
authored
Jan 19, 2021
by
竹天卫
Browse files
Options
Browse Files
Download
Plain Diff
代码冲突
parents
f29f9b1c
85ada413
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
268 additions
and
32 deletions
+268
-32
pom.xml
cement-business/pom.xml
+0
-3
DataStatisticsController.java
.../cement/business/controller/DataStatisticsController.java
+9
-9
NormProductionController.java
.../cement/business/controller/NormProductionController.java
+1
-0
ReportController.java
.../wise/sc/cement/business/controller/ReportController.java
+0
-1
ItemDistribution.java
...a/cn/wise/sc/cement/business/entity/ItemDistribution.java
+14
-0
ItemDistributionSample.java
...ise/sc/cement/business/entity/ItemDistributionSample.java
+15
-0
Sample.java
...c/main/java/cn/wise/sc/cement/business/entity/Sample.java
+3
-0
DataStatisticsMapper.java
.../wise/sc/cement/business/mapper/DataStatisticsMapper.java
+12
-0
CountItemDistributionQuery.java
...ment/business/model/query/CountItemDistributionQuery.java
+22
-0
ItemDistributionVo.java
.../wise/sc/cement/business/model/vo/ItemDistributionVo.java
+23
-0
IDataStatisticsService.java
...se/sc/cement/business/service/IDataStatisticsService.java
+9
-0
DataStatisticsServiceImpl.java
...ment/business/service/impl/DataStatisticsServiceImpl.java
+60
-9
DateUtil.java
...c/main/java/cn/wise/sc/cement/business/util/DateUtil.java
+35
-10
DataStatisticsMapper.xml
...n/wise/sc/cement/business/mapper/DataStatisticsMapper.xml
+65
-0
No files found.
cement-business/pom.xml
View file @
9b5cffe2
...
...
@@ -122,9 +122,6 @@
<version>
3.17
</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.oschina.zcx7878/fastdfs-client-java -->
<dependency>
<groupId>
net.oschina.zcx7878
</groupId>
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/controller/DataStatisticsController.java
View file @
9b5cffe2
...
...
@@ -2,7 +2,10 @@ package cn.wise.sc.cement.business.controller;
import
cn.wise.sc.cement.business.model.BaseResponse
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
cn.wise.sc.cement.business.model.query.CountItemDistributionQuery
;
import
cn.wise.sc.cement.business.model.vo.ItemDistributionVo
;
import
cn.wise.sc.cement.business.service.IDataStatisticsService
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiImplicitParam
;
import
io.swagger.annotations.ApiImplicitParams
;
...
...
@@ -12,7 +15,7 @@ import org.slf4j.LoggerFactory;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java
.util.Map
;
import
java
x.servlet.http.HttpServletResponse
;
/**
* <p>
...
...
@@ -103,14 +106,11 @@ public class DataStatisticsController {
}
@ApiOperation
(
"导出检测项分布统计"
)
@PostMapping
(
"/item/download"
)
public
BaseResponse
<
Page
<
ItemDistributionVo
>>
downloadItemDistribution
(
@RequestBody
CountItemDistributionQuery
query
,
HttpServletResponse
response
)
{
return
dataStatisticsService
.
countItemDistribution
(
query
,
response
);
}
}
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/controller/NormProductionController.java
View file @
9b5cffe2
...
...
@@ -273,5 +273,6 @@ public class NormProductionController {
return
BaseResponse
.
okData
(
iPrecipriceService
.
workloadStatistics
(
startTime
,
endTime
,
userId
));
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/controller/ReportController.java
View file @
9b5cffe2
...
...
@@ -131,7 +131,6 @@ public class ReportController {
beanParams
.
put
(
"methodNames"
,
moveFirst
(
rts
.
getMethodNames
()));
beanParams
.
put
(
"equipmentNames"
,
moveFirst
(
rts
.
getEquipmentNames
()));
//六元素导出
List
<
SixElementReport
>
list
=
iEntrustService
.
getSampleSixElementCheck
(
entrustId
);
...
...
cement-business/src/main/java/cn/wise/sc/cement/business/entity/ItemDistribution.java
0 → 100644
View file @
9b5cffe2
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
lombok.Data
;
/**
* @description: 检测项目分布情况
* @author: qh
* @create: 2021-01-18 15:31
**/
@Data
public
class
ItemDistribution
{
private
Integer
count
;
private
String
key
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/ItemDistributionSample.java
0 → 100644
View file @
9b5cffe2
package
cn
.
wise
.
sc
.
cement
.
business
.
entity
;
import
lombok.Data
;
/**
* @description: 检测项目分布情况(按样品统计)
* @author: qh
* @create: 2021-01-19 10:28
**/
@Data
public
class
ItemDistributionSample
{
private
String
name
;
private
Integer
count
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/entity/Sample.java
View file @
9b5cffe2
...
...
@@ -116,4 +116,7 @@ public class Sample implements Serializable {
@ApiModelProperty
(
"产地"
)
private
String
origin
;
@ApiModelProperty
(
"样品是否来自国外 (0来自国内,1来自国外)"
)
private
Integer
isForeign
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/mapper/DataStatisticsMapper.java
View file @
9b5cffe2
package
cn
.
wise
.
sc
.
cement
.
business
.
mapper
;
import
cn.wise.sc.cement.business.entity.Client
;
import
cn.wise.sc.cement.business.entity.ItemDistribution
;
import
cn.wise.sc.cement.business.entity.ItemDistributionSample
;
import
cn.wise.sc.cement.business.model.vo.ClientVo
;
import
cn.wise.sc.cement.business.model.vo.DataStatisticsVo
;
import
cn.wise.sc.cement.business.model.vo.EntrustVo
;
...
...
@@ -9,6 +11,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -33,4 +36,13 @@ public interface DataStatisticsMapper {
IPage
<
DataStatisticsVo
>
countDistributionPage
(
@Param
(
"page"
)
Page
page
);
List
<
DataStatisticsVo
>
countTeamIng
();
IPage
<
ItemDistribution
>
countItemDistribution
(
@Param
(
"page"
)
Page
<
ItemDistribution
>
page
,
@Param
(
"start"
)
Date
startTime
,
@Param
(
"end"
)
Date
endTime
,
@Param
(
"origins"
)
List
<
String
>
origins
,
@Param
(
"itemId"
)
Long
itemId
);
ItemDistributionSample
countItemDistributionSample
(
@Param
(
"start"
)
Date
startTime
,
@Param
(
"end"
)
Date
endTime
,
@Param
(
"origin"
)
String
origin
,
@Param
(
"teamId"
)
Long
teamId
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/model/query/CountItemDistributionQuery.java
0 → 100644
View file @
9b5cffe2
package
cn
.
wise
.
sc
.
cement
.
business
.
model
.
query
;
import
cn.wise.sc.cement.business.model.PageQuery
;
import
lombok.Data
;
import
java.time.Period
;
import
java.util.List
;
/**
* @description:
* @author: qh
* @create: 2021-01-19 10:33
**/
@Data
public
class
CountItemDistributionQuery
{
private
Long
itemId
;
private
List
<
String
>
origins
;
private
String
startTime
;
private
String
endTime
;
private
String
type
;
private
PageQuery
pageQuery
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/model/vo/ItemDistributionVo.java
0 → 100644
View file @
9b5cffe2
package
cn
.
wise
.
sc
.
cement
.
business
.
model
.
vo
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
* @description: 检测项分布情况Vo
* @author: qh
* @create: 2021-01-18 15:52
**/
@Data
public
class
ItemDistributionVo
implements
Serializable
{
static
final
long
serialVersionUID
=
42L
;
private
String
id
;
private
String
itemName
;
private
String
origin
;
private
Integer
itemCount
;
private
String
time
;
private
Integer
sampleCount
;
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/IDataStatisticsService.java
View file @
9b5cffe2
...
...
@@ -7,9 +7,11 @@ import cn.wise.sc.cement.business.model.*;
import
cn.wise.sc.cement.business.model.query.*
;
import
cn.wise.sc.cement.business.model.vo.*
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
io.swagger.models.auth.In
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -36,4 +38,11 @@ public interface IDataStatisticsService {
BaseResponse
<
List
<
DataStatisticsVo
>>
countTeamIng
();
/**
* 导出检查项分布统计
* @param query 请求参数
* @param response 响应
* @return 返回的统计
*/
BaseResponse
<
Page
<
ItemDistributionVo
>>
countItemDistribution
(
CountItemDistributionQuery
query
,
HttpServletResponse
response
);
}
cement-business/src/main/java/cn/wise/sc/cement/business/service/impl/DataStatisticsServiceImpl.java
View file @
9b5cffe2
package
cn
.
wise
.
sc
.
cement
.
business
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.StrUtil
;
import
cn.wise.sc.cement.business.entity.*
;
import
cn.wise.sc.cement.business.mapper.*
;
...
...
@@ -10,6 +9,7 @@ import cn.wise.sc.cement.business.model.query.*;
import
cn.wise.sc.cement.business.model.vo.*
;
import
cn.wise.sc.cement.business.service.*
;
import
cn.wise.sc.cement.business.util.CheckCountUtil
;
import
cn.wise.sc.cement.business.util.DateUtil
;
import
cn.wise.sc.cement.business.util.ExcelUtil
;
import
cn.wise.sc.cement.business.util.RedisUtil
;
import
com.alibaba.fastjson.JSON
;
...
...
@@ -158,12 +158,13 @@ public class DataStatisticsServiceImpl implements IDataStatisticsService {
/**
* 检测项数量统计-按地区
*
* @param startDate
* @param endDate
* @return
*/
@Override
public
BaseResponse
<
List
<
DataStatisticsVo
>>
countTeamByOrigin
(
Integer
cycle
,
String
startDate
,
String
endDate
){
public
BaseResponse
<
List
<
DataStatisticsVo
>>
countTeamByOrigin
(
Integer
cycle
,
String
startDate
,
String
endDate
)
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>();
params
.
put
(
"cycle"
,
cycle
);
params
.
put
(
"startDate"
,
startDate
);
...
...
@@ -225,22 +226,72 @@ public class DataStatisticsServiceImpl implements IDataStatisticsService {
* 正在进行的检测项统计
* @return
*/
@Override
public
BaseResponse
<
List
<
DataStatisticsVo
>>
countTeamIng
(){
List
<
DataStatisticsVo
>
list
=
dataStatisticsMapper
.
countTeamIng
();
return
BaseResponse
.
okData
(
list
);
}
@Override
public
BaseResponse
<
Page
<
ItemDistributionVo
>>
countItemDistribution
(
CountItemDistributionQuery
query
,
HttpServletResponse
response
)
{
String
startTimeStr
=
query
.
getStartTime
();
String
endTimeStr
=
query
.
getEndTime
();
String
type
=
query
.
getType
();
Long
itemId
=
query
.
getItemId
();
List
<
String
>
origins
=
query
.
getOrigins
();
Date
startTime
=
null
;
Date
endTime
=
null
;
Page
<
ItemDistribution
>
page
=
new
Page
<>(
query
.
getPageQuery
().
getPageNo
(),
query
.
getPageQuery
().
getPageSize
());
if
(
StrUtil
.
isNotEmpty
(
type
))
{
startTime
=
DateUtil
.
getStartTime
(
Integer
.
parseInt
(
type
));
endTime
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
date
();
}
if
(
StrUtil
.
isNotEmpty
(
startTimeStr
))
{
startTime
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
parseDate
(
startTimeStr
);
}
if
(
StrUtil
.
isNotEmpty
(
endTimeStr
))
{
endTime
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
parseDate
(
endTimeStr
);
}
//获取检测项目城市分布统计
IPage
<
ItemDistribution
>
list
=
dataStatisticsMapper
.
countItemDistribution
(
page
,
startTime
,
endTime
,
origins
,
itemId
);
List
<
ItemDistribution
>
records
=
list
.
getRecords
();
if
(
records
.
size
()
==
0
)
{
return
BaseResponse
.
errorMsg
(
"没找到数据~"
);
}
List
<
ItemDistributionVo
>
rtsRecords
=
new
ArrayList
<>(
records
.
size
());
//组装检查项统计和按照样品统计
for
(
ItemDistribution
distribution
:
records
)
{
String
key
=
distribution
.
getKey
();
String
[]
split
=
key
.
split
(
","
);
String
teamId
=
split
[
0
];
String
origin
=
split
[
1
];
//检测项按样品分布统计
ItemDistributionSample
sample
=
dataStatisticsMapper
.
countItemDistributionSample
(
startTime
,
endTime
,
origin
,
Long
.
parseLong
(
teamId
));
ItemDistributionVo
vo
=
new
ItemDistributionVo
();
vo
.
setOrigin
(
origin
);
vo
.
setItemName
(
sample
.
getName
());
vo
.
setSampleCount
(
sample
.
getCount
());
vo
.
setItemCount
(
distribution
.
getCount
());
vo
.
setTime
(
startTime
+
"_"
+
endTime
);
rtsRecords
.
add
(
vo
);
}
Page
<
ItemDistributionVo
>
rts
=
new
Page
<>();
rts
.
setRecords
(
rtsRecords
);
rts
.
setCurrent
(
page
.
getCurrent
());
rts
.
setPages
(
page
.
getPages
());
rts
.
setTotal
(
page
.
getTotal
());
rts
.
setSize
(
page
.
getSize
());
return
BaseResponse
.
okData
(
rts
);
}
}
cement-business/src/main/java/cn/wise/sc/cement/business/util/DateUtil.java
View file @
9b5cffe2
package
cn
.
wise
.
sc
.
cement
.
business
.
util
;
import
cn.hutool.core.date.DateTime
;
import
java.time.LocalDateTime
;
import
java.time.temporal.WeekFields
;
import
java.util.Date
;
/**
* @author neo.shu
...
...
@@ -20,4 +24,25 @@ public class DateUtil {
WeekFields
weekFields
=
WeekFields
.
ISO
;
return
localDateTime
.
get
(
weekFields
.
weekOfWeekBasedYear
());
}
/**
* 获取开始时间
*
* @param type 类型 1:本周 2:本月 3:本年
* @return 开始时间
*/
public
static
Date
getStartTime
(
Integer
type
)
{
Date
rts
=
null
;
if
(
type
==
1
)
{
rts
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
beginOfWeek
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
date
());
}
else
if
(
type
==
2
)
{
rts
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
beginOfMonth
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
date
());
}
else
{
rts
=
cn
.
hutool
.
core
.
date
.
DateUtil
.
beginOfYear
(
cn
.
hutool
.
core
.
date
.
DateUtil
.
date
());
}
return
rts
;
}
}
cement-business/target/classes/cn/wise/sc/cement/business/mapper/DataStatisticsMapper.xml
0 → 100644
View file @
9b5cffe2
<?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=
"cn.wise.sc.cement.business.mapper.DataStatisticsMapper"
>
<select
id=
"countTeamByTime"
resultType=
"cn.wise.sc.cement.business.model.vo.DataStatisticsVo"
>
SELECT DATE_FORMAT(sd.create_time,'%Y-%m') as name, count(sd.id) as value
FROM sample_distribution sd
where sd.finish_time is not null
<if
test=
"params.startDate != null and params.startDate != ''"
>
and DATE(sd.create_time)
>
= #{params.startDate}
</if>
<if
test=
"params.endDate != null and params.endDate != ''"
>
and DATE(sd.create_time)
<
= #{params.endDate}
</if>
group by name
</select>
<select
id=
"countTeamByOrigin"
resultType=
"cn.wise.sc.cement.business.model.vo.DataStatisticsVo"
>
SELECT s.origin as name, count(sd.id) as value
FROM sample_distribution sd
left join sample s on s.id = sd.sample_id
where sd.finish_time is not null
<if
test=
"params.startDate != null and params.startDate != ''"
>
and DATE(sd.create_time)
>
= #{params.startDate}
</if>
<if
test=
"params.endDate != null and params.endDate != ''"
>
and DATE(sd.create_time)
<
= #{params.endDate}
</if>
group by s.origin
</select>
<select
id=
"countItemDistributionSample"
resultType=
"cn.wise.sc.cement.business.entity.ItemDistributionSample"
>
SELECT COUNT(sd.team_id) as `count`,t.`name` FROM sample_distribution sd
LEFT JOIN sample s ON sd.sample_id = s.id
LEFT JOIN team t ON t.id = sd.team_id
WHERE
sd.finish_time BETWEEN #{start} AND #{end}
<if
test=
"origin != null and origin != '' "
>
AND s.origin = #{origin}
</if>
<if
test=
"teamId != '' and teamId != null"
>
AND sd.team_id = #{teamId}
</if>
</select>
<select
id=
"countItemDistribution"
resultType=
"cn.wise.sc.cement.business.entity.ItemDistribution"
>
SELECT COUNT(a.sample_id) as `count`,`key` from
(SELECT sd.team_id,sd.sample_id,t.`name`,sd.finish_time,CONCAT(sd.team_id,',',s.origin,',',s.is_foreign) as
`key` FROM sample_distribution sd
LEFT JOIN sample s ON sd.sample_id = s.id
LEFT JOIN team t ON t.id = sd.team_id
WHERE (sd.finish_time between #{start} and #{end})
<if
test=
"origins != null"
>
AND s.origin in
<foreach
collection=
"origins"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"itemId != null"
>
AND sd.team_id = #{itemId}
</if>
) a GROUP BY a.`key`
</select>
</mapper>
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