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
68a45a60
Commit
68a45a60
authored
Feb 22, 2024
by
chenyuefang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/V20231129-中建一局二公司' into V20231129-中建一局二公司
parents
05b3a497
5d34affa
Changes
28
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
696 additions
and
64 deletions
+696
-64
application-test.yml
dsk-admin/src/main/resources/application-test.yml
+5
-3
CbProjectConstants.java
.../main/java/com/dsk/cscec/constant/CbProjectConstants.java
+4
-0
CbProjectFileController.java
...ava/com/dsk/cscec/controller/CbProjectFileController.java
+8
-1
CbProjectRecordController.java
...a/com/dsk/cscec/controller/CbProjectRecordController.java
+31
-12
CbSceneExpenseChildrenController.java
...sk/cscec/controller/CbSceneExpenseChildrenController.java
+27
-0
CbSceneExpenseMonthController.java
...m/dsk/cscec/controller/CbSceneExpenseMonthController.java
+26
-0
CbDirectExpense.java
...i/src/main/java/com/dsk/cscec/domain/CbDirectExpense.java
+6
-0
CbProjectFile.java
...api/src/main/java/com/dsk/cscec/domain/CbProjectFile.java
+1
-1
CbSceneExpenseChildren.java
...ain/java/com/dsk/cscec/domain/CbSceneExpenseChildren.java
+99
-0
CbSceneExpenseMonth.java
...c/main/java/com/dsk/cscec/domain/CbSceneExpenseMonth.java
+43
-0
CbProjectHistorySearchBo.java
...ava/com/dsk/cscec/domain/bo/CbProjectHistorySearchBo.java
+32
-0
CbProjectRecordDataVo.java
...n/java/com/dsk/cscec/domain/vo/CbProjectRecordDataVo.java
+1
-1
CbProjectRecordSearchVo.java
...java/com/dsk/cscec/domain/vo/CbProjectRecordSearchVo.java
+29
-0
CbProjectRecordMapper.java
...main/java/com/dsk/cscec/mapper/CbProjectRecordMapper.java
+14
-2
CbSceneExpenseChildrenMapper.java
...va/com/dsk/cscec/mapper/CbSceneExpenseChildrenMapper.java
+15
-0
CbSceneExpenseMonthMapper.java
.../java/com/dsk/cscec/mapper/CbSceneExpenseMonthMapper.java
+15
-0
CbProjectFileService.java
...main/java/com/dsk/cscec/service/CbProjectFileService.java
+10
-4
CbProjectRecordService.java
...in/java/com/dsk/cscec/service/CbProjectRecordService.java
+30
-8
CbSceneExpenseChildrenService.java
.../com/dsk/cscec/service/CbSceneExpenseChildrenService.java
+14
-0
CbSceneExpenseMonthService.java
...ava/com/dsk/cscec/service/CbSceneExpenseMonthService.java
+14
-0
CbProjectFileServiceImpl.java
.../com/dsk/cscec/service/impl/CbProjectFileServiceImpl.java
+50
-8
CbProjectRecordServiceImpl.java
...om/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
+125
-18
CbSceneExpenseChildrenServiceImpl.java
...cscec/service/impl/CbSceneExpenseChildrenServiceImpl.java
+22
-0
CbSceneExpenseMonthServiceImpl.java
...sk/cscec/service/impl/CbSceneExpenseMonthServiceImpl.java
+22
-0
CbProjectFileMapper.xml
...i/src/main/resources/mapper/cscec/CbProjectFileMapper.xml
+1
-3
CbProjectRecordMapper.xml
...src/main/resources/mapper/cscec/CbProjectRecordMapper.xml
+40
-3
CbSceneExpenseChildrenMapper.xml
...n/resources/mapper/cscec/CbSceneExpenseChildrenMapper.xml
+6
-0
CbSceneExpenseMonthMapper.xml
...main/resources/mapper/cscec/CbSceneExpenseMonthMapper.xml
+6
-0
No files found.
dsk-admin/src/main/resources/application-test.yml
View file @
68a45a60
...
@@ -49,7 +49,8 @@ spring:
...
@@ -49,7 +49,8 @@ spring:
driverClassName
:
com.mysql.cj.jdbc.Driver
driverClassName
:
com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url
:
jdbc:mysql://111.204.34.146:63308/cscec_bms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
# url: jdbc:mysql://111.204.34.146:63308/cscec_bms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
url
:
jdbc:mysql://172.17.0.12:3306/cscec_bms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=Asia/Shanghai
username
:
dev
username
:
dev
password
:
DskSzh!456
password
:
DskSzh!456
# 从库数据源
# 从库数据源
...
@@ -101,9 +102,10 @@ spring:
...
@@ -101,9 +102,10 @@ spring:
---
# redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
---
# redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
spring
:
spring
:
redis
:
redis
:
host
:
111.204.34.146
# host: 111.204.34.146
host
:
172.17.0.12
# 端口,默认为6379
# 端口,默认为6379
port
:
63
3
79
port
:
6379
# 数据库索引
# 数据库索引
database
:
13
database
:
13
# 密码
# 密码
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/constant/CbProjectConstants.java
View file @
68a45a60
...
@@ -40,6 +40,10 @@ public interface CbProjectConstants {
...
@@ -40,6 +40,10 @@ public interface CbProjectConstants {
* 删除状态:未删除
* 删除状态:未删除
*/
*/
Integer
DELETE_FLAG_EXIST
=
0
;
Integer
DELETE_FLAG_EXIST
=
0
;
/**
* 删除状态:待删除
*/
Integer
DELETE_FLAG_WAIT_DELETE
=
1
;
/**
/**
* 删除状态:已删除
* 删除状态:已删除
*/
*/
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbProjectFileController.java
View file @
68a45a60
...
@@ -23,6 +23,7 @@ import java.io.UnsupportedEncodingException;
...
@@ -23,6 +23,7 @@ import java.io.UnsupportedEncodingException;
import
java.util.Collections
;
import
java.util.Collections
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Objects
;
/**
/**
* 项目成本文件表(CbProjectFile)表控制层
* 项目成本文件表(CbProjectFile)表控制层
...
@@ -49,6 +50,12 @@ public class CbProjectFileController extends BaseController {
...
@@ -49,6 +50,12 @@ public class CbProjectFileController extends BaseController {
public
R
<
Map
<
String
,
String
>>
uploadCbProjectFile
(
@Validated
@ModelAttribute
AddProjectFileUploadBo
fileUploadBo
)
throws
UnsupportedEncodingException
{
public
R
<
Map
<
String
,
String
>>
uploadCbProjectFile
(
@Validated
@ModelAttribute
AddProjectFileUploadBo
fileUploadBo
)
throws
UnsupportedEncodingException
{
MultipartFile
file
=
fileUploadBo
.
getFile
();
MultipartFile
file
=
fileUploadBo
.
getFile
();
Assert
.
notNull
(
file
,
"上传文件不能为空"
);
Assert
.
notNull
(
file
,
"上传文件不能为空"
);
//校验格式
String
fileFormat
=
Objects
.
requireNonNull
(
fileUploadBo
.
getFile
().
getOriginalFilename
()).
substring
(
fileUploadBo
.
getFile
().
getOriginalFilename
().
lastIndexOf
(
"."
));
Assert
.
isTrue
(
".xlsx"
.
equals
(
fileFormat
)
||
".xls"
.
equals
(
fileFormat
),
"文件格式不正确"
);
//校验同一成本类型下是否存在相同文件
baseService
.
checkProjectFileExist
(
fileUploadBo
);
SysOssVo
oss
=
iSysOssService
.
upload
(
file
);
SysOssVo
oss
=
iSysOssService
.
upload
(
file
);
//添加项目上传文件记录
//添加项目上传文件记录
CbProjectFile
cbProjectFile
;
CbProjectFile
cbProjectFile
;
...
@@ -72,7 +79,7 @@ public class CbProjectFileController extends BaseController {
...
@@ -72,7 +79,7 @@ public class CbProjectFileController extends BaseController {
*/
*/
@DeleteMapping
(
"/deleteCbProjectFile/{fileId}"
)
@DeleteMapping
(
"/deleteCbProjectFile/{fileId}"
)
public
R
<
Void
>
deleteCbProjectFile
(
@NotNull
(
message
=
"文件ID不能为空"
)
@PathVariable
Long
fileId
)
{
public
R
<
Void
>
deleteCbProjectFile
(
@NotNull
(
message
=
"文件ID不能为空"
)
@PathVariable
Long
fileId
)
{
return
toAjax
(
baseService
.
deleteProjectFile
(
fileId
));
return
toAjax
(
baseService
.
deleteProjectFile
(
new
Long
[]{
fileId
}
));
}
}
/**
/**
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbProjectRecordController.java
View file @
68a45a60
...
@@ -6,11 +6,8 @@ import com.dsk.common.core.domain.PageQuery;
...
@@ -6,11 +6,8 @@ import com.dsk.common.core.domain.PageQuery;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.bo.AddCbProjectBo
;
import
com.dsk.cscec.domain.bo.*
;
import
com.dsk.cscec.domain.bo.AddNewCbProjectBo
;
import
com.dsk.cscec.domain.vo.CbProjectRecordSearchVo
;
import
com.dsk.cscec.domain.bo.CbProjectSearchBo
;
import
com.dsk.cscec.domain.bo.EditProjectInfoBo
;
import
com.dsk.cscec.domain.vo.ProjectRecordSearchVo
;
import
com.dsk.cscec.service.CbProjectRecordService
;
import
com.dsk.cscec.service.CbProjectRecordService
;
import
com.dsk.cscec.service.IDProjectService
;
import
com.dsk.cscec.service.IDProjectService
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
...
@@ -19,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
...
@@ -19,6 +16,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
import
javax.validation.constraints.NotNull
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
/**
/**
...
@@ -69,10 +67,18 @@ public class CbProjectRecordController extends BaseController {
...
@@ -69,10 +67,18 @@ public class CbProjectRecordController extends BaseController {
* 获取项目台账列表
* 获取项目台账列表
*/
*/
@GetMapping
(
"/getProjectList"
)
@GetMapping
(
"/getProjectList"
)
public
TableDataInfo
<
ProjectRecordSearchVo
>
getProjectList
(
CbProjectSearchBo
searchBo
,
PageQuery
pageQuery
)
{
public
TableDataInfo
<
CbProjectRecordSearchVo
>
getProjectList
(
@RequestBody
CbProjectSearchBo
searchBo
,
PageQuery
pageQuery
)
{
return
baseService
.
getProjectList
(
searchBo
,
pageQuery
);
return
baseService
.
getProjectList
(
searchBo
,
pageQuery
);
}
}
/**
* 获取项目历史阶段信息(懒加载)
*/
@GetMapping
(
"/getProjectHistoryInfo"
)
public
R
<
List
<
CbProjectRecord
>>
getProjectHistoryInfo
(
@RequestBody
CbProjectHistorySearchBo
searchBo
)
{
return
R
.
ok
(
baseService
.
getProjectHistoryInfo
(
searchBo
));
}
/**
/**
* 修改项目信息
* 修改项目信息
*/
*/
...
@@ -97,16 +103,29 @@ public class CbProjectRecordController extends BaseController {
...
@@ -97,16 +103,29 @@ public class CbProjectRecordController extends BaseController {
return
R
.
ok
(
baseService
.
addNewStageProject
(
newProjectBo
));
return
R
.
ok
(
baseService
.
addNewStageProject
(
newProjectBo
));
}
}
/**
* 查询当前项目可删除成本阶段
* 即查询当前项目非草稿的成本阶段
*/
@GetMapping
(
"/getProjectCbStageNotDraft/{relatedId}"
)
public
R
<
List
<
Integer
>>
getProjectCbStageNotDraft
(
@PathVariable
Long
relatedId
)
{
return
R
.
ok
(
baseService
.
getProjectCbStageNotDraft
(
relatedId
));
}
/**
* 批量删除项目
*/
@DeleteMapping
(
"/batchDeleteProject/{projectIds}"
)
public
R
<
Void
>
batchDeleteProject
(
@NotNull
(
message
=
"项目ID不能为空"
)
@PathVariable
Long
[]
projectIds
)
{
return
toAjax
(
baseService
.
batchDeleteProject
(
Arrays
.
asList
(
projectIds
)));
}
/**
/**
* 获取草稿弹窗列表
* 获取草稿弹窗列表
*/
*/
@GetMapping
(
"/getDraftDialogList"
)
@GetMapping
(
"/getDraftDialogList"
)
public
R
<
List
<
CbProjectRecord
>>
getDraftDialogList
()
{
public
TableDataInfo
<
CbProjectRecord
>
getDraftDialogList
(
PageQuery
pageQuery
)
{
List
<
CbProjectRecord
>
draftList
=
baseService
.
getDraftDialogList
();
return
baseService
.
getDraftDialogList
(
pageQuery
);
if
(
draftList
.
isEmpty
())
{
return
R
.
ok
(
"暂无草稿记录"
);
}
return
R
.
ok
(
draftList
);
}
}
/**
/**
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbSceneExpenseChildrenController.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.cscec.service.CbSceneExpenseChildrenService
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
/**
* 现场经费-工资统筹、其他费用、现场管理费表(CbSceneExpenseChildren)表控制层
*
* @author sxk
* @since 2024-02-22 09:58:57
*/
@RestController
@RequestMapping
(
"cbSceneExpenseChildren"
)
public
class
CbSceneExpenseChildrenController
extends
BaseController
{
/**
* 服务对象
*/
@Resource
private
CbSceneExpenseChildrenService
baseService
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbSceneExpenseMonthController.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.cscec.service.CbSceneExpenseMonthService
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.annotation.Resource
;
/**
* 现场经费-每月费用表(CbSceneExpenseMonth)表控制层
*
* @author sxk
* @since 2024-02-22 09:59:28
*/
@RestController
@RequestMapping
(
"cbSceneExpenseMonth"
)
public
class
CbSceneExpenseMonthController
extends
BaseController
{
/**
* 服务对象
*/
@Resource
private
CbSceneExpenseMonthService
baseService
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/CbDirectExpense.java
View file @
68a45a60
package
com
.
dsk
.
cscec
.
domain
;
package
com
.
dsk
.
cscec
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.dsk.common.core.domain.BaseEntity
;
import
com.dsk.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
lombok.EqualsAndHashCode
;
...
@@ -34,6 +35,10 @@ public class CbDirectExpense extends BaseEntity implements Serializable {
...
@@ -34,6 +35,10 @@ public class CbDirectExpense extends BaseEntity implements Serializable {
* 父级ID
* 父级ID
*/
*/
private
Long
parentId
;
private
Long
parentId
;
/**
* 项目文件ID
*/
private
Long
projectFileId
;
/**
/**
* 序号
* 序号
*/
*/
...
@@ -121,6 +126,7 @@ public class CbDirectExpense extends BaseEntity implements Serializable {
...
@@ -121,6 +126,7 @@ public class CbDirectExpense extends BaseEntity implements Serializable {
/**
/**
* 删除状态(0:否、2:是)
* 删除状态(0:否、2:是)
*/
*/
@TableLogic
(
value
=
"0"
,
delval
=
"2"
)
private
Integer
delFlag
;
private
Integer
delFlag
;
/**
/**
* 备注
* 备注
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/CbProjectFile.java
View file @
68a45a60
...
@@ -48,7 +48,7 @@ public class CbProjectFile extends BaseEntity implements Serializable {
...
@@ -48,7 +48,7 @@ public class CbProjectFile extends BaseEntity implements Serializable {
*/
*/
private
String
fileOssUrl
;
private
String
fileOssUrl
;
/**
/**
* 项目文件状态(0:
待解析
、1:解析中、2:解析成功、3:解析失败)
* 项目文件状态(0:
准备中
、1:解析中、2:解析成功、3:解析失败)
*/
*/
private
Integer
fileParseStatus
;
private
Integer
fileParseStatus
;
/**
/**
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/CbSceneExpenseChildren.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.dsk.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
/**
* 现场经费-工资统筹、其他费用、现场管理费表(CbSceneExpenseChildren)实体类
*
* @author sxk
* @since 2024-02-22 09:59:00
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
CbSceneExpenseChildren
extends
BaseEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
895279707061984760L
;
/**
* 主键ID
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 项目ID
*/
private
Long
projectId
;
/**
* 成本阶段(0:标前成本、1:标后成本、2:转固成本)
*/
private
Integer
cbStage
;
/**
* 父级ID
*/
private
Long
parentId
;
/**
* 序号
*/
private
String
number
;
/**
* 排序
*/
private
Integer
sort
;
/**
* 数据类型(0:工资统筹、1:现场管理费、2:其他费用)
*/
private
Integer
dataType
;
/**
* 名称
*/
private
String
expenseName
;
/**
* 单位
*/
private
String
unit
;
/**
* 成本数量-工资统筹表
*/
private
Integer
cbCount
;
/**
* 使用时间-其他费用表
*/
private
Integer
useTime
;
/**
* 工程量-现场管理费表
*/
private
String
engineeringVolume
;
/**
* 公司单价/不含税单价
*/
private
String
unitPrice
;
/**
* 目标成本合价(不含税)/不含税合价
*/
private
String
excludeTaxSumPrice
;
/**
* 目标成本合价(含税)/含税合价
*/
private
String
includeTaxSumPrice
;
/**
* 成本科目
*/
private
String
cbSubject
;
/**
* 税金类型
*/
private
String
taxType
;
/**
* 删除状态(0:否、2:是)
*/
@TableLogic
(
value
=
"0"
,
delval
=
"2"
)
private
Integer
delFlag
;
/**
* 备注
*/
private
String
remark
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/CbSceneExpenseMonth.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
domain
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.dsk.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
/**
* 现场经费-每月费用表(CbSceneExpenseMonth)实体类
*
* @author sxk
* @since 2024-02-22 09:59:28
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
CbSceneExpenseMonth
extends
BaseEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
73353509267146384L
;
/**
* 主键ID
*/
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 现场经费ID
*/
private
Long
sceneExpenseId
;
/**
* 本月费用
*/
private
Double
currentMonthExpense
;
/**
* 费用日期
*/
private
String
expenseDate
;
/**
* 删除状态(0:否、2:是)
*/
@TableLogic
(
value
=
"0"
,
delval
=
"2"
)
private
Integer
delFlag
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/
vo/ProjectRecordSearchV
o.java
→
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/
bo/CbProjectHistorySearchB
o.java
View file @
68a45a60
package
com
.
dsk
.
cscec
.
domain
.
v
o
;
package
com
.
dsk
.
cscec
.
domain
.
b
o
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
/**
/**
* @author sxk
* @author sxk
* @date 2024.02.18
* @date 2024.02.18
* @time 15:0
8
* @time 15:0
4
*/
*/
@Data
@Data
public
class
ProjectRecordSearchV
o
{
public
class
CbProjectHistorySearchB
o
{
/**
/**
* 项目ID
* 项目ID
*/
*/
private
Long
i
d
;
private
Long
projectI
d
;
/**
/**
* 项目名称
* 项目名称
*/
*/
...
@@ -24,11 +22,11 @@ public class ProjectRecordSearchVo {
...
@@ -24,11 +22,11 @@ public class ProjectRecordSearchVo {
*/
*/
private
String
ipmProjectNo
;
private
String
ipmProjectNo
;
/**
/**
*
文件名称
*
成本阶段(0:标前成本、1:标后成本、2:转固成本)
*/
*/
private
String
projectFileNam
e
;
private
Integer
cbStag
e
;
/**
/**
* 项目
数据
* 项目
文件状态(1:解析中、2:解析成功、3:解析失败)
*/
*/
private
List
<
ProjectRecordDataVo
>
dataVoList
;
private
Integer
projectFileStatus
;
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/ProjectRecordDataVo.java
→
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/
Cb
ProjectRecordDataVo.java
View file @
68a45a60
...
@@ -10,7 +10,7 @@ import java.util.Date;
...
@@ -10,7 +10,7 @@ import java.util.Date;
* @time 15:18
* @time 15:18
*/
*/
@Data
@Data
public
class
ProjectRecordDataVo
{
public
class
Cb
ProjectRecordDataVo
{
/**
/**
* 项目文件状态(1:解析中、2:解析成功、3:解析失败)
* 项目文件状态(1:解析中、2:解析成功、3:解析失败)
*/
*/
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/CbProjectRecordSearchVo.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.Date
;
/**
* @author sxk
* @date 2024.02.18
* @time 15:08
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
CbProjectRecordSearchVo
extends
CbProjectRecord
{
/**
* 更新者
*/
private
String
updateBy
;
/**
* 更新时间
*/
private
Date
updateTime
;
/**
* 是否有子集
*/
private
Boolean
hasChildren
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/CbProjectRecordMapper.java
View file @
68a45a60
...
@@ -2,9 +2,13 @@ package com.dsk.cscec.mapper;
...
@@ -2,9 +2,13 @@ package com.dsk.cscec.mapper;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Constants
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.vo.ProjectRecordSearchVo
;
import
com.dsk.cscec.domain.bo.CbProjectSearchBo
;
import
com.dsk.cscec.domain.vo.CbProjectRecordSearchVo
;
import
org.apache.ibatis.annotations.Param
;
/**
/**
* 项目台账表(CbProjectRecord)表数据库访问层
* 项目台账表(CbProjectRecord)表数据库访问层
...
@@ -16,7 +20,15 @@ public interface CbProjectRecordMapper extends BaseMapper<CbProjectRecord> {
...
@@ -16,7 +20,15 @@ public interface CbProjectRecordMapper extends BaseMapper<CbProjectRecord> {
/**
/**
* 获取项目台账列表
* 获取项目台账列表
*/
*/
Page
<
ProjectRecordSearchVo
>
selectPageProjectRecordList
(
Page
<
ProjectRecordSearchVo
>
build
,
QueryWrapper
<
CbProjectRecord
>
wrapper
);
Page
<
CbProjectRecordSearchVo
>
selectPageProjectRecordList
(
IPage
<
CbProjectSearchBo
>
build
,
@Param
(
"searchBo"
)
CbProjectSearchBo
searchBo
,
@Param
(
"deleteFlagExist"
)
Integer
deleteFlagExist
,
@Param
(
"projectFileStatusPreparing"
)
Integer
projectFileStatusPreparing
);
/**
* 获取草稿弹窗列表
*/
Page
<
CbProjectRecord
>
selectPageDraftDialogList
(
@Param
(
"page"
)
Page
<
CbProjectRecord
>
page
,
@Param
(
Constants
.
WRAPPER
)
QueryWrapper
<
CbProjectRecord
>
wrapper
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/CbSceneExpenseChildrenMapper.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.cscec.domain.CbSceneExpenseChildren
;
/**
* 现场经费-工资统筹、其他费用、现场管理费表(CbSceneExpenseChildren)表数据库访问层
*
* @author sxk
* @since 2024-02-22 09:58:57
*/
public
interface
CbSceneExpenseChildrenMapper
extends
BaseMapper
<
CbSceneExpenseChildren
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/CbSceneExpenseMonthMapper.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.cscec.domain.CbSceneExpenseMonth
;
/**
* 现场经费-每月费用表(CbSceneExpenseMonth)表数据库访问层
*
* @author sxk
* @since 2024-02-22 09:59:28
*/
public
interface
CbSceneExpenseMonthMapper
extends
BaseMapper
<
CbSceneExpenseMonth
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbProjectFileService.java
View file @
68a45a60
...
@@ -13,6 +13,13 @@ import com.dsk.system.domain.vo.SysOssVo;
...
@@ -13,6 +13,13 @@ import com.dsk.system.domain.vo.SysOssVo;
* @since 2024-02-05 14:01:06
* @since 2024-02-05 14:01:06
*/
*/
public
interface
CbProjectFileService
extends
IService
<
CbProjectFile
>
{
public
interface
CbProjectFileService
extends
IService
<
CbProjectFile
>
{
/**
* 校验同一成本类型下是否存在相同文件
*
* @param fileUploadBo 上传信息
*/
Boolean
checkProjectFileExist
(
AddProjectFileUploadBo
fileUploadBo
);
/**
/**
* 添加项目上传文件记录
* 添加项目上传文件记录
*
*
...
@@ -23,12 +30,12 @@ public interface CbProjectFileService extends IService<CbProjectFile> {
...
@@ -23,12 +30,12 @@ public interface CbProjectFileService extends IService<CbProjectFile> {
CbProjectFile
addProjectFile
(
AddProjectFileUploadBo
fileUploadBo
,
SysOssVo
oss
);
CbProjectFile
addProjectFile
(
AddProjectFileUploadBo
fileUploadBo
,
SysOssVo
oss
);
/**
/**
* 逻辑删除项目上传文件记录
*
批量
逻辑删除项目上传文件记录
*
*
* @param fileId 文件ID
* @param fileId
s
文件ID
* @return 删除结果
* @return 删除结果
*/
*/
Integer
deleteProjectFile
(
Long
fileId
);
Integer
deleteProjectFile
(
Long
[]
fileIds
);
/**
/**
* 获取项目文件上传详情
* 获取项目文件上传详情
...
@@ -37,5 +44,4 @@ public interface CbProjectFileService extends IService<CbProjectFile> {
...
@@ -37,5 +44,4 @@ public interface CbProjectFileService extends IService<CbProjectFile> {
* @return 文件列表
* @return 文件列表
*/
*/
QueryProjectFileUploadDetailVo
getProjectFileUploadDetail
(
Long
projectId
);
QueryProjectFileUploadDetailVo
getProjectFileUploadDetail
(
Long
projectId
);
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbProjectRecordService.java
View file @
68a45a60
...
@@ -4,11 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
...
@@ -4,11 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.domain.PageQuery
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.common.core.page.TableDataInfo
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.bo.AddCbProjectBo
;
import
com.dsk.cscec.domain.bo.*
;
import
com.dsk.cscec.domain.bo.AddNewCbProjectBo
;
import
com.dsk.cscec.domain.vo.CbProjectRecordSearchVo
;
import
com.dsk.cscec.domain.bo.CbProjectSearchBo
;
import
com.dsk.cscec.domain.bo.EditProjectInfoBo
;
import
com.dsk.cscec.domain.vo.ProjectRecordSearchVo
;
import
java.util.List
;
import
java.util.List
;
...
@@ -41,7 +38,15 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
...
@@ -41,7 +38,15 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
* @param pageQuery 分页对象
* @param pageQuery 分页对象
* @return 分页数据
* @return 分页数据
*/
*/
TableDataInfo
<
ProjectRecordSearchVo
>
getProjectList
(
CbProjectSearchBo
searchBo
,
PageQuery
pageQuery
);
TableDataInfo
<
CbProjectRecordSearchVo
>
getProjectList
(
CbProjectSearchBo
searchBo
,
PageQuery
pageQuery
);
/**
* 获取项目历史阶段信息(懒加载)
*
* @param searchBo 查询条件
* @return 历史阶段信息
*/
List
<
CbProjectRecord
>
getProjectHistoryInfo
(
CbProjectHistorySearchBo
searchBo
);
/**
/**
* 修改项目信息
* 修改项目信息
...
@@ -67,12 +72,29 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
...
@@ -67,12 +72,29 @@ public interface CbProjectRecordService extends IService<CbProjectRecord> {
*/
*/
CbProjectRecord
addNewStageProject
(
AddNewCbProjectBo
newProjectBo
);
CbProjectRecord
addNewStageProject
(
AddNewCbProjectBo
newProjectBo
);
/**
* 查询当前项目非草稿的成本阶段
*
* @param relatedId 关联ID
* @return 已有数据的成本阶段
*/
List
<
Integer
>
getProjectCbStageNotDraft
(
Long
relatedId
);
/**
* 批量删除项目
*
* @param projectIds 项目ID
* @return 删除结果
*/
Integer
batchDeleteProject
(
List
<
Long
>
projectIds
);
/**
/**
* 获取草稿弹窗列表
* 获取草稿弹窗列表
*
*
* @return 草稿弹窗列表
* @param pageQuery 分页对象
* @return 分页数据
*/
*/
List
<
CbProjectRecord
>
getDraftDialogList
(
);
TableDataInfo
<
CbProjectRecord
>
getDraftDialogList
(
PageQuery
pageQuery
);
/**
/**
* 删除草稿
* 删除草稿
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbSceneExpenseChildrenService.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.cscec.domain.CbSceneExpenseChildren
;
/**
* 现场经费-工资统筹、其他费用、现场管理费表(CbSceneExpenseChildren)表服务接口
*
* @author sxk
* @since 2024-02-22 09:59:01
*/
public
interface
CbSceneExpenseChildrenService
extends
IService
<
CbSceneExpenseChildren
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbSceneExpenseMonthService.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.cscec.domain.CbSceneExpenseMonth
;
/**
* 现场经费-每月费用表(CbSceneExpenseMonth)表服务接口
*
* @author sxk
* @since 2024-02-22 09:59:28
*/
public
interface
CbSceneExpenseMonthService
extends
IService
<
CbSceneExpenseMonth
>
{
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectFileServiceImpl.java
View file @
68a45a60
...
@@ -2,7 +2,9 @@ package com.dsk.cscec.service.impl;
...
@@ -2,7 +2,9 @@ package com.dsk.cscec.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.cscec.constant.CbProjectConstants
;
import
com.dsk.cscec.constant.CbProjectConstants
;
import
com.dsk.cscec.domain.CbProjectFile
;
import
com.dsk.cscec.domain.CbProjectFile
;
...
@@ -17,6 +19,7 @@ import org.springframework.stereotype.Service;
...
@@ -17,6 +19,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Objects
;
import
java.util.Objects
;
...
@@ -32,13 +35,34 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
...
@@ -32,13 +35,34 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
private
CbProjectFileMapper
baseMapper
;
private
CbProjectFileMapper
baseMapper
;
@Resource
@Resource
private
CbProjectRecordMapper
projectRecordMapper
;
private
CbProjectRecordMapper
projectRecordMapper
;
@Resource
private
CbProjectFileMapper
projectFileMapper
;
/**
* 校验同一成本类型下是否存在相同文件
*
* @param fileUploadBo 上传信息
*/
@Override
public
Boolean
checkProjectFileExist
(
AddProjectFileUploadBo
fileUploadBo
)
{
String
filename
=
fileUploadBo
.
getFile
().
getOriginalFilename
();
assert
filename
!=
null
;
projectFileMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
.
eq
(
CbProjectFile:
:
getProjectId
,
fileUploadBo
.
getProjectId
())
.
eq
(
CbProjectFile:
:
getCbType
,
fileUploadBo
.
getCbType
())).
forEach
(
projectFile
->
{
//仅对比文件名,不考虑文件格式
Assert
.
isFalse
(
projectFile
.
getFileName
().
substring
(
0
,
projectFile
.
getFileName
().
lastIndexOf
(
"."
)).
equals
(
filename
.
substring
(
0
,
filename
.
lastIndexOf
(
"."
)))
,
"当前成本类型下存在同名文件,请重新上传"
);
});
return
true
;
}
/**
/**
* 添加项目上传文件记录
* 添加项目上传文件记录
*
*
* @param fileUploadBo 上传信息
* @param fileUploadBo 上传信息
* @param oss oss信息
* @param oss oss信息
* @return
* @return
文件记录
*/
*/
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
...
@@ -58,16 +82,34 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
...
@@ -58,16 +82,34 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
}
}
/**
/**
* 逻辑删除项目上传文件记录
*
批量
逻辑删除项目上传文件记录
*
*
* @param fileId 文件ID
* @param fileId
s
文件ID
* @return 删除结果
* @return 删除结果
*/
*/
@Override
@Override
public
Integer
deleteProjectFile
(
Long
fileId
)
{
@Transactional
(
rollbackFor
=
Exception
.
class
)
CbProjectFile
projectFile
=
baseMapper
.
selectById
(
fileId
);
public
Integer
deleteProjectFile
(
Long
[]
fileIds
)
{
Assert
.
notNull
(
projectFile
,
"该文件不存在"
);
int
flag
=
0
;
return
baseMapper
.
deleteById
(
projectFile
);
//查询待删除文件
List
<
CbProjectFile
>
fileList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
.
in
(
ObjectUtil
.
isNotNull
(
fileIds
),
CbProjectFile:
:
getId
,
Arrays
.
asList
(
fileIds
)));
for
(
CbProjectFile
file
:
fileList
)
{
//不允许删除解析中的文件
Integer
fileParseStatus
=
file
.
getFileParseStatus
();
Assert
.
isFalse
(
fileParseStatus
.
equals
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSING
),
"文件正在解析中,不允许删除"
);
//准备中、的文件设为已删除,否则设为待删除
//设为待删除是为了方便各个成本类型删除数据
if
(
fileParseStatus
.
equals
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
))
{
flag
=
baseMapper
.
deleteById
(
file
);
}
else
{
flag
=
baseMapper
.
update
(
null
,
new
UpdateWrapper
<
CbProjectFile
>()
.
set
(
"del_flag"
,
CbProjectConstants
.
DELETE_FLAG_WAIT_DELETE
)
.
eq
(
"id"
,
file
.
getId
()));
}
}
return
flag
;
}
}
/**
/**
...
@@ -91,7 +133,7 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
...
@@ -91,7 +133,7 @@ public class CbProjectFileServiceImpl extends ServiceImpl<CbProjectFileMapper, C
QueryProjectFileUploadDetailVo
draftDetailVo
=
new
QueryProjectFileUploadDetailVo
();
QueryProjectFileUploadDetailVo
draftDetailVo
=
new
QueryProjectFileUploadDetailVo
();
draftDetailVo
.
setProjectId
(
projectId
);
draftDetailVo
.
setProjectId
(
projectId
);
if
(
projectFileList
.
isEmpty
())
{
if
(
projectFileList
.
isEmpty
())
{
return
draftDetailVo
;
return
null
;
}
}
//按照成本类型分类填充
//按照成本类型分类填充
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
View file @
68a45a60
...
@@ -3,6 +3,7 @@ package com.dsk.cscec.service.impl;
...
@@ -3,6 +3,7 @@ package com.dsk.cscec.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.lang.Assert
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.IdUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
...
@@ -16,7 +17,7 @@ import com.dsk.cscec.constant.CbProjectConstants;
...
@@ -16,7 +17,7 @@ import com.dsk.cscec.constant.CbProjectConstants;
import
com.dsk.cscec.domain.CbProjectFile
;
import
com.dsk.cscec.domain.CbProjectFile
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.CbProjectRecord
;
import
com.dsk.cscec.domain.bo.*
;
import
com.dsk.cscec.domain.bo.*
;
import
com.dsk.cscec.domain.vo.ProjectRecordSearchVo
;
import
com.dsk.cscec.domain.vo.
Cb
ProjectRecordSearchVo
;
import
com.dsk.cscec.mapper.CbProjectFileMapper
;
import
com.dsk.cscec.mapper.CbProjectFileMapper
;
import
com.dsk.cscec.mapper.CbProjectRecordMapper
;
import
com.dsk.cscec.mapper.CbProjectRecordMapper
;
import
com.dsk.cscec.service.CbProjectRecordService
;
import
com.dsk.cscec.service.CbProjectRecordService
;
...
@@ -139,24 +140,68 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
...
@@ -139,24 +140,68 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
* @return 分页数据
* @return 分页数据
*/
*/
@Override
@Override
public
TableDataInfo
<
ProjectRecordSearchVo
>
getProjectList
(
CbProjectSearchBo
searchBo
,
PageQuery
pageQuery
)
{
public
TableDataInfo
<
CbProjectRecordSearchVo
>
getProjectList
(
CbProjectSearchBo
searchBo
,
PageQuery
pageQuery
)
{
QueryWrapper
<
CbProjectRecord
>
wrapper
=
Wrappers
.
query
();
Page
<
CbProjectRecordSearchVo
>
page
=
baseMapper
.
selectPageProjectRecordList
(
pageQuery
.
build
(),
searchBo
,
CbProjectConstants
.
DELETE_FLAG_EXIST
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
);
wrapper
.
like
(
StringUtils
.
isNotBlank
(
searchBo
.
getProjectName
()),
"project_name"
,
searchBo
.
getProjectName
())
for
(
CbProjectRecordSearchVo
searchVo
:
page
.
getRecords
())
{
.
like
(
StringUtils
.
isNotBlank
(
searchBo
.
getIpmProjectNo
()),
"ipm_project_no"
,
searchBo
.
getIpmProjectNo
());
//判断是否有历史阶段
searchVo
.
setHasChildren
(
baseMapper
.
selectCount
(
new
LambdaQueryWrapper
<
CbProjectRecord
>()
.
eq
(
CbProjectRecord:
:
getRelatedId
,
searchVo
.
getRelatedId
()))
>
1
);
//TODO:成本阶段、文件解析状态筛选
//关键字标红
Integer
cbStage
=
searchBo
.
getCbStage
();
if
(
StringUtils
.
isNotBlank
(
searchBo
.
getProjectName
()))
{
Integer
projectFileStatus
=
searchBo
.
getProjectFileStatus
();
searchVo
.
setProjectName
(
StringUtils
.
markInRed
(
searchVo
.
getProjectName
(),
searchBo
.
getProjectName
()));
}
Page
<
ProjectRecordSearchVo
>
page
=
baseMapper
.
selectPageProjectRecordList
(
pageQuery
.
build
(),
wrapper
);
//补充更新时间、更新人
for
(
ProjectRecordSearchVo
searchVo
:
page
.
getRecords
())
{
CbProjectFile
projectFile
=
projectFileMapper
.
selectOne
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
Long
projectId
=
searchVo
.
getId
();
.
eq
(
CbProjectFile:
:
getProjectId
,
searchVo
.
getId
())
//page.
.
orderByDesc
(
CbProjectFile:
:
getUpdateTime
)
.
last
(
"LIMIT 1"
));
searchVo
.
setUpdateBy
(
projectFile
.
getUpdateBy
());
searchVo
.
setUpdateTime
(
projectFile
.
getUpdateTime
());
}
}
return
TableDataInfo
.
build
(
page
);
return
TableDataInfo
.
build
(
page
);
}
}
/**
* 获取项目历史阶段信息(懒加载)
*
* @param searchBo 查询条件
* @return 历史阶段信息
*/
@Override
public
List
<
CbProjectRecord
>
getProjectHistoryInfo
(
CbProjectHistorySearchBo
searchBo
)
{
//校验项目是否存在
CbProjectRecord
projectRecord
=
this
.
checkProjectExist
(
searchBo
.
getProjectId
());
//查询所有历史阶段项目(不含准备中的项目)
List
<
CbProjectRecord
>
projectRecordList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectRecord
>()
.
eq
(
CbProjectRecord:
:
getRelatedId
,
projectRecord
.
getRelatedId
())
.
ne
(
CbProjectRecord:
:
getId
,
projectRecord
.
getId
())
.
ne
(
CbProjectRecord:
:
getProjectFileStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
)
.
like
(
StringUtils
.
isNotBlank
(
searchBo
.
getProjectName
()),
CbProjectRecord:
:
getProjectName
,
searchBo
.
getProjectName
())
.
eq
(
StringUtils
.
isNotBlank
(
searchBo
.
getIpmProjectNo
()),
CbProjectRecord:
:
getIpmProjectNo
,
searchBo
.
getIpmProjectNo
())
.
eq
(
ObjectUtil
.
isNotNull
(
searchBo
.
getCbStage
()),
CbProjectRecord:
:
getCbStage
,
searchBo
.
getCbStage
())
.
eq
(
ObjectUtil
.
isNotNull
(
searchBo
.
getProjectFileStatus
()),
CbProjectRecord:
:
getProjectFileStatus
,
searchBo
.
getProjectFileStatus
()));
projectRecordList
.
forEach
(
record
->
{
//关键字标红
if
(
StringUtils
.
isNotBlank
(
searchBo
.
getProjectName
()))
{
record
.
setProjectName
(
StringUtils
.
markInRed
(
record
.
getProjectFileName
(),
searchBo
.
getProjectName
()));
}
//补充更新时间、更新人
CbProjectFile
projectFile
=
projectFileMapper
.
selectOne
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
.
eq
(
CbProjectFile:
:
getProjectId
,
record
.
getId
())
.
orderByDesc
(
CbProjectFile:
:
getUpdateTime
)
.
last
(
"LIMIT 1"
));
record
.
setUpdateBy
(
projectFile
.
getUpdateBy
());
record
.
setUpdateTime
(
projectFile
.
getUpdateTime
());
});
return
projectRecordList
;
}
/**
/**
* 修改项目信息
* 修改项目信息
*
*
...
@@ -233,13 +278,70 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
...
@@ -233,13 +278,70 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
return
null
;
return
null
;
}
}
/**
* 查询当前项目非草稿的成本阶段
*
* @param relatedId 关联ID
* @return 已有数据的成本阶段
*/
@Override
public
List
<
Integer
>
getProjectCbStageNotDraft
(
Long
relatedId
)
{
//通过关联ID校验项目是否存在
List
<
CbProjectRecord
>
projectRecordList
=
this
.
checkRelatedIdExist
(
relatedId
);
ArrayList
<
Integer
>
cbStageList
=
new
ArrayList
<>();
projectRecordList
.
forEach
(
projectRecord
->
{
//文件状态为解析成功or解析失败即为有数据
if
(!
projectRecord
.
getProjectFileStatus
().
equals
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
)
&&
!
projectRecord
.
getProjectFileStatus
().
equals
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSING
)
&&
projectFileMapper
.
exists
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
.
eq
(
CbProjectFile:
:
getProjectId
,
projectRecord
.
getId
())
.
eq
(
CbProjectFile:
:
getFileParseStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_SUCCESS
)
.
or
()
.
eq
(
CbProjectFile:
:
getFileParseStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSE_FAIL
)))
{
cbStageList
.
add
(
projectRecord
.
getCbStage
());
}
});
return
cbStageList
;
}
/**
* 批量删除项目
*
* @param projectIds 项目ID
* @return 删除结果
*/
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Integer
batchDeleteProject
(
List
<
Long
>
projectIds
)
{
int
flag
=
0
;
for
(
Long
projectId
:
projectIds
)
{
//校验项目是否存在
CbProjectRecord
projectRecord
=
this
.
checkProjectExist
(
projectId
);
//不允许删除正在解析中的项目
Assert
.
isFalse
(
projectRecord
.
getProjectFileStatus
().
equals
(
CbProjectConstants
.
PROJECT_FILE_STATUS_PARSING
)
,
"存在解析中的项目,删除失败"
);
//TODO:各个成本类型数据和对应每月成本数据暂不做删除,项目台账列表查不出来自然也无法查看数据
//删除项目文件记录
flag
=
projectFileMapper
.
delete
(
new
LambdaQueryWrapper
<
CbProjectFile
>()
.
eq
(
CbProjectFile:
:
getProjectId
,
projectId
));
//删除项目记录
Assert
.
isTrue
(
flag
>
0
,
"操作异常,请联系管理员"
);
flag
=
baseMapper
.
deleteById
(
projectId
);
}
return
flag
;
}
/**
/**
* 通过关联ID校验项目是否存在
* 通过关联ID校验项目是否存在
*
*
* @return 该关联ID下的所有项目记录
* @return 该关联ID下的所有项目记录
*/
*/
private
List
<
CbProjectRecord
>
checkRelatedIdExist
(
Long
relatedId
)
{
private
List
<
CbProjectRecord
>
checkRelatedIdExist
(
Long
relatedId
)
{
List
<
CbProjectRecord
>
projectRecordList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectRecord
>().
eq
(
CbProjectRecord:
:
getRelatedId
,
relatedId
));
List
<
CbProjectRecord
>
projectRecordList
=
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectRecord
>()
.
eq
(
CbProjectRecord:
:
getRelatedId
,
relatedId
));
Assert
.
isFalse
(
projectRecordList
.
isEmpty
(),
"关联ID无效"
);
Assert
.
isFalse
(
projectRecordList
.
isEmpty
(),
"关联ID无效"
);
return
projectRecordList
;
return
projectRecordList
;
}
}
...
@@ -247,12 +349,17 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
...
@@ -247,12 +349,17 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
/**
/**
* 获取草稿弹窗列表
* 获取草稿弹窗列表
*
*
* @return 草稿弹窗列表
* @param pageQuery 分页对象
* @return 分页数据
*/
*/
@Override
@Override
public
List
<
CbProjectRecord
>
getDraftDialogList
()
{
public
TableDataInfo
<
CbProjectRecord
>
getDraftDialogList
(
PageQuery
pageQuery
)
{
return
baseMapper
.
selectList
(
new
LambdaQueryWrapper
<
CbProjectRecord
>()
QueryWrapper
<
CbProjectRecord
>
wrapper
=
Wrappers
.
query
();
.
eq
(
CbProjectRecord:
:
getProjectFileStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
));
wrapper
.
eq
(
"project_file_status"
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
)
.
eq
(
"del_flag"
,
CbProjectConstants
.
DELETE_FLAG_EXIST
)
.
orderByDesc
(
"update_time"
);
return
TableDataInfo
.
build
(
baseMapper
.
selectPageDraftDialogList
(
pageQuery
.
build
(),
wrapper
));
}
}
/**
/**
...
...
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbSceneExpenseChildrenServiceImpl.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.cscec.domain.CbSceneExpenseChildren
;
import
com.dsk.cscec.mapper.CbSceneExpenseChildrenMapper
;
import
com.dsk.cscec.service.CbSceneExpenseChildrenService
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
/**
* 现场经费-工资统筹、其他费用、现场管理费表(CbSceneExpenseChildren)表服务实现类
*
* @author sxk
* @since 2024-02-22 09:59:01
*/
@Service
(
"cbSceneExpenseChildrenService"
)
public
class
CbSceneExpenseChildrenServiceImpl
extends
ServiceImpl
<
CbSceneExpenseChildrenMapper
,
CbSceneExpenseChildren
>
implements
CbSceneExpenseChildrenService
{
@Resource
private
CbSceneExpenseChildrenMapper
baseMapper
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbSceneExpenseMonthServiceImpl.java
0 → 100644
View file @
68a45a60
package
com
.
dsk
.
cscec
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.dsk.cscec.domain.CbSceneExpenseMonth
;
import
com.dsk.cscec.mapper.CbSceneExpenseMonthMapper
;
import
com.dsk.cscec.service.CbSceneExpenseMonthService
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
/**
* 现场经费-每月费用表(CbSceneExpenseMonth)表服务实现类
*
* @author sxk
* @since 2024-02-22 09:59:28
*/
@Service
(
"cbSceneExpenseMonthService"
)
public
class
CbSceneExpenseMonthServiceImpl
extends
ServiceImpl
<
CbSceneExpenseMonthMapper
,
CbSceneExpenseMonth
>
implements
CbSceneExpenseMonthService
{
@Resource
private
CbSceneExpenseMonthMapper
baseMapper
;
}
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/CbProjectFileMapper.xml
View file @
68a45a60
<?xml version="1.0" encoding="UTF-8"?>
<?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">
<!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"
>
<mapper
namespace=
"com.dsk.cscec.mapper.CbProjectFileMapper"
>
</mapper>
</mapper>
\ No newline at end of file
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/CbProjectRecordMapper.xml
View file @
68a45a60
...
@@ -2,11 +2,48 @@
...
@@ -2,11 +2,48 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.dsk.cscec.mapper.CbProjectRecordMapper"
>
<mapper
namespace=
"com.dsk.cscec.mapper.CbProjectRecordMapper"
>
<!--获取项目台账列表-->
<!--获取项目台账列表-->
<select
id=
"selectPageProjectRecordList"
resultType=
"com.dsk.cscec.domain.vo.ProjectRecordSearchVo"
>
<select
id=
"selectPageProjectRecordList"
resultType=
"com.dsk.cscec.domain.vo.CbProjectRecordSearchVo"
>
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>
<!--获取草稿弹窗列表-->
<select
id=
"selectPageDraftDialogList"
resultType=
"com.dsk.cscec.domain.CbProjectRecord"
>
select cpr.id,
select cpr.id,
cpr.project_name,
cpr.project_name,
cpr.
ipm_project_no
,
cpr.
cb_stage
,
cpr.
project_file_na
me
cpr.
update_ti
me
from cb_project_record cpr
from cb_project_record cpr
${ew.getCustomSqlSegment};
${ew.getCustomSqlSegment};
</select>
</select>
...
...
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/CbSceneExpenseChildrenMapper.xml
0 → 100644
View file @
68a45a60
<?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.CbSceneExpenseChildrenMapper"
>
</mapper>
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/CbSceneExpenseMonthMapper.xml
0 → 100644
View file @
68a45a60
<?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.CbSceneExpenseMonthMapper"
>
</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