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
6e4c71a9
Commit
6e4c71a9
authored
Feb 27, 2024
by
施翔轲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
现场经费汇总相关
parent
b4b0bfac
Changes
11
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
326 additions
and
36 deletions
+326
-36
CbProjectExpenseSummaryController.java
...k/cscec/controller/CbProjectExpenseSummaryController.java
+51
-0
CbProjectRecordController.java
...a/com/dsk/cscec/controller/CbProjectRecordController.java
+2
-1
CbProjectExpenseSummary.java
...in/java/com/dsk/cscec/domain/CbProjectExpenseSummary.java
+17
-9
CbProjectCbStageNotDraftVo.java
...a/com/dsk/cscec/domain/vo/CbProjectCbStageNotDraftVo.java
+20
-0
CbProjectFileMapper.java
...c/main/java/com/dsk/cscec/mapper/CbProjectFileMapper.java
+12
-1
CbProjectExpenseSummaryService.java
...com/dsk/cscec/service/CbProjectExpenseSummaryService.java
+19
-2
CbProjectRecordService.java
...in/java/com/dsk/cscec/service/CbProjectRecordService.java
+2
-1
CbProjectExpenseSummaryServiceImpl.java
...scec/service/impl/CbProjectExpenseSummaryServiceImpl.java
+144
-4
CbProjectRecordServiceImpl.java
...om/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
+5
-5
CbProjectFileMapper.xml
...i/src/main/resources/mapper/cscec/CbProjectFileMapper.xml
+14
-3
CbProjectRecordMapper.xml
...src/main/resources/mapper/cscec/CbProjectRecordMapper.xml
+40
-10
No files found.
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbProjectExpenseSummaryController.java
0 → 100644
View file @
6e4c71a9
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.helper.LoginHelper
;
import
com.dsk.cscec.domain.CbProjectExpenseSummary
;
import
com.dsk.cscec.service.CbProjectExpenseSummaryService
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
import
java.util.Objects
;
/**
* 项目费用汇总表(CbProjectExpenseSummary)表控制层
*
* @author sxk
* @since 2024-02-22 09:59:28
*/
@RestController
@RequestMapping
(
"CbProjectExpenseSummary"
)
public
class
CbProjectExpenseSummaryController
extends
BaseController
{
/**
* 服务对象
*/
@Resource
private
CbProjectExpenseSummaryService
baseService
;
/**
* 现场经费汇总数据解析
*/
@GetMapping
(
"/parseCbSceneExpenseData/{projectId}"
)
public
R
<
Void
>
parseCbSceneExpenseData
(
@PathVariable
Long
projectId
)
throws
Exception
{
String
username
=
Objects
.
requireNonNull
(
LoginHelper
.
getLoginUser
()).
getUsername
();
baseService
.
parseSceneExpenseSummaryData
(
projectId
,
1
,
username
);
return
R
.
ok
();
}
/**
* 获取现场经费汇总数据
*/
@GetMapping
(
"/getCbSceneExpenseSummaryData/{projectId}"
)
public
R
<
List
<
CbProjectExpenseSummary
>>
getCbSceneExpenseSummaryData
(
@NotNull
(
message
=
"项目ID不能为空"
)
@PathVariable
Long
projectId
)
{
return
R
.
ok
(
baseService
.
getCbSceneExpenseSummaryData
(
projectId
));
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbProjectRecordController.java
View file @
6e4c71a9
...
...
@@ -7,6 +7,7 @@ import com.dsk.common.core.domain.R;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.bo.*
;
import
com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo
;
import
com.dsk.cscec.domain.vo.CbProjectRecordSearchVo
;
import
com.dsk.cscec.service.CbProjectRecordService
;
import
com.dsk.cscec.service.IDProjectService
;
...
...
@@ -108,7 +109,7 @@ public class CbProjectRecordController extends BaseController {
* 即查询当前项目非草稿的成本阶段
*/
@GetMapping
(
"/getProjectCbStageNotDraft/{relatedId}"
)
public
R
<
List
<
Integer
>>
getProjectCbStageNotDraft
(
@PathVariable
Long
relatedId
)
{
public
R
<
List
<
CbProjectCbStageNotDraftVo
>>
getProjectCbStageNotDraft
(
@PathVariable
Long
relatedId
)
{
return
R
.
ok
(
baseService
.
getProjectCbStageNotDraft
(
relatedId
));
}
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/CbProjectExpenseSummary.java
View file @
6e4c71a9
package
com
.
dsk
.
cscec
.
domain
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
java.util.Date
;
import
com.baomidou.mybatisplus.annotation.*
;
import
com.dsk.common.annotation.Excel
;
import
lombok.Data
;
import
java.util.Date
;
/**
* 项目费用汇总表
*/
...
...
@@ -25,6 +24,11 @@ public class CbProjectExpenseSummary {
@TableField
(
value
=
"project_id"
)
private
Long
projectId
;
/**
* 项目文件ID
*/
private
Long
projectFileId
;
/**
* 成本阶段(0:标前成本、1:标后成本、2:转固成本)
*/
...
...
@@ -34,11 +38,11 @@ public class CbProjectExpenseSummary {
/**
* 序号
*/
@TableField
(
value
=
"
`number`
"
)
@TableField
(
value
=
"
number
"
)
private
String
number
;
/**
* 数据类型(
0:现场经费、1:其他费用
)
* 数据类型(
2:措施项目、3:其他项目、4:现场经费
)
*/
@TableField
(
value
=
"data_type"
)
private
Integer
dataType
;
...
...
@@ -47,24 +51,28 @@ public class CbProjectExpenseSummary {
* 名称
*/
@TableField
(
value
=
"expense_name"
)
@Excel
(
name
=
"名称"
)
private
String
expenseName
;
/**
* 数值
*/
@TableField
(
value
=
"expense_value"
)
@Excel
(
name
=
"数值"
)
private
String
expenseValue
;
/**
* 占比
*/
@TableField
(
value
=
"proportion"
)
@Excel
(
name
=
"占比"
)
private
String
proportion
;
/**
* 删除状态(0:否、2:是)
*/
@TableField
(
value
=
"del_flag"
)
@TableLogic
(
value
=
"0"
,
delval
=
"2"
)
private
Integer
delFlag
;
/**
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/CbProjectCbStageNotDraftVo.java
0 → 100644
View file @
6e4c71a9
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
lombok.Data
;
/**
* @author sxk
* @date 2024.02.26
* @time 15:27
*/
@Data
public
class
CbProjectCbStageNotDraftVo
{
/**
* 项目ID
*/
private
Long
id
;
/**
* 成本阶段(0:标前成本、1:标后成本、2:转固成本)
*/
private
Integer
cbStage
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/CbProjectFileMapper.java
View file @
6e4c71a9
...
...
@@ -2,6 +2,7 @@ package com.dsk.cscec.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.cscec.domain.CbProjectFile
;
import
com.dsk.cscec.domain.vo.CbSceneExpenseMenuVo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
...
...
@@ -13,8 +14,18 @@ import java.util.List;
* @since 2024-02-05 14:01:03
*/
public
interface
CbProjectFileMapper
extends
BaseMapper
<
CbProjectFile
>
{
/**
* 获取现场经费菜单
*
* @param projectId 项目ID
* @return 该项目在项目文件表中所有解析完成的现场经费文件名
*/
List
<
CbSceneExpenseMenuVo
>
getSceneExpenseMenuFromFile
(
@Param
(
"projectId"
)
Long
projectId
,
@Param
(
"deleteFlagExist"
)
Integer
deleteFlagExist
,
@Param
(
"cbTypeSceneExpense"
)
Integer
cbTypeSceneExpense
,
@Param
(
"projectFileStatusParseSuccess"
)
Integer
projectFileStatusParseSuccess
);
List
<
CbProjectFile
>
selectAnalysisList
(
@Param
(
"projectId"
)
Long
projectId
,
@Param
(
"cbType"
)
Integer
cbType
,
@Param
(
"cbStage"
)
Integer
cbStage
);
List
<
CbProjectFile
>
selectAnalysisList
(
@Param
(
"projectId"
)
Long
projectId
,
@Param
(
"cbType"
)
Integer
cbType
,
@Param
(
"cbStage"
)
Integer
cbStage
);
int
removeById
(
@Param
(
"id"
)
Long
id
);
}
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbProjectExpenseSummaryService.java
View file @
6e4c71a9
package
com
.
dsk
.
cscec
.
service
;
import
com.dsk.cscec.domain.CbProjectExpenseSummary
;
import
com.baomidou.mybatisplus.extension.service.IService
;
public
interface
CbProjectExpenseSummaryService
extends
IService
<
CbProjectExpenseSummary
>{
import
com.dsk.cscec.domain.CbProjectExpenseSummary
;
import
java.util.List
;
public
interface
CbProjectExpenseSummaryService
extends
IService
<
CbProjectExpenseSummary
>
{
/**
* 现场经费汇总数据解析
*
* @param projectId 项目ID
* @param cbStage 成本阶段
* @param username 用户名
*/
void
parseSceneExpenseSummaryData
(
Long
projectId
,
Integer
cbStage
,
String
username
)
throws
Exception
;
/**
* 获取现场经费汇总数据
*
* @param projectId 项目ID
* @return 现场经费汇总数据
*/
List
<
CbProjectExpenseSummary
>
getCbSceneExpenseSummaryData
(
Long
projectId
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbProjectRecordService.java
View file @
6e4c71a9
...
...
@@ -5,6 +5,7 @@ import com.dsk.common.core.domain.PageQuery;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.bo.*
;
import
com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo
;
import
com.dsk.cscec.domain.vo.CbProjectRecordSearchVo
;
import
java.util.List
;
...
...
@@ -78,7 +79,7 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
* @param relatedId 关联ID
* @return 已有数据的成本阶段
*/
List
<
Integer
>
getProjectCbStageNotDraft
(
Long
relatedId
);
List
<
CbProjectCbStageNotDraftVo
>
getProjectCbStageNotDraft
(
Long
relatedId
);
/**
* 批量删除项目
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectExpenseSummaryServiceImpl.java
View file @
6e4c71a9
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
java.util.List
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.common.excel.ExcelUtils
;
import
com.dsk.common.utils.StringUtils
;
import
com.dsk.cscec.constant.CbProjectConstants
;
import
com.dsk.cscec.domain.CbProjectExpenseSummary
;
import
com.dsk.cscec.domain.CbProjectFile
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.mapper.CbProjectExpenseSummaryMapper
;
import
com.dsk.cscec.mapper.CbProjectFileMapper
;
import
com.dsk.cscec.mapper.CbProjectRecordMapper
;
import
com.dsk.cscec.service.CbProjectExpenseSummaryService
;
import
com.dsk.system.service.ISysOssService
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.support.TransactionTemplate
;
import
javax.annotation.Resource
;
import
java.io.InputStream
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
@Service
public
class
CbProjectExpenseSummaryServiceImpl
extends
ServiceImpl
<
CbProjectExpenseSummaryMapper
,
CbProjectExpenseSummary
>
implements
CbProjectExpenseSummaryService
{
public
class
CbProjectExpenseSummaryServiceImpl
extends
ServiceImpl
<
CbProjectExpenseSummaryMapper
,
CbProjectExpenseSummary
>
implements
CbProjectExpenseSummaryService
{
@Resource
private
CbProjectExpenseSummaryMapper
baseMapper
;
@Resource
private
CbProjectRecordMapper
projectRecordMapper
;
@Resource
private
CbProjectFileMapper
projectFileMapper
;
@Resource
private
ISysOssService
ossService
;
@Resource
private
TransactionTemplate
transactionTemplate
;
/**
* 现场经费汇总数据解析
*
* @param projectId 项目ID
* @param cbStage 成本阶段
* @param username 用户名
*/
@Override
@Async
public
void
parseSceneExpenseSummaryData
(
Long
projectId
,
Integer
cbStage
,
String
username
)
throws
Exception
{
//查找该项目下所有相关文件
List
<
CbProjectFile
>
projectFileList
=
projectFileMapper
.
selectAnalysisList
(
projectId
,
CbProjectConstants
.
CB_TYPE_SCENE_EXPENSE
,
cbStage
);
//待解析文件
List
<
CbProjectFile
>
waitParseList
=
new
ArrayList
<>();
//提取现场经费汇总文件,原则上该文件仅有1个
projectFileList
.
forEach
(
projectFile
->
{
if
(
CbProjectConstants
.
CB_TYPE_SCENE_EXPENSE_NAME
.
equals
(
projectFile
.
getFileName
().
substring
(
0
,
projectFile
.
getFileName
().
lastIndexOf
(
"."
))))
{
//待解析文件
waitParseList
.
add
(
projectFile
);
}
});
//处理待解析文件
for
(
CbProjectFile
projectFile
:
waitParseList
)
{
if
(
ObjectUtil
.
isNull
(
projectFile
))
{
continue
;
}
//文件下载
InputStream
inputStream
=
ossService
.
downFileIO
(
projectFile
.
getFileOssId
());
if
(
ObjectUtil
.
isNull
(
inputStream
))
{
projectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
projectFile
.
setFailRemark
(
"文件数据不存在"
);
projectFileMapper
.
updateById
(
projectFile
);
continue
;
}
//解析数据
List
<
CbProjectExpenseSummary
>
importList
=
new
ExcelUtils
<>(
CbProjectExpenseSummary
.
class
).
importExcelAllSheet
(
inputStream
,
0
);
if
(
importList
.
isEmpty
())
{
projectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
projectFile
.
setFailRemark
(
"表格中不存在待导入数据!"
);
projectFileMapper
.
updateById
(
projectFile
);
continue
;
}
//筛选有效数据
List
<
CbProjectExpenseSummary
>
summaryList
=
importList
.
stream
().
parallel
()
//筛选名称列不为空数据
.
filter
(
item
->
StringUtils
.
isNotBlank
(
item
.
getExpenseName
()))
.
peek
(
item
->
{
item
.
setProjectId
(
projectId
);
item
.
setProjectFileId
(
projectFile
.
getId
());
item
.
setCbStage
(
projectFile
.
getCbStage
());
item
.
setDataType
(
CbProjectConstants
.
CB_TYPE_SCENE_EXPENSE
);
item
.
setCreateBy
(
username
);
item
.
setCreateTime
(
new
Date
());
})
.
collect
(
Collectors
.
toList
());
if
(
summaryList
.
size
()
!=
importList
.
size
())
{
projectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
projectFile
.
setFailRemark
(
"表格中存在\"名称\"列为空数据!"
);
projectFileMapper
.
updateById
(
projectFile
);
continue
;
}
transactionTemplate
.
execute
(
status
->
{
try
{
//批量插入数据
CbProjectExpenseSummaryServiceImpl
impl
=
new
CbProjectExpenseSummaryServiceImpl
();
Assert
.
isTrue
(
impl
.
saveBatch
(
summaryList
),
"数据插入失败"
);
//更新文件状态
projectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
);
Assert
.
isTrue
(
projectFileMapper
.
updateById
(
projectFile
)
>
0
,
"解析成功后文件状态更新失败"
);
}
catch
(
Exception
e
)
{
status
.
setRollbackOnly
();
projectFile
.
setFileParseStatus
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
);
projectFile
.
setFailRemark
(
e
.
getMessage
());
projectFileMapper
.
updateById
(
projectFile
);
}
return
Boolean
.
TRUE
;
});
}
}
/**
* 获取现场经费汇总数据
*
* @param projectId 项目ID
* @return 现场经费汇总数据
*/
@Override
public
List
<
CbProjectExpenseSummary
>
getCbSceneExpenseSummaryData
(
Long
projectId
)
{
//校验项目是否存在
this
.
checkProjectExist
(
projectId
);
return
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectExpenseSummary
>()
.
eq
(
CbProjectExpenseSummary:
:
getProjectId
,
projectId
)
.
eq
(
CbProjectExpenseSummary:
:
getDataType
,
CbProjectConstants
.
CB_TYPE_SCENE_EXPENSE
));
}
/**
* 校验项目是否存在
*
* @param projectId 项目ID
* @return 项目实体
*/
private
CbProjectRecord
checkProjectExist
(
Long
projectId
)
{
CbProjectRecord
projectRecord
=
projectRecordMapper
.
selectById
(
projectId
);
Assert
.
notNull
(
projectRecord
,
"该项目不存在"
);
return
projectRecord
;
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
View file @
6e4c71a9
...
...
@@ -18,6 +18,7 @@ import com.dsk.cscec.constant.CbProjectConstants;
import
com.dsk.cscec.domain.CbProjectFile
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.bo.*
;
import
com.dsk.cscec.domain.vo.CbProjectCbStageNotDraftVo
;
import
com.dsk.cscec.domain.vo.CbProjectRecordSearchVo
;
import
com.dsk.cscec.mapper.CbProjectFileMapper
;
import
com.dsk.cscec.mapper.CbProjectRecordMapper
;
...
...
@@ -123,13 +124,12 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
//工料汇总
CbProjectBaseBo
projectBaseBo
=
new
CbProjectBaseBo
();
projectBaseBo
.
setProjectId
(
projectId
);
projectBaseBo
.
setCbStage
(
cbStage
);
dataAnalysisComponent
.
quantitySummaryDataAnalysis
(
projectBaseBo
);
//措施项目
//其他项目
//现场经费
projectExpenseSummaryService
.
parseSceneExpense
Data
(
projectId
,
cbStage
,
username
);
projectExpenseSummaryService
.
parseSceneExpense
SummaryData
(
projectId
,
cbStage
,
username
);
//成本汇总
cbSummaryService
.
importCbSummary
(
projectId
);
}
...
...
@@ -304,11 +304,11 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
* @return 已有数据的成本阶段
*/
@Override
public
List
<
Integer
>
getProjectCbStageNotDraft
(
Long
relatedId
)
{
public
List
<
CbProjectCbStageNotDraftVo
>
getProjectCbStageNotDraft
(
Long
relatedId
)
{
//通过关联ID校验项目是否存在
List
<
CbProjectRecord
>
projectRecordList
=
this
.
checkRelatedIdExist
(
relatedId
);
ArrayList
<
Integer
>
cbStageList
=
new
ArrayList
<>();
ArrayList
<
CbProjectCbStageNotDraftVo
>
cbStageList
=
new
ArrayList
<>();
projectRecordList
.
forEach
(
projectRecord
->
{
//文件状态为解析成功or解析失败即为有数据
...
...
@@ -319,7 +319,7 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
.
eq
(
CbProjectFile:
:
getFileParseStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
)
.
or
()
.
eq
(
CbProjectFile:
:
getFileParseStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
)))
{
cbStageList
.
add
(
projectRecord
.
getCbStage
(
));
cbStageList
.
add
(
BeanUtil
.
toBean
(
projectRecord
,
CbProjectCbStageNotDraftVo
.
class
));
}
});
return
cbStageList
;
...
...
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/CbProjectFileMapper.xml
View file @
6e4c71a9
<?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=
"com.dsk.cscec.mapper.CbProjectFileMapper"
>
<!--获取现场经费菜单-->
<select
id=
"getSceneExpenseMenuFromFile"
resultType=
"com.dsk.cscec.domain.vo.CbSceneExpenseMenuVo"
>
select cpf.id as fileId,
cpf.file_name as menuName
from cb_project_file cpf
where cpf.project_id = #{projectId}
and cpf.del_flag = #{deleteFlagExist}
and cpf.cb_type = #{cbTypeSceneExpense}
and cpf.file_parse_status = #{projectFileStatusParseSuccess};
</select>
<select
id=
"selectAnalysisList"
resultType=
"com.dsk.cscec.domain.CbProjectFile"
>
SELECT
id, project_id, cb_stage, cb_type, file_name, file_oss_id, file_oss_url, file_parse_status, fail_remark,
...
...
@@ -11,7 +22,7 @@
<if
test=
"cbStage != null"
>
and cb_stage =#{cbStage}
</if>
and cb_type = #{cbType}
and cb_type = #{cbType}
)
</select>
<update
id=
"removeById"
>
...
...
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/CbProjectRecordMapper.xml
View file @
6e4c71a9
...
...
@@ -3,8 +3,42 @@
<mapper
namespace=
"com.dsk.cscec.mapper.CbProjectRecordMapper"
>
<!--获取项目台账列表-->
<select
id=
"selectPageProjectRecordList"
resultType=
"com.dsk.cscec.domain.vo.CbProjectRecordSearchVo"
>
select
cpr.id,
<!-- select-->
<!-- cpr.id,-->
<!-- cpr.related_id,-->
<!-- cpr.project_name,-->
<!-- cpr.cb_stage,-->
<!-- cpr.project_file_status,-->
<!-- cpr.ipm_project_no,-->
<!-- cpr.is_get_project_detail,-->
<!-- cpr.project_file_name,-->
<!-- cpr.create_time-->
<!-- from cb_project_record cpr-->
<!-- left join cb_project_record cprr-->
<!-- on cpr.related_id = cprr.related_id-->
<!-- and cpr.cb_stage < cprr.cb_stage-->
<!-- where-->
<!-- cprr.cb_stage is null-->
<!-- and-->
<!-- cpr.del_flag=#{deleteFlagExist}-->
<!-- <if test="searchBo.projectName != null and searchBo.projectName != ''">-->
<!-- and cpr.project_name like concat('%',#{searchBo.projectName},'%')-->
<!-- </if>-->
<!-- <if test="searchBo.ipmProjectNo != null and searchBo.ipmProjectNo != ''">-->
<!-- and cpr.ipm_project_no = #{searchBo.ipmProjectNo}-->
<!-- </if>-->
<!-- <if test="searchBo.cbStage != null">-->
<!-- and cpr.cb_stage = #{searchBo.cbStage}-->
<!-- </if>-->
<!-- <if test="searchBo.projectFileStatus != null">-->
<!-- and project_file_status = #{searchBo.projectFileStatus}-->
<!-- </if>-->
<!-- and-->
<!-- cpr.project_file_status != #{projectFileStatusPreparing}-->
<!-- order by cpr.create_time desc-->
select a.*
from (
select DISTINCT cpr.id,
cpr.related_id,
cpr.project_name,
cpr.cb_stage,
...
...
@@ -14,13 +48,7 @@
cpr.project_file_name,
cpr.create_time
from cb_project_record cpr
left join cb_project_record cprr
on cpr.related_id = cprr.related_id
and cpr.cb_stage
<
cprr.cb_stage
where
cprr.cb_stage is null
and
cpr.del_flag=#{deleteFlagExist}
where cpr.del_flag=#{deleteFlagExist}
<if
test=
"searchBo.projectName != null and searchBo.projectName != ''"
>
and cpr.project_name like concat('%',#{searchBo.projectName},'%')
</if>
...
...
@@ -35,7 +63,9 @@
</if>
and
cpr.project_file_status != #{projectFileStatusPreparing}
order by cpr.create_time desc
order by cpr.cb_stage desc) a
group by a.related_id
order by a.create_time desc
</select>
<!--获取草稿弹窗列表-->
...
...
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