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
b227fca8
Commit
b227fca8
authored
Mar 01, 2024
by
施翔轲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
直接费相关
parent
9188fa11
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
569 additions
and
24 deletions
+569
-24
CbProjectConstants.java
.../main/java/com/dsk/cscec/constant/CbProjectConstants.java
+28
-1
CbDirectExpenseController.java
...a/com/dsk/cscec/controller/CbDirectExpenseController.java
+43
-3
CbDirectExpense.java
...i/src/main/java/com/dsk/cscec/domain/CbDirectExpense.java
+34
-18
AddCbDirectExpenseBo.java
...in/java/com/dsk/cscec/domain/bo/AddCbDirectExpenseBo.java
+44
-0
CbDirectExpenseDataDetailVo.java
.../com/dsk/cscec/domain/vo/CbDirectExpenseDataDetailVo.java
+23
-0
CbDirectExpenseMenuVo.java
...n/java/com/dsk/cscec/domain/vo/CbDirectExpenseMenuVo.java
+35
-0
CbDirectExpenseMapper.java
...main/java/com/dsk/cscec/mapper/CbDirectExpenseMapper.java
+12
-0
CbDirectExpenseService.java
...in/java/com/dsk/cscec/service/CbDirectExpenseService.java
+34
-0
CbDirectExpenseServiceImpl.java
...om/dsk/cscec/service/impl/CbDirectExpenseServiceImpl.java
+303
-0
CbProjectRecordServiceImpl.java
...om/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
+5
-2
CbDirectExpenseMapper.xml
...src/main/resources/mapper/cscec/CbDirectExpenseMapper.xml
+8
-0
No files found.
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/constant/CbProjectConstants.java
View file @
b227fca8
...
...
@@ -88,5 +88,32 @@ public interface CbProjectConstants {
*/
int
CB_TYPE_SUMMARY
=
5
;
String
CB_TYPE_SUMMARY_NAME
=
"成本汇总"
;
/**
* 直接费清单/费用项分类标识:清
*/
String
DIRECT_EXPENSE_CATEGORY_TAG_QING
=
"清"
;
/**
* 直接费清单/费用项分类标识:专
*/
String
DIRECT_EXPENSE_CATEGORY_TAG_ZHUAN
=
"专"
;
/**
* 直接费清单/费用项分类标识:劳
*/
String
DIRECT_EXPENSE_CATEGORY_TAG_LAO
=
"劳"
;
/**
* 直接费清单/费用项分类标识:材
*/
String
DIRECT_EXPENSE_CATEGORY_TAG_CAI
=
"材"
;
/**
* 直接费编码:专
*/
String
DIRECT_EXPENSE_CODE_ZHUAN
=
"ZY"
;
/**
* 直接费编码:劳
*/
String
DIRECT_EXPENSE_CODE_LAO
=
"LW"
;
/**
* 直接费编码:材
*/
String
DIRECT_EXPENSE_CODE_CAI
=
"FG"
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/controller/CbDirectExpenseController.java
View file @
b227fca8
package
com
.
dsk
.
cscec
.
controller
;
import
com.dsk.common.core.controller.BaseController
;
import
com.dsk.common.core.domain.R
;
import
com.dsk.cscec.domain.bo.AddCbDirectExpenseBo
;
import
com.dsk.cscec.domain.vo.CbDirectExpenseDataDetailVo
;
import
com.dsk.cscec.domain.vo.CbDirectExpenseMenuVo
;
import
com.dsk.cscec.service.CbDirectExpenseService
;
import
org.springframework.
web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.
RestController
;
import
org.springframework.
validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.
*
;
import
javax.annotation.Resource
;
import
javax.validation.constraints.NotNull
;
import
java.util.List
;
/**
* 直接费成本表(CbDirectExpense)表控制层
...
...
@@ -14,12 +21,45 @@ import javax.annotation.Resource;
*/
@RestController
@RequestMapping
(
"cbDirectExpense"
)
public
class
CbDirectExpenseController
{
public
class
CbDirectExpenseController
extends
BaseController
{
/**
* 服务对象
*/
@Resource
private
CbDirectExpenseService
baseService
;
/**
* 获取直接费菜单
*/
@GetMapping
(
"/getMenuList/{projectId}"
)
public
R
<
CbDirectExpenseMenuVo
>
getMenuList
(
@NotNull
(
message
=
"项目ID不能为空"
)
@PathVariable
Long
projectId
)
{
return
R
.
ok
(
baseService
.
getMenuList
(
projectId
));
}
/**
* 直接费数据解析
*/
@GetMapping
(
"/parseDirectExpenseData/{projectId}"
)
public
R
<
Void
>
parseDirectExpenseData
(
@PathVariable
Long
projectId
)
throws
Exception
{
baseService
.
parseDirectExpenseData
(
projectId
,
1
);
return
R
.
ok
();
}
/**
* 获取直接费数据详情
*/
@GetMapping
(
"/getDataDetail/{menuId}"
)
public
R
<
List
<
CbDirectExpenseDataDetailVo
>>
getDataDetail
(
@NotNull
(
message
=
"菜单ID不能为空"
)
@PathVariable
Long
menuId
)
{
return
R
.
ok
(
baseService
.
getDataDetail
(
menuId
));
}
/**
* 新增直接费费用项
*/
@PostMapping
(
"/addExpense"
)
public
R
<
Void
>
addExpense
(
@Validated
@RequestBody
AddCbDirectExpenseBo
addBo
)
{
return
toAjax
(
baseService
.
addExpense
(
addBo
));
}
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/CbDirectExpense.java
View file @
b227fca8
...
...
@@ -2,6 +2,7 @@ package com.dsk.cscec.domain;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableLogic
;
import
com.dsk.common.annotation.Excel
;
import
com.dsk.common.core.domain.BaseEntity
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
...
...
@@ -24,112 +25,127 @@ public class CbDirectExpense extends BaseEntity implements Serializable {
@TableId
(
value
=
"id"
)
private
Long
id
;
/**
* 项目ID
*/
private
Long
projectId
;
/**
* 成本阶段(0:标前成本、1:标后成本、2:转固成本)
* 排序
*/
private
Integer
cbStage
;
private
Integer
sort
;
/**
* 父级ID
*/
private
Long
parentId
;
/**
*
项目文件ID
*
层级
*/
private
Long
projectFileId
;
private
Integer
level
;
/**
*
序号
*
项目ID
*/
private
String
number
;
private
Long
projectId
;
/**
*
排序
*
项目文件ID
*/
private
Integer
sort
;
private
Long
projectFileId
;
/**
* 编码
*/
@Excel
(
name
=
"编码"
)
private
String
code
;
/**
* 名称
*/
@Excel
(
name
=
"名称"
)
private
String
expenseName
;
/**
* 清单/费用项分类标识
*/
@Excel
(
name
=
"清单/费用项分类标识"
)
private
String
expenseCategoryTag
;
/**
* 项目特征
*/
@Excel
(
name
=
"项目特征"
)
private
String
projectFeature
;
/**
* 单位
*/
@Excel
(
name
=
"单位"
)
private
String
unit
;
/**
* 工程量表达式
*/
@Excel
(
name
=
"工程量表达式"
)
private
String
engineeringVolumeExpression
;
/**
* 工程量
*/
@Excel
(
name
=
"工程量"
)
private
String
engineeringVolume
;
/**
* 成本科目
*/
@Excel
(
name
=
"成本科目"
)
private
String
cbSubject
;
/**
* 招标控制价单价
*/
@Excel
(
name
=
"招标控制价单价"
)
private
String
tenderControlUnitPrice
;
/**
* 招标控制价合价
*/
@Excel
(
name
=
"招标控制价合价"
)
private
String
tenderControlSumPrice
;
/**
* 不含税成本单价
*/
@Excel
(
name
=
"不含税成本单价"
)
private
String
excludeTaxCbUnitPrice
;
/**
* 不含税成本合价
*/
@Excel
(
name
=
"不含税成本合价"
)
private
String
excludeTaxCbSumPrice
;
/**
* 成本税金合计
*/
@Excel
(
name
=
"成本税金合计"
)
private
String
cbTaxSum
;
/**
* 含税成本单价
*/
@Excel
(
name
=
"含税成本单价"
)
private
String
includeTaxCbUnitPrice
;
/**
* 含税成本合价
*/
@Excel
(
name
=
"含税成本合价"
)
private
String
includeTaxCbSumPrice
;
/**
* 合价偏差
*/
@Excel
(
name
=
"合价偏差"
)
private
String
sumPriceDeviation
;
/**
* 盈亏率
*/
@Excel
(
name
=
"盈亏率"
)
private
String
profitLossRatio
;
/**
* 标准成本费用
*/
@Excel
(
name
=
"标准成本费用"
)
private
String
standardCbItem
;
/**
* 数据源(0:导入、1:手动新增)
* 备注
*/
@Excel
(
name
=
"备注"
)
private
String
remark
;
/**
* 是否为导入数据
*/
private
Integer
dataOrigin
;
private
Boolean
isImport
;
/**
* 删除状态(0:否、2:是)
*/
@TableLogic
(
value
=
"0"
,
delval
=
"2"
)
private
Integer
delFlag
;
/**
* 备注
*/
private
String
failRemark
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/bo/AddCbDirectExpenseBo.java
0 → 100644
View file @
b227fca8
package
com
.
dsk
.
cscec
.
domain
.
bo
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
import
javax.validation.constraints.NotNull
;
/**
* @author sxk
* @date 2024.03.01
* @time 17:59
*/
@Data
public
class
AddCbDirectExpenseBo
{
/**
* 清ID
*/
@NotNull
(
message
=
"清ID不能为空"
)
private
Long
qingId
;
/**
* 编码
*/
@NotBlank
(
message
=
"编码不能为空"
)
private
String
code
;
/**
* 项目名称
*/
@NotBlank
(
message
=
"项目名称不能为空"
)
private
String
expenseName
;
/**
* 单位
*/
@NotBlank
(
message
=
"单位不能为空"
)
private
String
unit
;
/**
* 单价
*/
@NotBlank
(
message
=
"单价不能为空"
)
private
String
tenderControlUnitPrice
;
/**
* 特征描述
*/
private
String
projectFeature
;
}
\ No newline at end of file
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/CbDirectExpenseDataDetailVo.java
0 → 100644
View file @
b227fca8
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
com.dsk.cscec.domain.CbDirectExpense
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author sxk
* @date 2024.03.01
* @time 17:03
*/
@EqualsAndHashCode
(
callSuper
=
true
)
@Data
public
class
CbDirectExpenseDataDetailVo
extends
CbDirectExpense
{
/**
* 子集
*/
private
List
<
CbDirectExpenseDataDetailVo
>
childrenList
=
new
ArrayList
<>();
;
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/domain/vo/CbDirectExpenseMenuVo.java
0 → 100644
View file @
b227fca8
package
com
.
dsk
.
cscec
.
domain
.
vo
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author sxk
* @date 2024.03.01
* @time 09:34
*/
@Data
public
class
CbDirectExpenseMenuVo
{
/**
* 菜单ID
*/
private
Long
menuId
;
/**
* 父级ID
*/
private
Long
parentId
;
/**
* 菜单名称
*/
private
String
menuName
;
/**
* 菜单层级
*/
private
Integer
menuLevel
;
/**
* 子菜单
*/
private
List
<
CbDirectExpenseMenuVo
>
childrenList
=
new
ArrayList
<>();
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/mapper/CbDirectExpenseMapper.java
View file @
b227fca8
...
...
@@ -2,6 +2,10 @@ package com.dsk.cscec.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.dsk.cscec.domain.CbDirectExpense
;
import
com.dsk.cscec.domain.vo.CbDirectExpenseMenuVo
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 直接费成本表(CbDirectExpense)表数据库访问层
...
...
@@ -10,6 +14,14 @@ import com.dsk.cscec.domain.CbDirectExpense;
* @since 2024-02-05 14:43:31
*/
public
interface
CbDirectExpenseMapper
extends
BaseMapper
<
CbDirectExpense
>
{
/**
* 查询清单/费用项分类标识为数字的数字
*
* @param projectId 项目ID
* @param regx 正则表达式1-10
* @param deleteFlagExist 删除标识
*/
List
<
CbDirectExpenseMenuVo
>
selectMenuData
(
@Param
(
"projectId"
)
Long
projectId
,
@Param
(
"regx"
)
String
regx
,
@Param
(
"deleteFlagExist"
)
Integer
deleteFlagExist
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/CbDirectExpenseService.java
View file @
b227fca8
...
...
@@ -2,6 +2,11 @@ package com.dsk.cscec.service;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.dsk.cscec.domain.CbDirectExpense
;
import
com.dsk.cscec.domain.bo.AddCbDirectExpenseBo
;
import
com.dsk.cscec.domain.vo.CbDirectExpenseDataDetailVo
;
import
com.dsk.cscec.domain.vo.CbDirectExpenseMenuVo
;
import
java.util.List
;
/**
* 直接费成本表(CbDirectExpense)表服务接口
...
...
@@ -10,6 +15,35 @@ import com.dsk.cscec.domain.CbDirectExpense;
* @since 2024-02-05 14:43:34
*/
public
interface
CbDirectExpenseService
extends
IService
<
CbDirectExpense
>
{
/**
* 获取直接费菜单
*
* @param projectId 项目ID
* @return 直接费菜单
*/
CbDirectExpenseMenuVo
getMenuList
(
Long
projectId
);
/**
* 直接费数据解析
*
* @param projectId 项目ID
* @param cbStage 成本阶段
*/
void
parseDirectExpenseData
(
Long
projectId
,
Integer
cbStage
)
throws
Exception
;
/**
* 获取直接费数据详情
*
* @param menuId 菜单ID
* @return 数据详情
*/
List
<
CbDirectExpenseDataDetailVo
>
getDataDetail
(
Long
menuId
);
/**
* 新增直接费费用项
*
* @param addBo 费用项
* @return 新增结果
*/
Integer
addExpense
(
AddCbDirectExpenseBo
addBo
);
}
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbDirectExpenseServiceImpl.java
View file @
b227fca8
This diff is collapsed.
Click to expand it.
dsk-module/dsk-biz-api/src/main/java/com/dsk/cscec/service/impl/CbProjectRecordServiceImpl.java
View file @
b227fca8
...
...
@@ -56,6 +56,8 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
private
CbProjectOtherService
projectOtherService
;
@Resource
private
ICbCostMeasureService
costMeasureService
;
@Resource
private
CbDirectExpenseService
directExpenseService
;
/**
* 新增项目
...
...
@@ -124,10 +126,11 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
projectFile
.
setFailRemark
(
null
);
}).
collect
(
Collectors
.
toList
()));
//
TODO:
调各个成本类型的解析文件方法
//调各个成本类型的解析文件方法
Integer
cbStage
=
projectRecord
.
getCbStage
();
String
username
=
Objects
.
requireNonNull
(
LoginHelper
.
getLoginUser
()).
getUsername
();
//直接费成本
directExpenseService
.
parseDirectExpenseData
(
projectId
,
cbStage
);
//工料汇总
CbProjectBaseBo
projectBaseBo
=
new
CbProjectBaseBo
();
projectBaseBo
.
setProjectId
(
projectId
);
...
...
@@ -178,7 +181,7 @@ public class CbProjectRecordServiceImpl extends ServiceImpl<CbProjectRecordMappe
//判断是否有历史阶段
searchVo
.
setHasChildren
(
baseMapper
.
selectCount
(
new
LambdaQueryWrapper
<
CbProjectRecord
>()
.
eq
(
CbProjectRecord:
:
getRelatedId
,
searchVo
.
getRelatedId
())
.
ne
(
CbProjectRecord:
:
getProjectFileStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
))
>
1
.
ne
(
CbProjectRecord:
:
getProjectFileStatus
,
CbProjectConstants
.
PROJECT_FILE_STATUS_PREPARING
))
>
1
);
//关键字标红
...
...
dsk-module/dsk-biz-api/src/main/resources/mapper/cscec/CbDirectExpenseMapper.xml
View file @
b227fca8
...
...
@@ -2,5 +2,13 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.dsk.cscec.mapper.CbDirectExpenseMapper"
>
<select
id=
"selectMenuData"
resultType=
"com.dsk.cscec.domain.vo.CbDirectExpenseMenuVo"
>
select cde.id menuId, cde.parent_id, cde.expense_name menuName, cde.level menuLevel
from cb_direct_expense cde
where cde.project_id = #{projectId}
and cde.expense_category_tag regexp #{regx}
and cde.del_flag = #{deleteFlagExist}
order by cde.sort
</select>
</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