Commit cd80f9bd by 李小惠

调整数据报表数据准确性,修改应用管理接口

parent 07eb91eb
......@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.annotations.Param;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
......@@ -24,6 +25,7 @@ public class ApplicationReq extends BaseRequest {
* 应用代码
*/
@TableField("app_code")
@NotBlank(message = "应用代码不能为空",groups = {detail.class})
private String appCode;
/**
......@@ -34,7 +36,7 @@ public class ApplicationReq extends BaseRequest {
/**
* 应用名称
*/
@NotBlank(message = "应用名称不能为空",groups = {add.class,detail.class})
@NotBlank(message = "应用名称不能为空",groups = {add.class})
private String name;
/**
......
......@@ -590,13 +590,35 @@ public class TjServiceImpl implements TjService {
.collect(Collectors.toList());
// 等待所有 CompletableFuture 完成
CompletableFuture<Void> allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
// 等待所有 CompletableFuture 完成
//
// // 等待所有 CompletableFuture 完成
allOf.join();
tjOrgPriceDtoList = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
// 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);
// }
// }catch (InterruptedException | ExecutionException e){
//
// }
// }
// });
// // 等待所有 CompletableFuture 完成
// allOf.join();
if (req.getOrgId()!=1369509498032808905L){
//获取本级数据
......
......@@ -70,8 +70,10 @@
SELECT
t3.org_id,t3.org_code,t3.org_name,t3.d_name,t4.start_num,t4.start_price,t4.end_num,t4.end_price,
t4.add_num,t4.add_price,t4.destory_num,t4.destory_price
t3.org_id,t3.org_code,t3.org_name,t3.d_name,coalesce(t4.start_num,0) as start_num,
coalesce(t4.start_price,0) as start_price,coalesce(t4.end_num,0)as end_num,coalesce(t4.end_price,0) as end_price,
coalesce(t4.add_num,0) as add_num,coalesce(t4.add_price,0) as add_price,
coalesce(t4.destory_num,0) as destory_num,COALESCE(t4.destory_price,0) as destory_price
FROM
( SELECT `org_id`, `org_code`, `org_name`, `d_name` FROM `pub_org` WHERE org_id = #{orgId} ) AS t3
CROSS JOIN (
......@@ -80,55 +82,55 @@
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price
FROM
(
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">
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>
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">
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 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
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>
......@@ -228,7 +230,7 @@
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}, '%')
AND (po.org_id != #{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
AND(case when #{levelFlag} >=3 then 1=1 else SUBSTRING(`po`.`org_code`, 5, 2) = '00' end ))
AND (
`po`.`level_flag` > (
......@@ -308,7 +310,7 @@
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}
AND po.org_id = #{orgId}
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论