Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
dsk-operate-sys-cscec
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
fulixin
dsk-operate-sys-cscec
Commits
a023ff08
Commit
a023ff08
authored
Feb 27, 2024
by
tanyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
措施费相关导入优化
parent
eb061346
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
83 additions
and
75 deletions
+83
-75
CbCostMeasureController.java
...ava/com/dsk/cscec/controller/CbCostMeasureController.java
+22
-6
ProjectCostMeasureImportListener.java
.../dsk/cscec/listener/ProjectCostMeasureImportListener.java
+1
-7
ProjectCostMeasureSummaryImportListener.java
...cec/listener/ProjectCostMeasureSummaryImportListener.java
+4
-4
CbProjectExpenseSummaryService.java
...com/dsk/cscec/service/CbProjectExpenseSummaryService.java
+3
-0
ICbCostMeasureService.java
...ain/java/com/dsk/cscec/service/ICbCostMeasureService.java
+2
-3
CbCostMeasureServiceImpl.java
.../com/dsk/cscec/service/impl/CbCostMeasureServiceImpl.java
+41
-55
CbProjectExpenseSummaryServiceImpl.java
...scec/service/impl/CbProjectExpenseSummaryServiceImpl.java
+10
-0
No files found.
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbCostMeasureController.java
View file @
a023ff08
...
@@ -17,6 +17,7 @@ import com.dsk.common.helper.LoginHelper;
...
@@ -17,6 +17,7 @@ import com.dsk.common.helper.LoginHelper;
import
com.dsk.common.utils.poi.ExcelUtil
;
import
com.dsk.common.utils.poi.ExcelUtil
;
import
com.dsk.common.utils.redis.RedisUtils
;
import
com.dsk.common.utils.redis.RedisUtils
;
import
com.dsk.cscec.domain.CbCostMeasure
;
import
com.dsk.cscec.domain.CbCostMeasure
;
import
com.dsk.cscec.domain.CbProjectExpenseSummary
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualPushBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualPushBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo
;
...
@@ -24,6 +25,7 @@ import com.dsk.cscec.domain.vo.CbCostMeasureActualVo;
...
@@ -24,6 +25,7 @@ import com.dsk.cscec.domain.vo.CbCostMeasureActualVo;
import
com.dsk.cscec.domain.vo.CbCostMeasuresImportVo
;
import
com.dsk.cscec.domain.vo.CbCostMeasuresImportVo
;
import
com.dsk.cscec.domain.vo.CbCostMeasuresItemVo
;
import
com.dsk.cscec.domain.vo.CbCostMeasuresItemVo
;
import
com.dsk.cscec.listener.ProjectCostMeasureImportListener
;
import
com.dsk.cscec.listener.ProjectCostMeasureImportListener
;
import
com.dsk.cscec.service.CbProjectExpenseSummaryService
;
import
com.dsk.cscec.service.ICbCostMeasureService
;
import
com.dsk.cscec.service.ICbCostMeasureService
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
com.dsk.system.domain.vo.SysUserImportVo
;
import
com.dsk.system.listener.SysUserImportListener
;
import
com.dsk.system.listener.SysUserImportListener
;
...
@@ -57,6 +59,10 @@ public class CbCostMeasureController {
...
@@ -57,6 +59,10 @@ public class CbCostMeasureController {
private
ICbCostMeasureService
cbCostMeasureService
;
private
ICbCostMeasureService
cbCostMeasureService
;
@Autowired
private
CbProjectExpenseSummaryService
cbProjectExpenseSummaryService
;
/**
/**
* 措施费一级大类
* 措施费一级大类
* 根据项目查询措施费一级大类
* 根据项目查询措施费一级大类
...
@@ -161,15 +167,13 @@ public class CbCostMeasureController {
...
@@ -161,15 +167,13 @@ public class CbCostMeasureController {
/**
/**
* 措施费导入数据
* 措施费导入数据
*
*
* @param projectFileIds 导入文件
* @param projectId 项目id
* @param projectId 项目id
*/
*/
@SaIgnore
@SaIgnore
@Log
(
title
=
"措施费导入"
,
businessType
=
BusinessType
.
IMPORT
)
@Log
(
title
=
"措施费导入"
,
businessType
=
BusinessType
.
IMPORT
)
@PostMapping
(
value
=
"/parseCbCostMeasureFile"
)
@PostMapping
(
value
=
"/parseCbCostMeasureFile"
)
public
R
<
Void
>
parseCbCostMeasureFile
(
Long
projectId
,
@RequestParam
(
"projectFileIds"
)
Long
[]
projectFileIds
)
throws
Exception
{
public
R
<
Void
>
parseCbCostMeasureFile
(
Long
projectId
)
throws
Exception
{
List
<
Long
>
fileIds
=
Arrays
.
stream
(
projectFileIds
).
collect
(
Collectors
.
toList
());
cbCostMeasureService
.
parseCbCostMeasureFile
(
projectId
);
cbCostMeasureService
.
parseCbCostMeasureFile
(
projectId
,
fileIds
);
return
R
.
ok
();
return
R
.
ok
();
}
}
...
@@ -187,11 +191,23 @@ public class CbCostMeasureController {
...
@@ -187,11 +191,23 @@ public class CbCostMeasureController {
@PostMapping
(
value
=
"/summary/importData"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
@PostMapping
(
value
=
"/summary/importData"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
public
R
<
Void
>
importSummaryData
(
@RequestPart
(
"file"
)
MultipartFile
file
,
Long
projectId
)
throws
Exception
{
public
R
<
Void
>
importSummaryData
(
@RequestPart
(
"file"
)
MultipartFile
file
,
Long
projectId
)
throws
Exception
{
Integer
dataType
=
2
;
Integer
dataType
=
2
;
cbCostMeasureService
.
importExcelSummaryData
(
file
.
getInputStream
(),
projectId
,
dataType
);
cbCostMeasureService
.
importExcelSummaryData
(
file
.
getInputStream
(),
projectId
,
null
,
dataType
);
return
R
.
ok
();
return
R
.
ok
();
}
}
@SaIgnore
@Log
(
title
=
"措施费汇总获取"
)
// @SaCheckPermission("system:user:import")
@PostMapping
(
value
=
"/summary/data"
)
public
R
<
List
<
CbProjectExpenseSummary
>>
importSummaryData
(
Long
projectId
)
throws
Exception
{
Integer
dataType
=
2
;
List
<
CbProjectExpenseSummary
>
cbProjectExpenseSummaries
=
cbProjectExpenseSummaryService
.
queryCbSceneExpenseSummaryDataByType
(
projectId
,
dataType
);
return
R
.
ok
(
cbProjectExpenseSummaries
);
}
public
static
void
main
(
String
[]
args
)
throws
FileNotFoundException
{
public
static
void
main
(
String
[]
args
)
throws
FileNotFoundException
{
List
list
=
new
ArrayList
<>();
List
list
=
new
ArrayList
<>();
...
@@ -199,7 +215,7 @@ public class CbCostMeasureController {
...
@@ -199,7 +215,7 @@ public class CbCostMeasureController {
FileInputStream
inputStream
=
new
FileInputStream
(
file
);
FileInputStream
inputStream
=
new
FileInputStream
(
file
);
ExcelResult
<
CbCostMeasuresImportVo
>
result
=
ExcelUtil
.
importExcel
(
inputStream
,
CbCostMeasuresImportVo
.
class
,
new
ProjectCostMeasureImportListener
(
1L
,
1
));
ExcelResult
<
CbCostMeasuresImportVo
>
result
=
ExcelUtil
.
importExcel
(
inputStream
,
CbCostMeasuresImportVo
.
class
,
new
ProjectCostMeasureImportListener
(
1L
));
String
analysis
=
result
.
getAnalysis
();
String
analysis
=
result
.
getAnalysis
();
List
<
CbCostMeasuresImportVo
>
list1
=
result
.
getList
();
List
<
CbCostMeasuresImportVo
>
list1
=
result
.
getList
();
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/listener/ProjectCostMeasureImportListener.java
View file @
a023ff08
...
@@ -32,11 +32,7 @@ import java.util.regex.Pattern;
...
@@ -32,11 +32,7 @@ import java.util.regex.Pattern;
public
class
ProjectCostMeasureImportListener
extends
AnalysisEventListener
<
CbCostMeasuresImportVo
>
implements
ExcelListener
<
CbCostMeasuresImportVo
>
{
public
class
ProjectCostMeasureImportListener
extends
AnalysisEventListener
<
CbCostMeasuresImportVo
>
implements
ExcelListener
<
CbCostMeasuresImportVo
>
{
private
final
CbCostMeasureServiceImpl
cbCostMeasureService
;
private
final
CbCostMeasureServiceImpl
cbCostMeasureService
;
//
// private final String password;
private
final
Long
projectId
;
private
final
Long
projectId
;
private
final
Integer
cbStage
;
private
List
<
CbCostMeasuresImportVo
>
dataList
=
new
ArrayList
<>();
private
List
<
CbCostMeasuresImportVo
>
dataList
=
new
ArrayList
<>();
...
@@ -49,10 +45,8 @@ public class ProjectCostMeasureImportListener extends AnalysisEventListener<CbCo
...
@@ -49,10 +45,8 @@ public class ProjectCostMeasureImportListener extends AnalysisEventListener<CbCo
private
final
StringBuilder
successMsg
=
new
StringBuilder
();
private
final
StringBuilder
successMsg
=
new
StringBuilder
();
private
final
StringBuilder
failureMsg
=
new
StringBuilder
();
private
final
StringBuilder
failureMsg
=
new
StringBuilder
();
public
ProjectCostMeasureImportListener
(
Long
projectId
,
Integer
cbStage
)
{
public
ProjectCostMeasureImportListener
(
Long
projectId
)
{
// String initPassword = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.user.initPassword");
this
.
cbCostMeasureService
=
SpringUtils
.
getBean
(
CbCostMeasureServiceImpl
.
class
);
this
.
cbCostMeasureService
=
SpringUtils
.
getBean
(
CbCostMeasureServiceImpl
.
class
);
this
.
cbStage
=
cbStage
;
this
.
projectId
=
projectId
;
this
.
projectId
=
projectId
;
// this.operName = LoginHelper.getUsername();
// this.operName = LoginHelper.getUsername();
}
}
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/listener/ProjectCostMeasureSummaryImportListener.java
View file @
a023ff08
...
@@ -35,7 +35,7 @@ public class ProjectCostMeasureSummaryImportListener extends AnalysisEventListen
...
@@ -35,7 +35,7 @@ public class ProjectCostMeasureSummaryImportListener extends AnalysisEventListen
// private final String password;
// private final String password;
private
final
Long
projectId
;
private
final
Long
projectId
;
private
final
Integer
cbStage
;
private
final
Long
fileId
;
private
final
Integer
dataType
;
private
final
Integer
dataType
;
private
List
<
CbProjectExpenseSummaryImportVo
>
dataList
=
new
ArrayList
<>();
private
List
<
CbProjectExpenseSummaryImportVo
>
dataList
=
new
ArrayList
<>();
...
@@ -48,9 +48,9 @@ public class ProjectCostMeasureSummaryImportListener extends AnalysisEventListen
...
@@ -48,9 +48,9 @@ public class ProjectCostMeasureSummaryImportListener extends AnalysisEventListen
private
final
StringBuilder
successMsg
=
new
StringBuilder
();
private
final
StringBuilder
successMsg
=
new
StringBuilder
();
private
final
StringBuilder
failureMsg
=
new
StringBuilder
();
private
final
StringBuilder
failureMsg
=
new
StringBuilder
();
public
ProjectCostMeasureSummaryImportListener
(
Long
projectId
,
Integer
cbStage
,
Integer
dataType
)
{
public
ProjectCostMeasureSummaryImportListener
(
Long
projectId
,
Long
fileId
,
Integer
dataType
)
{
this
.
cbProjectExpenseSummaryService
=
SpringUtils
.
getBean
(
CbProjectExpenseSummaryService
.
class
);
this
.
cbProjectExpenseSummaryService
=
SpringUtils
.
getBean
(
CbProjectExpenseSummaryService
.
class
);
this
.
cbStage
=
cbStage
;
this
.
fileId
=
fileId
;
this
.
projectId
=
projectId
;
this
.
projectId
=
projectId
;
this
.
dataType
=
dataType
;
this
.
dataType
=
dataType
;
}
}
...
@@ -61,7 +61,7 @@ public class ProjectCostMeasureSummaryImportListener extends AnalysisEventListen
...
@@ -61,7 +61,7 @@ public class ProjectCostMeasureSummaryImportListener extends AnalysisEventListen
CbProjectExpenseSummary
cbProjectExpenseSummary
=
new
CbProjectExpenseSummary
();
CbProjectExpenseSummary
cbProjectExpenseSummary
=
new
CbProjectExpenseSummary
();
BeanUtil
.
copyProperties
(
importVo
,
cbProjectExpenseSummary
);
BeanUtil
.
copyProperties
(
importVo
,
cbProjectExpenseSummary
);
cbProjectExpenseSummary
.
setProjectId
(
projectId
);
cbProjectExpenseSummary
.
setProjectId
(
projectId
);
cbProjectExpenseSummary
.
set
CbStage
(
cbStage
);
cbProjectExpenseSummary
.
set
ProjectFileId
(
fileId
);
cbProjectExpenseSummary
.
setDataType
(
dataType
);
cbProjectExpenseSummary
.
setDataType
(
dataType
);
// cbProjectExpenseSummary.setCreateBy(LoginHelper.getUsername());
// cbProjectExpenseSummary.setCreateBy(LoginHelper.getUsername());
boolean
save
=
cbProjectExpenseSummaryService
.
save
(
cbProjectExpenseSummary
);
boolean
save
=
cbProjectExpenseSummaryService
.
save
(
cbProjectExpenseSummary
);
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbProjectExpenseSummaryService.java
View file @
a023ff08
...
@@ -22,4 +22,7 @@ public interface CbProjectExpenseSummaryService extends IService<CbProjectExpens
...
@@ -22,4 +22,7 @@ public interface CbProjectExpenseSummaryService extends IService<CbProjectExpens
* @return 现场经费汇总数据
* @return 现场经费汇总数据
*/
*/
List
<
CbProjectExpenseSummary
>
getCbSceneExpenseSummaryData
(
Long
projectId
);
List
<
CbProjectExpenseSummary
>
getCbSceneExpenseSummaryData
(
Long
projectId
);
List
<
CbProjectExpenseSummary
>
queryCbSceneExpenseSummaryDataByType
(
Long
projectId
,
Integer
dataType
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/ICbCostMeasureService.java
View file @
a023ff08
...
@@ -5,6 +5,7 @@ import com.dsk.common.core.domain.PageQuery;
...
@@ -5,6 +5,7 @@ import com.dsk.common.core.domain.PageQuery;
import
com.dsk.common.core.domain.entity.SysDictData
;
import
com.dsk.common.core.domain.entity.SysDictData
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.CbCostMeasure
;
import
com.dsk.cscec.domain.CbCostMeasure
;
import
com.dsk.cscec.domain.CbProjectExpenseSummary
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualPushBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualPushBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo
;
import
com.dsk.cscec.domain.bo.CbCostMeasureActualSaveBo
;
...
@@ -34,12 +35,10 @@ public interface ICbCostMeasureService extends IService<CbCostMeasure> {
...
@@ -34,12 +35,10 @@ public interface ICbCostMeasureService extends IService<CbCostMeasure> {
void
pushCostMeasureActual
(
CbCostMeasureActualPushBo
pushBo
);
void
pushCostMeasureActual
(
CbCostMeasureActualPushBo
pushBo
);
List
<
String
>
importExcelSummaryData
(
InputStream
inputStream
,
Long
projectId
,
Integer
dataType
);
List
<
String
>
importExcelSummaryData
(
InputStream
inputStream
,
Long
projectId
,
Long
fileId
,
Integer
dataType
);
void
parseCbCostMeasureFile
(
Long
projectId
);
void
parseCbCostMeasureFile
(
Long
projectId
);
void
parseCbCostMeasureFile
(
Long
projectId
,
List
<
Long
>
projectFileIds
);
boolean
reparseCbCostMeasureFile
(
Long
projectId
,
Long
projectFileId
);
boolean
reparseCbCostMeasureFile
(
Long
projectId
,
Long
projectFileId
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbCostMeasureServiceImpl.java
View file @
a023ff08
...
@@ -33,6 +33,7 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -33,6 +33,7 @@ import lombok.extern.slf4j.Slf4j;
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
com.dsk.cscec.mapper.CbCostMeasureMapper
;
import
com.dsk.cscec.mapper.CbCostMeasureMapper
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.io.ByteArrayInputStream
;
import
java.io.ByteArrayInputStream
;
import
java.io.InputStream
;
import
java.io.InputStream
;
...
@@ -68,23 +69,19 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -68,23 +69,19 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
@SneakyThrows
@SneakyThrows
@Override
@Override
public
void
importExcelData
(
InputStream
inputStream
,
String
fileName
,
Long
fileId
,
Long
projectId
)
{
public
void
importExcelData
(
InputStream
inputStream
,
String
fileName
,
Long
fileId
,
Long
projectId
)
{
// 检查项目
String
name
=
FileNameUtil
.
getPrefix
(
fileName
);
checkProjectExist
(
projectId
);
ProjectCostMeasureImportListener
importListener
=
new
ProjectCostMeasureImportListener
(
projectId
);
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
projectId
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
Integer
cbStage
=
byId
.
getCbStage
();
ProjectCostMeasureImportListener
importListener
=
new
ProjectCostMeasureImportListener
(
projectId
,
cbStage
);
EasyExcel
.
read
(
inputStream
,
CbCostMeasuresImportVo
.
class
,
importListener
).
sheet
().
doRead
();
EasyExcel
.
read
(
inputStream
,
CbCostMeasuresImportVo
.
class
,
importListener
).
sheet
().
doRead
();
ExcelResult
<
CbCostMeasuresImportVo
>
result
=
importListener
.
getExcelResult
();
ExcelResult
<
CbCostMeasuresImportVo
>
result
=
importListener
.
getExcelResult
();
String
analysis
=
result
.
getAnalysis
();
String
analysis
=
result
.
getAnalysis
();
List
<
CbCostMeasuresImportVo
>
list
=
result
.
getList
();
List
<
CbCostMeasuresImportVo
>
list
=
result
.
getList
();
List
<
String
>
errorList
=
result
.
getErrorList
();
List
<
String
>
errorList
=
result
.
getErrorList
();
if
(
CollectionUtil
.
isNotEmpty
(
errorList
)
||
CollectionUtil
.
isEmpty
(
list
))
{
if
(
CollectionUtil
.
isNotEmpty
(
errorList
)
||
CollectionUtil
.
isEmpty
(
list
))
{
//解析失败
//解析失败
log
.
debug
(
">>>>解析失败"
+
list
.
size
());
log
.
debug
(
">>>>解析失败"
+
list
.
size
());
//todo 解析失败更新文件备注
//todo 解析失败更新文件备注
cbProjectFileService
.
UpdateProjectFileStatus
(
fileId
,
analysis
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
cbProjectFileService
.
UpdateProjectFileStatus
(
fileId
,
analysis
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
return
;
return
;
}
}
log
.
debug
(
">>>>"
+
list
.
size
());
log
.
debug
(
">>>>"
+
list
.
size
());
...
@@ -96,7 +93,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -96,7 +93,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
this
.
remove
(
summaryLambdaQueryWrapper
);
this
.
remove
(
summaryLambdaQueryWrapper
);
CbCostMeasure
rootCbCostMeasure
=
new
CbCostMeasure
();
CbCostMeasure
rootCbCostMeasure
=
new
CbCostMeasure
();
rootCbCostMeasure
.
setItemContent
(
n
ame
);
rootCbCostMeasure
.
setItemContent
(
fileN
ame
);
rootCbCostMeasure
.
setLevel
(
0
);
rootCbCostMeasure
.
setLevel
(
0
);
rootCbCostMeasure
.
setParentId
(
0L
);
rootCbCostMeasure
.
setParentId
(
0L
);
rootCbCostMeasure
.
setProjectId
(
projectId
);
rootCbCostMeasure
.
setProjectId
(
projectId
);
...
@@ -130,7 +127,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -130,7 +127,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
}
else
if
(
ReUtil
.
isMatch
(
secondPattern
,
number
))
{
}
else
if
(
ReUtil
.
isMatch
(
secondPattern
,
number
))
{
BeanUtil
.
copyProperties
(
importVo
,
cbCostMeasure
);
BeanUtil
.
copyProperties
(
importVo
,
cbCostMeasure
);
// 根据no查询父级节点
// 根据no查询父级节点
CbCostMeasure
parentCbCostMeasure
=
getCbCostMeasure
(
rootMeasuresId
,
number
,
projectId
,
cbStage
);
CbCostMeasure
parentCbCostMeasure
=
getCbCostMeasure
(
rootMeasuresId
,
number
,
projectId
);
String
[]
split
=
number
.
split
(
"\\."
);
String
[]
split
=
number
.
split
(
"\\."
);
cbCostMeasure
.
setLevel
(
split
.
length
);
cbCostMeasure
.
setLevel
(
split
.
length
);
cbCostMeasure
.
setParentId
(
parentCbCostMeasure
.
getId
());
cbCostMeasure
.
setParentId
(
parentCbCostMeasure
.
getId
());
...
@@ -140,7 +137,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -140,7 +137,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
this
.
save
(
cbCostMeasure
);
this
.
save
(
cbCostMeasure
);
}
}
cbProjectFileService
.
UpdateProjectFileStatus
(
fileId
,
null
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
);
cbProjectFileService
.
UpdateProjectFileStatus
(
fileId
,
null
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
);
}
}
}
}
...
@@ -170,8 +167,6 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -170,8 +167,6 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
Assert
.
notNull
(
costMeasureActualBo
.
getProjectId
(),
"项目ID不能为空"
);
Assert
.
notNull
(
costMeasureActualBo
.
getProjectId
(),
"项目ID不能为空"
);
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
costMeasureActualBo
.
getProjectId
());
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
costMeasureActualBo
.
getProjectId
());
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
costMeasureActualBo
.
setCbStage
(
byId
.
getCbStage
());
//查询项目某项措施费所有计划成本
//查询项目某项措施费所有计划成本
dataList
=
baseMapper
.
selectListByProjectAndNo
(
costMeasureActualBo
);
dataList
=
baseMapper
.
selectListByProjectAndNo
(
costMeasureActualBo
);
// if (CollectionUtil.isEmpty(dataList)) {
// if (CollectionUtil.isEmpty(dataList)) {
...
@@ -217,49 +212,38 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -217,49 +212,38 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
@SneakyThrows
@SneakyThrows
@Override
@Override
public
List
<
String
>
importExcelSummaryData
(
InputStream
inputStream
,
Long
projectId
,
Integer
dataType
)
{
public
List
<
String
>
importExcelSummaryData
(
InputStream
inputStream
,
Long
projectId
,
Long
fileId
,
Integer
dataType
)
{
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
projectId
);
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
projectId
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
Integer
cbStage
=
byId
.
getCbStage
();
// 删除历史数据
// 删除历史数据
LambdaUpdateWrapper
<
CbProjectExpenseSummary
>
summaryLambdaQueryWrapper
=
Wrappers
.
lambdaUpdate
();
LambdaUpdateWrapper
<
CbProjectExpenseSummary
>
summaryLambdaQueryWrapper
=
Wrappers
.
lambdaUpdate
();
summaryLambdaQueryWrapper
.
eq
(
CbProjectExpenseSummary:
:
getProjectId
,
projectId
);
summaryLambdaQueryWrapper
.
eq
(
CbProjectExpenseSummary:
:
getProjectId
,
projectId
);
summaryLambdaQueryWrapper
.
eq
(
CbProjectExpenseSummary:
:
getDataType
,
2
);
summaryLambdaQueryWrapper
.
eq
(
CbProjectExpenseSummary:
:
getDataType
,
2
);
cbProjectExpenseSummaryService
.
remove
(
summaryLambdaQueryWrapper
);
cbProjectExpenseSummaryService
.
remove
(
summaryLambdaQueryWrapper
);
ExcelResult
<
CbProjectExpenseSummaryImportVo
>
excelResult
=
ExcelUtil
.
importExcel
(
inputStream
,
CbProjectExpenseSummaryImportVo
.
class
,
new
ProjectCostMeasureSummaryImportListener
(
projectId
,
cbStage
,
dataType
));
ExcelResult
<
CbProjectExpenseSummaryImportVo
>
excelResult
=
ExcelUtil
.
importExcel
(
inputStream
,
CbProjectExpenseSummaryImportVo
.
class
,
new
ProjectCostMeasureSummaryImportListener
(
projectId
,
fileId
,
dataType
));
List
<
String
>
errorList
=
excelResult
.
getErrorList
();
List
<
String
>
errorList
=
excelResult
.
getErrorList
();
if
(
CollectionUtil
.
isNotEmpty
(
errorList
)||
CollectionUtil
.
isEmpty
(
excelResult
.
getList
()))
{
if
(
CollectionUtil
.
isNotEmpty
(
errorList
)
||
CollectionUtil
.
isEmpty
(
excelResult
.
getList
()))
{
return
errorList
;
return
errorList
;
}
}
return
null
;
return
null
;
}
}
@Override
public
void
parseCbCostMeasureFile
(
Long
projectId
)
{
// 查询项目
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
projectId
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
parseCbCostMeasureFile
(
projectId
,
null
);
}
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Override
@Override
public
void
parseCbCostMeasureFile
(
Long
projectId
,
List
<
Long
>
projectFileIds
)
{
public
void
parseCbCostMeasureFile
(
Long
projectId
)
{
// 检查项目
checkProjectExist
(
projectId
);
//获取项目待解析文件
List
<
CbProjectFile
>
cbProjectFiles
=
new
ArrayList
<>();
List
<
CbProjectFile
>
cbProjectFiles
=
new
ArrayList
<>();
if
(
CollectionUtil
.
isNotEmpty
(
projectFileIds
)){
LambdaQueryWrapper
<
CbProjectFile
>
lambdaQueryWrapper
=
Wrappers
.
lambdaQuery
();
lambdaQueryWrapper
.
in
(
CbProjectFile:
:
getId
,
projectFileIds
);
cbProjectFiles
=
cbProjectFileService
.
list
(
lambdaQueryWrapper
);
}
else
{
//获取文件信息
cbProjectFiles
=
cbProjectFileService
.
list
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
cbProjectFiles
=
cbProjectFileService
.
list
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
.
eq
(
CbProjectFile:
:
getProjectId
,
projectId
)
.
eq
(
CbProjectFile:
:
getProjectId
,
projectId
)
.
eq
(
CbProjectFile:
:
getFileParseStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSING
)
.
eq
(
CbProjectFile:
:
getCbType
,
CbProjectConstants
.
CB_TYPE_MEASURE_PROJECT
)
.
eq
(
CbProjectFile:
:
getCbType
,
CbProjectConstants
.
CB_TYPE_MEASURE_PROJECT
)
);
);
}
if
(
CollectionUtil
.
isEmpty
(
cbProjectFiles
))
{
if
(
CollectionUtil
.
isEmpty
(
cbProjectFiles
))
{
log
.
debug
(
"措施费数据文件不存在"
);
log
.
debug
(
"措施费数据文件不存在"
);
return
;
return
;
...
@@ -272,10 +256,10 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -272,10 +256,10 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
if
(
"措施费"
.
equals
(
prefix
))
{
if
(
"措施费"
.
equals
(
prefix
))
{
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
List
<
String
>
errlist
=
importExcelSummaryData
(
inputStream
,
projectId
,
2
);
List
<
String
>
errlist
=
importExcelSummaryData
(
inputStream
,
projectId
,
cbProjectFile
.
getId
(),
2
);
if
(
CollectionUtil
.
isNotEmpty
(
errlist
))
{
if
(
CollectionUtil
.
isNotEmpty
(
errlist
))
{
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
}
else
{
}
else
{
// 修改文件解析状态
// 修改文件解析状态
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
);
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
);
}
}
...
@@ -283,36 +267,39 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -283,36 +267,39 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
}
else
{
}
else
{
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
importExcelData
(
inputStream
,
fileName
,
cbProjectFile
.
getId
(),
projectId
);
importExcelData
(
inputStream
,
prefix
,
cbProjectFile
.
getId
(),
projectId
);
}
}
}
}
}
}
private
void
checkProjectExist
(
Long
projectId
){
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
projectId
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
}
@Override
@Override
public
boolean
reparseCbCostMeasureFile
(
Long
projectId
,
Long
projectFileId
)
{
public
boolean
reparseCbCostMeasureFile
(
Long
projectId
,
Long
projectFileId
)
{
// 查询项目
// 查询项目
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
projectId
);
CbProjectRecord
byId
=
cbProjectRecordService
.
getById
(
projectId
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
Assert
.
notNull
(
byId
,
"项目信息不能为空"
);
List
<
CbProjectFile
>
cbProjectFiles
=
new
ArrayList
<>();
List
<
CbProjectFile
>
cbProjectFiles
=
new
ArrayList
<>();
Assert
.
notNull
(
projectFileId
,
"措施费文件ID不能为空"
);
Assert
.
notNull
(
projectFileId
,
"措施费文件ID不能为空"
);
if
(
ObjectUtil
.
isNotEmpty
(
projectFileId
))
{
if
(
ObjectUtil
.
isNotEmpty
(
projectFileId
))
{
CbProjectFile
cbProjectFile
=
cbProjectFileService
.
getById
(
projectFileId
);
CbProjectFile
cbProjectFile
=
cbProjectFileService
.
getById
(
projectFileId
);
Assert
.
notNull
(
cbProjectFile
,
"措施费导入文件不存在"
);
Assert
.
notNull
(
cbProjectFile
,
"措施费导入文件不存在"
);
String
fileName
=
cbProjectFile
.
getFileName
();
String
fileName
=
cbProjectFile
.
getFileName
();
String
prefix
=
FileNameUtil
.
getPrefix
(
fileName
);
String
prefix
=
FileNameUtil
.
getPrefix
(
fileName
);
// 解析汇总
// 解析汇总
if
(
"措施费"
.
equals
(
prefix
))
{
if
(
"措施费"
.
equals
(
prefix
))
{
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
List
<
String
>
errlist
=
importExcelSummaryData
(
inputStream
,
projectId
,
2
);
List
<
String
>
errlist
=
importExcelSummaryData
(
inputStream
,
projectId
,
projectFileId
,
2
);
if
(
CollectionUtil
.
isNotEmpty
(
errlist
))
{
if
(
CollectionUtil
.
isNotEmpty
(
errlist
))
{
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
}
else
{
}
else
{
// 修改文件解析状态
// 修改文件解析状态
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
);
cbProjectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
);
}
}
...
@@ -320,7 +307,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -320,7 +307,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
}
else
{
}
else
{
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
byte
[]
bytes
=
HttpUtil
.
downloadBytes
(
cbProjectFile
.
getFileOssUrl
());
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
InputStream
inputStream
=
new
ByteArrayInputStream
(
bytes
);
importExcelData
(
inputStream
,
fileName
,
cbProjectFile
.
getId
(),
projectId
);
importExcelData
(
inputStream
,
prefix
,
cbProjectFile
.
getId
(),
projectId
);
}
}
//更新
//更新
...
@@ -329,7 +316,6 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -329,7 +316,6 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
}
}
return
false
;
return
false
;
}
}
...
@@ -342,7 +328,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
...
@@ -342,7 +328,7 @@ public class CbCostMeasureServiceImpl extends ServiceImpl<CbCostMeasureMapper, C
* @param cbStage
* @param cbStage
* @return
* @return
*/
*/
public
CbCostMeasure
getCbCostMeasure
(
Long
rootMeasuresId
,
String
number
,
Long
projectId
,
Integer
cbStage
)
{
public
CbCostMeasure
getCbCostMeasure
(
Long
rootMeasuresId
,
String
number
,
Long
projectId
)
{
String
parentNo
=
number
.
substring
(
0
,
number
.
lastIndexOf
(
'.'
));
String
parentNo
=
number
.
substring
(
0
,
number
.
lastIndexOf
(
'.'
));
parentNo
=
String
.
valueOf
(
rootMeasuresId
).
concat
(
"."
).
concat
(
parentNo
);
parentNo
=
String
.
valueOf
(
rootMeasuresId
).
concat
(
"."
).
concat
(
parentNo
);
CbCostMeasure
rootCbCostMeasure
=
new
CbCostMeasure
();
CbCostMeasure
rootCbCostMeasure
=
new
CbCostMeasure
();
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectExpenseSummaryServiceImpl.java
View file @
a023ff08
...
@@ -139,6 +139,16 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp
...
@@ -139,6 +139,16 @@ public class CbProjectExpenseSummaryServiceImpl extends ServiceImpl<CbProjectExp
.
eq
(
CbProjectExpenseSummary:
:
getDataType
,
CbProjectConstants
.
CB_TYPE_SCENE_EXPENSE
));
.
eq
(
CbProjectExpenseSummary:
:
getDataType
,
CbProjectConstants
.
CB_TYPE_SCENE_EXPENSE
));
}
}
@Override
public
List
<
CbProjectExpenseSummary
>
queryCbSceneExpenseSummaryDataByType
(
Long
projectId
,
Integer
dataType
)
{
//校验项目是否存在
this
.
checkProjectExist
(
projectId
);
return
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectExpenseSummary
>()
.
eq
(
CbProjectExpenseSummary:
:
getProjectId
,
projectId
)
.
eq
(
CbProjectExpenseSummary:
:
getDataType
,
dataType
));
}
/**
/**
* 校验项目是否存在
* 校验项目是否存在
*
*
...
...
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