Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
patzn-cloud-service-hmhj
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
wangweidong
patzn-cloud-service-hmhj
Commits
bbe8405a
Commit
bbe8405a
authored
Jul 27, 2021
by
ghxdhr
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
质控管理统计各月完成量和总量
parent
f429990f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
102 additions
and
3 deletions
+102
-3
QualityManagementController.java
...ice/lims/hmhj/controller/QualityManagementController.java
+9
-0
IQualityManagementService.java
.../service/lims/hmhj/service/IQualityManagementService.java
+4
-0
QualityManagementServiceImpl.java
.../lims/hmhj/service/impl/QualityManagementServiceImpl.java
+89
-3
No files found.
src/main/java/com/patzn/cloud/service/lims/hmhj/controller/QualityManagementController.java
View file @
bbe8405a
...
@@ -13,7 +13,9 @@ import io.swagger.annotations.ApiOperation;
...
@@ -13,7 +13,9 @@ import io.swagger.annotations.ApiOperation;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 质检管理表 前端控制器
* 质检管理表 前端控制器
...
@@ -74,4 +76,11 @@ public class QualityManagementController extends ServiceController {
...
@@ -74,4 +76,11 @@ public class QualityManagementController extends ServiceController {
public
RestResult
<
Boolean
>
delete
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
public
RestResult
<
Boolean
>
delete
(
@RequestParam
(
"ids"
)
List
<
Long
>
ids
)
{
return
success
(
qualityManagementService
.
removeByIds
(
ids
));
return
success
(
qualityManagementService
.
removeByIds
(
ids
));
}
}
@ApiOperation
(
"统计各月完成量和总量"
)
@PostMapping
(
"/month_statistic"
)
public
RestResult
<
Map
<
String
,
Map
<
String
,
Long
>>>
monthStatistic
(
@RequestParam
(
"start"
)
Date
start
,
@RequestParam
(
"end"
)
Date
end
)
{
return
success
(
qualityManagementService
.
monthStatistic
(
start
,
end
));
}
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/IQualityManagementService.java
View file @
bbe8405a
...
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.plugins.Page;
...
@@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.plugins.Page;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.commons.service.IBaseService
;
import
com.patzn.cloud.service.hmhj.entity.QualityManagement
;
import
com.patzn.cloud.service.hmhj.entity.QualityManagement
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 质检管理表 服务类
* 质检管理表 服务类
...
@@ -19,4 +21,6 @@ public interface IQualityManagementService extends IBaseService<QualityManagemen
...
@@ -19,4 +21,6 @@ public interface IQualityManagementService extends IBaseService<QualityManagemen
boolean
removeByIds
(
List
<
Long
>
ids
);
boolean
removeByIds
(
List
<
Long
>
ids
);
boolean
updateAndRecord
(
QualityManagement
qualityManagement
);
boolean
updateAndRecord
(
QualityManagement
qualityManagement
);
Map
<
String
,
Map
<
String
,
Long
>>
monthStatistic
(
Date
start
,
Date
end
);
}
}
src/main/java/com/patzn/cloud/service/lims/hmhj/service/impl/QualityManagementServiceImpl.java
View file @
bbe8405a
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
package
com
.
patzn
.
cloud
.
service
.
lims
.
hmhj
.
service
.
impl
;
import
com.baomidou.mybatisplus.mapper.Condition
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.EntityWrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.mapper.Wrapper
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.baomidou.mybatisplus.plugins.Page
;
import
com.patzn.cloud.commons.controller.LoginHelper
;
import
com.patzn.cloud.commons.controller.LoginHelper
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.commons.service.impl.BaseServiceImpl
;
import
com.patzn.cloud.
service.hmhj.entity.NoticeAnnouncement
;
import
com.patzn.cloud.
commons.toolkit.CollectionUtils
;
import
com.patzn.cloud.
service.hmhj.entity.NoticeRecord
;
import
com.patzn.cloud.
commons.toolkit.DateUtils
;
import
com.patzn.cloud.service.hmhj.entity.QualityManagement
;
import
com.patzn.cloud.service.hmhj.entity.QualityManagement
;
import
com.patzn.cloud.service.hmhj.entity.QualityManagementRecord
;
import
com.patzn.cloud.service.hmhj.entity.QualityManagementRecord
;
import
com.patzn.cloud.service.lims.base.service.ILmsPropertyService
;
import
com.patzn.cloud.service.lims.base.service.ILmsPropertyService
;
...
@@ -17,7 +18,8 @@ import org.apache.commons.lang3.StringUtils;
...
@@ -17,7 +18,8 @@ import org.apache.commons.lang3.StringUtils;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
/**
/**
* 质检管理表 服务实现类
* 质检管理表 服务实现类
...
@@ -62,4 +64,88 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
...
@@ -62,4 +64,88 @@ public class QualityManagementServiceImpl extends BaseServiceImpl<QualityManagem
}
}
return
super
.
updateById
(
qualityManagement
);
return
super
.
updateById
(
qualityManagement
);
}
}
/* 返回每个月的完成量和总量 */
@Override
public
Map
<
String
,
Map
<
String
,
Long
>>
monthStatistic
(
Date
start
,
Date
end
)
{
String
totalKey
=
"total"
;
//总量的key
String
finishedKey
=
"finished"
;
//已完成的key
Map
<
String
,
Map
<
String
,
Long
>>
resMap
=
new
HashMap
<>();
if
(
start
.
after
(
end
))
{
return
null
;
}
/* 得到start-end时间段内所有的完成量和总量,然后分别得到各月的完成量和总量 */
SimpleDateFormat
format
=
new
SimpleDateFormat
(
"yyyy-MM"
);
Date
startYM
=
DateUtils
.
toDate
(
format
.
format
(
start
));
Date
endYM
=
DateUtils
.
toDate
(
format
.
format
(
end
));
List
<
QualityManagement
>
all
=
this
.
list
(
Condition
.
create
().
between
(
"ctime"
,
startYM
,
endYM
));
if
(
CollectionUtils
.
isEmpty
(
all
))
{
return
null
;
}
/* 得到每月开始天和结束天;比如2021-07[key] --> 2021-07-01 00:00:00~2021-07-31 23:59:59[value] */
Map
<
String
,
Map
<
String
,
Date
>>
monthStartDayEndDayMap
=
getMonthStartDayEndDayMap
(
start
,
end
);
String
startKey
=
"begin"
;
String
endKey
=
"end"
;
for
(
Map
.
Entry
<
String
,
Map
<
String
,
Date
>>
entry
:
monthStartDayEndDayMap
.
entrySet
())
{
String
key
=
entry
.
getKey
();
Map
<
String
,
Date
>
beginEndMap
=
entry
.
getValue
();
Date
mStart
=
beginEndMap
.
get
(
startKey
);
Date
mEnd
=
beginEndMap
.
get
(
endKey
);
Long
finishNum
=
0L
;
Long
totalNum
=
0L
;
List
<
QualityManagement
>
delete
=
new
ArrayList
<>();
for
(
QualityManagement
qm
:
all
)
{
if
(
qm
.
getCtime
().
after
(
mStart
)
&&
qm
.
getCtime
().
before
(
mEnd
))
{
delete
.
add
(
qm
);
if
(
qm
.
getStatus
()
==
1
)
{
//完成
finishNum
++;
}
totalNum
++;
}
}
HashMap
<
String
,
Long
>
totalFinishedMap
=
new
HashMap
<>();
totalFinishedMap
.
put
(
totalKey
,
totalNum
);
totalFinishedMap
.
put
(
finishedKey
,
finishNum
);
resMap
.
put
(
key
,
totalFinishedMap
);
}
return
resMap
;
}
private
Map
<
String
,
Map
<
String
,
Date
>>
getMonthStartDayEndDayMap
(
Date
start
,
Date
end
)
{
String
ym
=
"yyyy-MM"
;
String
ymd
=
"yyyy-MM-dd"
;
String
ymdt
=
"yyyy-MM-dd HH:mm:ss"
;
String
startTime
=
" 00:00:00"
;
String
endTime
=
" 23:59:59"
;
String
startKey
=
"begin"
;
String
endKey
=
"end"
;
String
startStr
=
DateUtils
.
toStrByFormatStr
(
start
,
ym
);
String
endStr
=
DateUtils
.
toStrByFormatStr
(
end
,
ym
);
Map
<
String
,
Map
<
String
,
Date
>>
map
=
new
HashMap
<>();
Calendar
cStart
=
Calendar
.
getInstance
();
cStart
.
setTime
(
DateUtils
.
toDateByFormatStr
(
startStr
,
ym
));
Calendar
cEnd
=
Calendar
.
getInstance
();
cEnd
.
setTime
(
DateUtils
.
toDateByFormatStr
(
endStr
,
ym
));
cEnd
.
add
(
Calendar
.
MONTH
,
1
);
// 加一个月,不超过这个月
while
(
cStart
.
before
(
cEnd
))
{
String
key
=
DateUtils
.
toStrByFormatStr
(
cStart
.
getTime
(),
ym
);
cStart
.
set
(
Calendar
.
DAY_OF_MONTH
,
1
);
//第一天
String
s
=
DateUtils
.
toStrByFormatStr
(
cStart
.
getTime
(),
ymd
)
+
startTime
;
cStart
.
set
(
Calendar
.
DAY_OF_MONTH
,
cStart
.
getActualMaximum
(
Calendar
.
DAY_OF_MONTH
));
//最后一天
String
e
=
DateUtils
.
toStrByFormatStr
(
cStart
.
getTime
(),
ymd
)
+
endTime
;
HashMap
<
String
,
Date
>
SEMap
=
new
HashMap
<>();
SEMap
.
put
(
startKey
,
DateUtils
.
toDateByFormatStr
(
s
,
ymdt
));
SEMap
.
put
(
endKey
,
DateUtils
.
toDateByFormatStr
(
e
,
ymdt
));
map
.
put
(
key
,
SEMap
);
cStart
.
add
(
Calendar
.
MONTH
,
1
);
}
return
map
;
}
}
}
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