Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
daca1fac
Commit
daca1fac
authored
Jan 17, 2024
by
李小惠
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改装备财务报表
parent
c2318e87
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
152 行增加
和
19 行删除
+152
-19
TjServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/TjServiceImpl.java
+73
-4
PriceSumSummaryMapper.xml
jyzb-biz/src/main/resources/mapper/PriceSumSummaryMapper.xml
+79
-15
没有找到文件。
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/TjServiceImpl.java
View file @
daca1fac
...
@@ -439,8 +439,33 @@ public class TjServiceImpl implements TjService {
...
@@ -439,8 +439,33 @@ public class TjServiceImpl implements TjService {
List
<
TjOrgPriceDto
>
tjOrgPriceDtoList
=
new
ArrayList
<>();
List
<
TjOrgPriceDto
>
tjOrgPriceDtoList
=
new
ArrayList
<>();
//根据条件查询财务汇总表
//根据条件查询财务汇总表
//循环遍历下一级以及它下面的汇总信息
//循环遍历下一级以及它下面的汇总信息
for
(
String
orgId:
orgList
)
{
// for (String orgId:orgList) {
TjOrgPriceDto
OrgData
=
priceSumSummaryMapper
.
TjOrgPrice
(
orgId
,
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
()
);
// TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() );
// OrgData.setAddNum(ObjectUtil.isNull(OrgData.getAddNum())?0:OrgData.getAddNum());
// OrgData.setEndNum(ObjectUtil.isNull(OrgData.getEndNum())?0:OrgData.getEndNum());
// OrgData.setStartNum(ObjectUtil.isNull(OrgData.getStartNum())?0:OrgData.getStartNum());
// OrgData.setDestoryNum(ObjectUtil.isNull(OrgData.getDestoryNum())?0:OrgData.getDestoryNum());
// OrgData.setStartPrice(ObjectUtil.isNull(OrgData.getStartPrice())?BigDecimal.ZERO:OrgData.getStartPrice());
// OrgData.setEndPrice(ObjectUtil.isNull(OrgData.getEndPrice())?BigDecimal.ZERO:OrgData.getEndPrice());
// OrgData.setAddPrice(ObjectUtil.isNull(OrgData.getAddPrice())?BigDecimal.ZERO:OrgData.getAddPrice());
// OrgData.setDestoryPrice(ObjectUtil.isNull(OrgData.getDestoryPrice())?BigDecimal.ZERO:OrgData.getDestoryPrice());
// tjOrgPriceDtoList.add(OrgData);
// }
List
<
CompletableFuture
<
TjOrgPriceDto
>>
futures
=
orgList
.
stream
()
.
map
(
orgId
->
CompletableFuture
.
supplyAsync
(()
->
priceSumSummaryMapper
.
TjOrgPrice
(
orgId
,
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
()
)
))
.
collect
(
Collectors
.
toList
());
// 等待所有 CompletableFuture 完成
CompletableFuture
<
Void
>
allOf
=
CompletableFuture
.
allOf
(
futures
.
toArray
(
new
CompletableFuture
[
0
])
);
allOf
.
thenRun
(()->{
for
(
CompletableFuture
<
TjOrgPriceDto
>
future
:
futures
)
{
try
{
TjOrgPriceDto
OrgData
=
future
.
get
();
if
(
OrgData
!=
null
){
OrgData
.
setAddNum
(
ObjectUtil
.
isNull
(
OrgData
.
getAddNum
())?
0
:
OrgData
.
getAddNum
());
OrgData
.
setAddNum
(
ObjectUtil
.
isNull
(
OrgData
.
getAddNum
())?
0
:
OrgData
.
getAddNum
());
OrgData
.
setEndNum
(
ObjectUtil
.
isNull
(
OrgData
.
getEndNum
())?
0
:
OrgData
.
getEndNum
());
OrgData
.
setEndNum
(
ObjectUtil
.
isNull
(
OrgData
.
getEndNum
())?
0
:
OrgData
.
getEndNum
());
OrgData
.
setStartNum
(
ObjectUtil
.
isNull
(
OrgData
.
getStartNum
())?
0
:
OrgData
.
getStartNum
());
OrgData
.
setStartNum
(
ObjectUtil
.
isNull
(
OrgData
.
getStartNum
())?
0
:
OrgData
.
getStartNum
());
...
@@ -451,11 +476,18 @@ public class TjServiceImpl implements TjService {
...
@@ -451,11 +476,18 @@ public class TjServiceImpl implements TjService {
OrgData
.
setDestoryPrice
(
ObjectUtil
.
isNull
(
OrgData
.
getDestoryPrice
())?
BigDecimal
.
ZERO
:
OrgData
.
getDestoryPrice
());
OrgData
.
setDestoryPrice
(
ObjectUtil
.
isNull
(
OrgData
.
getDestoryPrice
())?
BigDecimal
.
ZERO
:
OrgData
.
getDestoryPrice
());
tjOrgPriceDtoList
.
add
(
OrgData
);
tjOrgPriceDtoList
.
add
(
OrgData
);
}
}
}
catch
(
InterruptedException
|
ExecutionException
e
){
}
}
});
if
(
req
.
getOrgId
()!=
1369509498032808905L
){
if
(
req
.
getOrgId
()!=
1369509498032808905L
){
TjOrgPriceDto
OrgData
=
priceSumSummaryMapper
.
TjOrgPriceLeve4
(
req
.
getOrgId
(),
req
.
getYear
(),
req
.
getTypeIdsList
(),
TjOrgPriceDto
OrgData
=
priceSumSummaryMapper
.
TjOrgPriceLeve4
(
req
.
getOrgId
(),
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
(),
pubOrg
.
getLevelFlag
());
req
.
getSizeNameList
(),
pubOrg
.
getLevelFlag
());
tjOrgPriceDtoList
.
add
(
OrgData
);
//把本级数据加进去
tjOrgPriceDtoList
.
add
(
OrgData
);
//把本级数据加进去
}
}
// 等待所有 CompletableFuture 完成
allOf
.
join
();
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if
(
req
.
getRemoveEmpty
()){
if
(
req
.
getRemoveEmpty
()){
...
@@ -494,10 +526,47 @@ public class TjServiceImpl implements TjService {
...
@@ -494,10 +526,47 @@ public class TjServiceImpl implements TjService {
List
<
String
>
orgList
=
inventorySummaryMapper
.
getTotalData
(
String
.
valueOf
(
req
.
getOrgId
()));
List
<
String
>
orgList
=
inventorySummaryMapper
.
getTotalData
(
String
.
valueOf
(
req
.
getOrgId
()));
List
<
TjOrgPriceDto
>
tjOrgPriceDtoList
=
new
ArrayList
<>();
List
<
TjOrgPriceDto
>
tjOrgPriceDtoList
=
new
ArrayList
<>();
//根据条件查询财务汇总表
//根据条件查询财务汇总表
for
(
String
orgId:
orgList
)
{
// for (String orgId:orgList) {
TjOrgPriceDto
OrgData
=
priceSumSummaryMapper
.
TjOrgPrice
(
orgId
,
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
()
);
// TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() );
// tjOrgPriceDtoList.add(OrgData);
// }
List
<
CompletableFuture
<
TjOrgPriceDto
>>
futures
=
orgList
.
stream
()
.
map
(
orgId
->
CompletableFuture
.
supplyAsync
(()
->
priceSumSummaryMapper
.
TjOrgPrice
(
orgId
,
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
()
)
))
.
collect
(
Collectors
.
toList
());
// 等待所有 CompletableFuture 完成
CompletableFuture
<
Void
>
allOf
=
CompletableFuture
.
allOf
(
futures
.
toArray
(
new
CompletableFuture
[
0
])
);
allOf
.
thenRun
(()->{
for
(
CompletableFuture
<
TjOrgPriceDto
>
future
:
futures
)
{
try
{
TjOrgPriceDto
OrgData
=
future
.
get
();
if
(
OrgData
!=
null
){
OrgData
.
setAddNum
(
ObjectUtil
.
isNull
(
OrgData
.
getAddNum
())?
0
:
OrgData
.
getAddNum
());
OrgData
.
setEndNum
(
ObjectUtil
.
isNull
(
OrgData
.
getEndNum
())?
0
:
OrgData
.
getEndNum
());
OrgData
.
setStartNum
(
ObjectUtil
.
isNull
(
OrgData
.
getStartNum
())?
0
:
OrgData
.
getStartNum
());
OrgData
.
setDestoryNum
(
ObjectUtil
.
isNull
(
OrgData
.
getDestoryNum
())?
0
:
OrgData
.
getDestoryNum
());
OrgData
.
setStartPrice
(
ObjectUtil
.
isNull
(
OrgData
.
getStartPrice
())?
BigDecimal
.
ZERO
:
OrgData
.
getStartPrice
());
OrgData
.
setEndPrice
(
ObjectUtil
.
isNull
(
OrgData
.
getEndPrice
())?
BigDecimal
.
ZERO
:
OrgData
.
getEndPrice
());
OrgData
.
setAddPrice
(
ObjectUtil
.
isNull
(
OrgData
.
getAddPrice
())?
BigDecimal
.
ZERO
:
OrgData
.
getAddPrice
());
OrgData
.
setDestoryPrice
(
ObjectUtil
.
isNull
(
OrgData
.
getDestoryPrice
())?
BigDecimal
.
ZERO
:
OrgData
.
getDestoryPrice
());
tjOrgPriceDtoList
.
add
(
OrgData
);
tjOrgPriceDtoList
.
add
(
OrgData
);
}
}
}
catch
(
InterruptedException
|
ExecutionException
e
){
}
}
});
if
(
req
.
getOrgId
()!=
1369509498032808905L
){
TjOrgPriceDto
OrgData
=
priceSumSummaryMapper
.
TjOrgPriceLeve4
(
req
.
getOrgId
(),
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
(),
pubOrg
.
getLevelFlag
());
tjOrgPriceDtoList
.
add
(
OrgData
);
//把本级数据加进去
}
// 等待所有 CompletableFuture 完成
allOf
.
join
();
if
(
req
.
getOrgId
()!=
1369509498032808905L
){
if
(
req
.
getOrgId
()!=
1369509498032808905L
){
TjOrgPriceDto
OrgData
=
priceSumSummaryMapper
.
TjOrgPriceLeve4
(
req
.
getOrgId
(),
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
(),
pubOrg
.
getLevelFlag
());
TjOrgPriceDto
OrgData
=
priceSumSummaryMapper
.
TjOrgPriceLeve4
(
req
.
getOrgId
(),
req
.
getYear
(),
req
.
getTypeIdsList
(),
req
.
getSizeNameList
(),
pubOrg
.
getLevelFlag
());
tjOrgPriceDtoList
.
add
(
OrgData
);
//把本级数据加进去
tjOrgPriceDtoList
.
add
(
OrgData
);
//把本级数据加进去
...
...
jyzb-biz/src/main/resources/mapper/PriceSumSummaryMapper.xml
View file @
daca1fac
...
@@ -39,21 +39,57 @@
...
@@ -39,21 +39,57 @@
{call UpdatePriceSummary()}
{call UpdatePriceSummary()}
</select>
</select>
<select
id=
"TjOrgPrice"
resultType=
"com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto"
>
<select
id=
"TjOrgPrice"
resultType=
"com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto"
>
select t1.org_id,t1.org_code,t1.org_name,t1.d_name,
<!-- select t1.org_id,t1.org_code,t1.org_name,t1.d_name,-->
t2.start_num,t2.start_price,t2.end_num,t2.end_price,t2.add_num,t2.add_price,t2.destory_num,t2.destory_price
<!-- t2.start_num,t2.start_price,t2.end_num,t2.end_price,t2.add_num,t2.add_price,t2.destory_num,t2.destory_price-->
FROM(
<!-- FROM(-->
<!-- SELECT-->
<!-- `org_id`, `org_code`, `org_name`, `d_name`-->
<!-- FROM `pub_org`-->
<!-- WHERE org_id=#{orgId}-->
<!-- ) as t1-->
<!-- CROSS JOIN (select sum(COALESCE(vpss.start_num,0)) as start_num,sum(COALESCE(vpss.start_price,0)) as start_price,-->
<!-- sum(COALESCE(vpss.end_num,0)) as end_num,sum(COALESCE(vpss.end_price,0)) as end_price,-->
<!-- sum(COALESCE(vpss.add_num,0)) as add_num,sum(COALESCE(vpss.destory_num,0)) as destory_num,-->
<!-- sum(COALESCE(vpss.add_price,0)) as add_price,sum(COALESCE(vpss.destory_price,0)) as destory_price-->
<!-- FROM vie_price_sum_summary vpss-->
<!-- left join pub_org po on vpss.org_id_int=po.org_id-->
<!-- where vpss.`year`= #{year} and po.del_flag=1 and (po.org_id=#{orgId} or po.org_parent_ids like CONCAT('%', #{orgId}, '%'))-->
<!-- <if test="typeIdsList!=null and typeIdsList.size() > 0">-->
<!-- and type_id in-->
<!-- <foreach collection="typeIdsList" item="item" open="(" separator="," close=")">-->
<!-- #{item}-->
<!-- </foreach>-->
<!-- </if>-->
<!-- <if test="sizeNameList!=null and sizeNameList.size() > 0">-->
<!-- AND-->
<!-- <foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">-->
<!-- size_name like CONCAT('%', #{item}, '%')-->
<!-- </foreach>-->
<!-- </if>-->
<!-- ) as t2-->
SELECT
SELECT
`org_id`, `org_code`, `org_name`, `d_name`
t3.org_id,t3.org_code,t3.org_name,t3.d_name,t4.start_num,t4.start_price,t4.end_num,t4.end_price,
FROM `pub_org`
t4.add_num,t4.add_price,t4.destory_num,t4.destory_price
WHERE org_id=#{orgId}
FROM
) as t1
( SELECT `org_id`, `org_code`, `org_name`, `d_name` FROM `pub_org` WHERE org_id = #{orgId} ) AS t3
CROSS JOIN (select sum(COALESCE(vpss.start_num,0)) as start_num,sum(COALESCE(vpss.start_price,0)) as start_price,
CROSS JOIN (
sum(COALESCE(vpss.end_num,0)) as end_num,sum(COALESCE(vpss.end_price,0)) as end_price,
SELECT
sum(COALESCE(vpss.add_num,0)) as add_num,sum(COALESCE(vpss.destory_num,0)) as destory_num,
t1.start_num,t1.start_price,t2.end_num,t2.end_price,t2.end_num - t1.start_num AS add_num,
sum(COALESCE(vpss.add_price,0)) as add_price,sum(COALESCE(vpss.destory_price,0)) as destory_price
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price
FROM vie_price_sum_summary vpss
FROM
left join pub_org po on vpss.org_id_int=po.org_id
(
where vpss.`year`= #{year} and po.del_flag=1 and (po.org_id=#{orgId} or po.org_parent_ids like CONCAT('%', #{orgId}, '%'))
SELECT
SUM(COALESCE ( start_num, 0 )) AS start_num,
SUM(COALESCE ( start_price, 0 )) AS start_price
FROM
vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE
vpss.MONTH = ( SELECT MIN( MONTH ) FROM vie_price_sum_summary WHERE YEAR = #{year} )
AND po.del_flag = 1
AND (po.org_id = #{orgId} OR po.org_parent_ids LIKE CONCAT( '%', #{orgId}, '%' ))
<if
test=
"typeIdsList!=null and typeIdsList.size() > 0"
>
<if
test=
"typeIdsList!=null and typeIdsList.size() > 0"
>
and type_id in
and type_id in
<foreach
collection=
"typeIdsList"
item=
"item"
open=
"("
separator=
","
close=
")"
>
<foreach
collection=
"typeIdsList"
item=
"item"
open=
"("
separator=
","
close=
")"
>
...
@@ -66,7 +102,35 @@
...
@@ -66,7 +102,35 @@
size_name like CONCAT('%', #{item}, '%')
size_name like CONCAT('%', #{item}, '%')
</foreach>
</foreach>
</if>
</if>
) as t2
) AS t1
CROSS JOIN (
SELECT
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_num, 0 ) ELSE 0 END ) AS end_num,
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ) AS end_price,
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ) AS destory_num,
sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ) AS destory_price
FROM
vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
WHERE
vpss.`year` = #{year}
AND po.del_flag = 1
AND (po.org_id = #{orgId} OR po.org_parent_ids LIKE CONCAT( '%', #{orgId}, '%' ))
<if
test=
"typeIdsList!=null and typeIdsList.size() > 0"
>
and type_id in
<foreach
collection=
"typeIdsList"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
<if
test=
"sizeNameList!=null and sizeNameList.size() > 0"
>
AND
<foreach
collection=
"sizeNameList "
item=
"item"
open=
"("
separator=
"or"
close=
")"
>
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
) AS t2
) AS t4
</select>
</select>
<select
id=
"TjOrgPriceDetail"
resultType=
"com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto"
>
<select
id=
"TjOrgPriceDetail"
resultType=
"com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论