Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
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
项目统一框架
amos-boot-biz
Commits
5dde42fe
Commit
5dde42fe
authored
Jul 08, 2021
by
suhuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.新增导入
parent
429ce8c3
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
96 additions
and
29 deletions
+96
-29
IDutyCommonService.java
...os/boot/module/common/biz/service/IDutyCommonService.java
+3
-1
DutyCarServiceImpl.java
...ot/module/common/biz/service/impl/DutyCarServiceImpl.java
+3
-21
DutyCommonServiceImpl.java
...module/common/biz/service/impl/DutyCommonServiceImpl.java
+89
-1
DutyPersonServiceImpl.java
...module/common/biz/service/impl/DutyPersonServiceImpl.java
+1
-6
No files found.
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/IDutyCommonService.java
View file @
5dde42fe
...
@@ -12,11 +12,12 @@ import java.util.Map;
...
@@ -12,11 +12,12 @@ import java.util.Map;
public
interface
IDutyCommonService
{
public
interface
IDutyCommonService
{
/**
/**
* 分页查询
* 分页查询
*
* @param current 当前页
* @param current 当前页
* @param size 页大小
* @param size 页大小
* @param beginDate 开始日期
* @param beginDate 开始日期
* @param endDate 结束日期
* @param endDate 结束日期
* @return IPage<Map
<
String, Object>>
* @return IPage<Map
<
String, Object>>
*/
*/
IPage
<
Map
<
String
,
Object
>>
pageList
(
int
current
,
int
size
,
String
beginDate
,
String
endDate
)
throws
ParseException
;
IPage
<
Map
<
String
,
Object
>>
pageList
(
int
current
,
int
size
,
String
beginDate
,
String
endDate
)
throws
ParseException
;
...
@@ -40,6 +41,7 @@ public interface IDutyCommonService {
...
@@ -40,6 +41,7 @@ public interface IDutyCommonService {
/**
/**
* 获取表单参数
* 获取表单参数
*
* @return String
* @return String
*/
*/
String
getGroupCode
();
String
getGroupCode
();
...
...
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/DutyCarServiceImpl.java
View file @
5dde42fe
...
@@ -7,8 +7,6 @@ import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
...
@@ -7,8 +7,6 @@ import com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn;
import
com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance
;
import
com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance
;
import
com.yeejoin.amos.boot.module.common.biz.service.IDutyCarService
;
import
com.yeejoin.amos.boot.module.common.biz.service.IDutyCarService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -62,19 +60,8 @@ public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCa
...
@@ -62,19 +60,8 @@ public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCa
Map
<
String
,
Object
>
map
=
Bean
.
BeantoMap
(
dutyCarDto
);
Map
<
String
,
Object
>
map
=
Bean
.
BeantoMap
(
dutyCarDto
);
//4.已列为主 填充动态表单数据
//4.已列为主 填充动态表单数据
List
<
DynamicFormInstance
>
entrys
=
new
ArrayList
<>();
List
<
DynamicFormInstance
>
entrys
=
new
ArrayList
<>();
for
(
DynamicFormColumn
column
:
columns
)
{
updateFormValue
(
entrys
,
map
,
instanceId
,
columns
,
instanceMap
);
DynamicFormInstance
formInstance
=
instanceMap
.
get
(
column
.
getFieldCode
());
if
(!
entrys
.
isEmpty
())
{
if
(!
ObjectUtils
.
isEmpty
(
formInstance
))
{
//有的更新
formInstance
.
setFieldValue
(
map
.
get
(
column
.
getFieldCode
())
!=
null
?
map
.
get
(
column
.
getFieldCode
()).
toString
()
:
""
);
}
else
{
//没有的新增
formInstance
=
new
DynamicFormInstance
();
buildFormInstanceData
(
instanceId
,
map
,
column
,
formInstance
);
}
entrys
.
add
(
formInstance
);
}
if
(!
entrys
.
isEmpty
()){
dynamicFormInstanceService
.
saveOrUpdateBatch
(
entrys
);
dynamicFormInstanceService
.
saveOrUpdateBatch
(
entrys
);
}
}
//5.更新值班信息人日期数据
//5.更新值班信息人日期数据
...
@@ -95,11 +82,6 @@ public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCa
...
@@ -95,11 +82,6 @@ public class DutyCarServiceImpl extends DutyCommonServiceImpl implements IDutyCa
}
}
private
void
buildFormInstanceData
(
Long
instanceId
,
Map
<
String
,
Object
>
map
,
DynamicFormColumn
column
,
DynamicFormInstance
formInstance
)
{
private
void
buildFormInstanceData
(
Long
instanceId
,
Map
<
String
,
Object
>
map
,
DynamicFormColumn
column
,
DynamicFormInstance
formInstance
)
{
Bean
.
copyExistPropertis
(
column
,
formInstance
);
fillFormInstanceData
(
instanceId
,
map
,
column
,
formInstance
,
sequence
.
nextId
());
formInstance
.
setAppKey
(
RequestContext
.
getAppKey
());
formInstance
.
setInstanceId
(
instanceId
);
formInstance
.
setSequenceNbr
(
sequence
.
nextId
());
formInstance
.
setFormColumnId
(
column
.
getSequenceNbr
());
formInstance
.
setFieldValue
(
map
.
get
(
column
.
getFieldCode
())
!=
null
?
map
.
get
(
column
.
getFieldCode
()).
toString
()
:
""
);
}
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/DutyCommonServiceImpl.java
View file @
5dde42fe
...
@@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
...
@@ -4,12 +4,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Sequence
;
import
com.baomidou.mybatisplus.core.toolkit.Sequence
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.yeejoin.amos.boot.biz.common.utils.DateUtils
;
import
com.yeejoin.amos.boot.module.common.api.dto.DutyPersonShiftDto
;
import
com.yeejoin.amos.boot.module.common.api.entity.DutyPersonShift
;
import
com.yeejoin.amos.boot.module.common.api.entity.DutyPersonShift
;
import
com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn
;
import
com.yeejoin.amos.boot.module.common.api.entity.DynamicFormColumn
;
import
com.yeejoin.amos.boot.module.common.api.entity.DynamicFormInstance
;
import
com.yeejoin.amos.boot.module.common.api.enums.DutyViewTypeEnum
;
import
com.yeejoin.amos.boot.module.common.api.enums.DutyViewTypeEnum
;
import
com.yeejoin.amos.boot.module.common.biz.service.IDutyCommonService
;
import
com.yeejoin.amos.boot.module.common.biz.service.IDutyCommonService
;
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
org.springframework.util.ObjectUtils
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.context.RequestContext
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.foundation.utils.Bean
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
import
org.typroject.tyboot.core.foundation.utils.ValidationUtil
;
...
@@ -122,7 +126,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
...
@@ -122,7 +126,7 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
Map
<
String
,
String
>
params
=
this
.
getRequestParamMap
();
Map
<
String
,
String
>
params
=
this
.
getRequestParamMap
();
List
<
DynamicFormColumn
>
columns
=
dynamicFormColumnService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormColumn
>().
eq
(
DynamicFormColumn:
:
getGroupCode
,
groupCode
));
List
<
DynamicFormColumn
>
columns
=
dynamicFormColumnService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormColumn
>().
eq
(
DynamicFormColumn:
:
getGroupCode
,
groupCode
));
Map
<
String
,
Object
>
fieldCodes
=
Bean
.
listToMap
(
columns
,
"fieldCode"
,
"queryStrategy"
,
DynamicFormColumn
.
class
);
Map
<
String
,
Object
>
fieldCodes
=
Bean
.
listToMap
(
columns
,
"fieldCode"
,
"queryStrategy"
,
DynamicFormColumn
.
class
);
List
<
Map
<
String
,
Object
>>
list
=
dynamicFormInstanceService
.
getBaseMapper
().
listAll
(
RequestContext
.
getAppKey
(),
fieldCodes
,
groupCode
,
params
);
List
<
Map
<
String
,
Object
>>
list
=
dynamicFormInstanceService
.
getBaseMapper
().
listAll
(
RequestContext
.
getAppKey
(),
fieldCodes
,
groupCode
,
params
);
//2.组织值班数据
//2.组织值班数据
for
(
Map
<
String
,
Object
>
map
:
list
)
{
for
(
Map
<
String
,
Object
>
map
:
list
)
{
this
.
fillDutyShiftData
(
beginDate
,
endDate
,
map
);
this
.
fillDutyShiftData
(
beginDate
,
endDate
,
map
);
...
@@ -153,4 +157,88 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
...
@@ -153,4 +157,88 @@ public class DutyCommonServiceImpl implements IDutyCommonService {
public
String
getGroupCode
()
{
public
String
getGroupCode
()
{
return
null
;
return
null
;
}
}
public
void
saveImportData
(
List
<
Map
<
String
,
Object
>>
dataList
)
{
List
<
DynamicFormInstance
>
formInstanceList
=
new
ArrayList
<>();
List
<
DutyPersonShift
>
dutyPersonShifts
=
new
ArrayList
<>();
dataList
.
forEach
(
d
->
{
//TODO: 业务唯一索引,用户id
String
userId
=
d
.
get
(
"userId"
).
toString
();
List
<
DynamicFormInstance
>
instances
=
dynamicFormInstanceService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormInstance
>()
.
eq
(
DynamicFormInstance:
:
getFieldCode
,
userId
)
.
eq
(
DynamicFormInstance:
:
getGroupCode
,
this
.
getGroupCode
()));
Long
instanceId
=
null
;
List
<
DynamicFormColumn
>
columns
=
dynamicFormColumnService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormColumn
>().
eq
(
DynamicFormColumn:
:
getGroupCode
,
this
.
getGroupCode
()));
//1.组装动态表单数据
if
(!
instances
.
isEmpty
())
{
//0.定位instanceId,准备进行更新操作
instanceId
=
instances
.
get
(
0
).
getInstanceId
();
//1.查询已有数据
List
<
DynamicFormInstance
>
instancesInDb
=
dynamicFormInstanceService
.
list
(
new
LambdaQueryWrapper
<
DynamicFormInstance
>().
eq
(
DynamicFormInstance:
:
getInstanceId
,
instanceId
));
//2.list 转 map
Map
<
Object
,
DynamicFormInstance
>
instanceMap
=
Bean
.
listToMap
(
instancesInDb
,
"fieldCode"
,
DynamicFormInstance
.
class
);
//3.待更新数据组装,待批量入库
this
.
updateFormValue
(
formInstanceList
,
d
,
instanceId
,
columns
,
instanceMap
);
}
else
{
//0.新数据,生成id
instanceId
=
sequence
.
nextId
();
Long
finalInstanceId1
=
instanceId
;
//1.组装数据
List
<
DynamicFormInstance
>
newInstances
=
columns
.
stream
().
map
(
column
->
{
DynamicFormInstance
instance
=
new
DynamicFormInstance
();
buildFormInstanceData
(
finalInstanceId1
,
d
,
column
,
instance
);
return
instance
;
}).
collect
(
Collectors
.
toList
());
//2.待更新数据组装,待批量入库
formInstanceList
.
addAll
(
newInstances
);
}
//2.组装值班数据
List
<
DutyPersonShiftDto
>
shiftDtos
=
(
List
<
DutyPersonShiftDto
>)
d
.
get
(
"dutyShift"
);
Long
finalInstanceId
=
instanceId
;
//todo: 只更新当天及值班之后数据
Set
<
DutyPersonShift
>
needToDb
=
shiftDtos
.
stream
().
filter
(
s
->
DateUtils
.
dateCompare
(
s
.
getDutyDate
(),
new
Date
())
>=
0
).
map
(
shiftDto
->
{
DutyPersonShift
dutyPersonShift
=
new
DutyPersonShift
();
Bean
.
copyExistPropertis
(
shiftDto
,
dutyPersonShift
);
dutyPersonShift
.
setInstanceId
(
finalInstanceId
);
dutyPersonShift
.
setAppKey
(
RequestContext
.
getAppKey
());
return
dutyPersonShift
;
}).
collect
(
Collectors
.
toSet
());
dutyPersonShifts
.
addAll
(
needToDb
);
});
if
(!
formInstanceList
.
isEmpty
())
{
dynamicFormInstanceService
.
saveOrUpdateBatch
(
formInstanceList
);
}
if
(!
dutyPersonShifts
.
isEmpty
())
{
dutyPersonShiftService
.
saveOrUpdateBatch
(
dutyPersonShifts
);
}
}
public
void
updateFormValue
(
List
<
DynamicFormInstance
>
formInstanceList
,
Map
<
String
,
Object
>
d
,
Long
instanceId
,
List
<
DynamicFormColumn
>
columns
,
Map
<
Object
,
DynamicFormInstance
>
instanceMap
)
{
for
(
DynamicFormColumn
column
:
columns
)
{
DynamicFormInstance
formInstance
=
instanceMap
.
get
(
column
.
getFieldCode
());
if
(!
ObjectUtils
.
isEmpty
(
formInstance
))
{
//有的更新
formInstance
.
setFieldValue
(
d
.
get
(
column
.
getFieldCode
())
!=
null
?
d
.
get
(
column
.
getFieldCode
()).
toString
()
:
""
);
}
else
{
//没有的新增
formInstance
=
new
DynamicFormInstance
();
buildFormInstanceData
(
instanceId
,
d
,
column
,
formInstance
);
}
formInstanceList
.
add
(
formInstance
);
}
}
private
void
buildFormInstanceData
(
Long
instanceId
,
Map
<
String
,
Object
>
map
,
DynamicFormColumn
column
,
DynamicFormInstance
formInstance
)
{
DutyCarServiceImpl
.
fillFormInstanceData
(
instanceId
,
map
,
column
,
formInstance
,
sequence
.
nextId
());
}
static
void
fillFormInstanceData
(
Long
instanceId
,
Map
<
String
,
Object
>
map
,
DynamicFormColumn
column
,
DynamicFormInstance
formInstance
,
long
l
)
{
Bean
.
copyExistPropertis
(
column
,
formInstance
);
formInstance
.
setAppKey
(
RequestContext
.
getAppKey
());
formInstance
.
setInstanceId
(
instanceId
);
formInstance
.
setSequenceNbr
(
l
);
formInstance
.
setFormColumnId
(
column
.
getSequenceNbr
());
formInstance
.
setFieldValue
(
map
.
get
(
column
.
getFieldCode
())
!=
null
?
map
.
get
(
column
.
getFieldCode
()).
toString
()
:
""
);
}
}
}
amos-boot-module/amos-boot-module-biz/amos-boot-module-common-biz/src/main/java/com/yeejoin/amos/boot/module/common/biz/service/impl/DutyPersonServiceImpl.java
View file @
5dde42fe
...
@@ -95,11 +95,6 @@ public class DutyPersonServiceImpl extends DutyCommonServiceImpl implements IDut
...
@@ -95,11 +95,6 @@ public class DutyPersonServiceImpl extends DutyCommonServiceImpl implements IDut
}
}
private
void
buildFormInstanceData
(
Long
instanceId
,
Map
<
String
,
Object
>
map
,
DynamicFormColumn
column
,
DynamicFormInstance
formInstance
)
{
private
void
buildFormInstanceData
(
Long
instanceId
,
Map
<
String
,
Object
>
map
,
DynamicFormColumn
column
,
DynamicFormInstance
formInstance
)
{
Bean
.
copyExistPropertis
(
column
,
formInstance
);
fillFormInstanceData
(
instanceId
,
map
,
column
,
formInstance
,
sequence
.
nextId
());
formInstance
.
setAppKey
(
RequestContext
.
getAppKey
());
formInstance
.
setInstanceId
(
instanceId
);
formInstance
.
setSequenceNbr
(
sequence
.
nextId
());
formInstance
.
setFormColumnId
(
column
.
getSequenceNbr
());
formInstance
.
setFieldValue
(
map
.
get
(
column
.
getFieldCode
())
!=
null
?
map
.
get
(
column
.
getFieldCode
()).
toString
()
:
""
);
}
}
}
}
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