Commit 2ab24223 by 李小惠

添加大屏接口(经纬度,装备统计)

parent 4195fcd3
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,4 +6,5 @@ import lombok.Data;
public class GroupByCountDto {
private String name;
private Integer value;
private String typeId;
}
......@@ -31,6 +31,10 @@ public class TjOrgCountReq extends BaseRequest {
private String endTime;
//本级0,本级及下级1
@NotNull(message = "查询条件维度不能为空",groups = {edit.class})
private int levelType;
@NotNull(message = "查询条件组织机构信息不能为空",groups = {edit.class})
private String findCode;
private String orgCode;
}
\ No newline at end of file
......@@ -35,7 +35,7 @@ public class UpdateOrgReq {
@NotNull(message = "状态不能为空",groups = {ValidationApi.updateStatus.class})
private Integer delFlag;
private String findCode;
@NotNull(message = "组织机构id不能为空",groups = {ValidationApi.edit.class})
@NotNull(message = "组织机构id不能为空",groups = {ValidationApi.edit.class, ValidationApi.detail.class})
private Long orgId;
......
......@@ -4,6 +4,7 @@ import com.junmp.jyzb.api.bean.dto.ESOrgDto;
import com.junmp.jyzb.api.bean.dto.OrgDto;
import com.junmp.jyzb.api.bean.query.QueryOrgReq;
import com.junmp.jyzb.api.bean.req.UpdateOrgReq;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.ValidationApi;
......@@ -89,4 +90,11 @@ public class PubOrgController {
return ApiRes.success(pubOrgService.updatePubOrg(req));
}
//获取组织机构信息(区域编码)也可以复用获取单个组织机构的所有信息
@PostMapping(path = "/getOneOrgInfo",name = "获取组织机构区域编码#enable")
@ApiOperation("获取组织机构区域编码")
public ApiRes<PubOrg> getOneOrgInfo(@RequestBody @Validated(ValidationApi.detail.class)UpdateOrgReq req){
return ApiRes.success(pubOrgService.getOneOrgInfo(req));
}
}
......@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.jyzb.api.bean.query.WarehouseReq;
import com.junmp.jyzb.api.bean.req.WarrantyReq;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.jyzb.entity.Temp.HumidityAndtemperature;
import com.junmp.jyzb.service.TjService;
import com.junmp.jyzb.service.VieWarrantyGroupService;
......@@ -246,9 +247,9 @@ public class TjController {
return ApiRes.success(tjService.GetGroupByCount(req));
}
//3.装备状态统计
//3.装备数量汇总统计
@PostMapping("/GetCount")
@ApiOperation("装备状态统计")
@ApiOperation("装备数量汇总统计")
public ApiRes<List<InventorySummary>> GetCount(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.GetCount(req));
}
......@@ -275,4 +276,17 @@ public class TjController {
return ApiRes.success(tjService.GetPageOrgTj(req));
}
//7.获组织机构的经纬度
@PostMapping("/GetOrgJWDByCode")
@ApiOperation("获组织机构的经纬度")
public ApiRes<List<PubOrg>> GetOrgJWDByCode(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.GetOrgJWDByCode(req));
}
//8.获取大屏本级装备数据
@PostMapping("/GetNameList")
@ApiOperation("获取大屏本级装备数据")
public ApiRes<List<InventorySummary>> GetNameList(@RequestBody TjOrgCountReq req){
return ApiRes.success(tjService.GetNameList(req));
}
}
......@@ -52,7 +52,7 @@ public class WarehouseController {
}
@PostMapping(path="/CheckState",name="查询仓库设备状态")
@ApiOperation("添加仓库")
@ApiOperation("查询仓库设备状态")
public ApiRes<WsWarehouseReq> CheckState(@RequestBody @Validated(ValidationApi.add.class) WarehouseReq req) {
return ApiRes.success(warehouseService.CheckState(req));
}
......
......@@ -42,4 +42,6 @@ public interface PubOrgService extends IService<PubOrg> {
Long addPubOrg(UpdateOrgReq req);
boolean updatePubOrg(UpdateOrgReq req);
PubOrg getOneOrgInfo(UpdateOrgReq req);
}
......@@ -9,6 +9,7 @@ import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPoliceReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.PubOrg;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
......@@ -85,4 +86,8 @@ public interface TjService {
SyWxBfDto GetSyWxBf(TjOrgCountReq req);
TjOrgDto GetPageOrgTj(TjOrgCountReq req);
List<PubOrg> GetOrgJWDByCode(TjOrgCountReq req);
List<InventorySummary> GetNameList(TjOrgCountReq req);
}
......@@ -802,7 +802,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
//根据组织机构id查询出组织机构是否存在
@Override
public PubOrg PubOrgExist(Long id) {
PubOrg puborg = getOne(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgId, id));
PubOrg puborg = getById(id);
if (ObjectUtil.isEmpty(puborg)) {
//抛出组织机构不存在异常
throw new ServiceException(PubOrgExceptionEnum.PUBORG_NOT_EXIST);
......@@ -855,6 +855,11 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
return updateById(pubOrg);
}
@Override
public PubOrg getOneOrgInfo(UpdateOrgReq req) {
return PubOrgExist(req.getOrgId());
}
}
......
......@@ -10,6 +10,7 @@ import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.LargeScreenDto.*;
import com.junmp.jyzb.api.bean.dto.TjDto.*;
import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgCountReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPoliceReq;
......@@ -1044,8 +1045,16 @@ public class TjServiceImpl implements TjService {
@Override
public AreaTypeDto GetAreaType(TjOrgCountReq req) {
PubOrg pubOrg = pubOrgService.list(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getFindCode, req.getFindCode())
int length = req.getFindCode().length();
PubOrg pubOrg=new PubOrg();
if (length<12){
pubOrg = pubOrgService.list(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getFindCode, req.getFindCode())
.orderByAsc(PubOrg::getLevelFlag)).get(0);
}else {
pubOrg = pubOrgService.list(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgCode, req.getFindCode())
.orderByAsc(PubOrg::getLevelFlag)).get(0);
}
//将九大类查询出来并且存入返回对象中去
List<String> typeNames = equipmentCountSummaryMapper.getTypeParentName();
AreaTypeDto areaTypeDto = new AreaTypeDto();
......@@ -1092,6 +1101,21 @@ public class TjServiceImpl implements TjService {
return tjOrgDto;
}
@Override
public List<PubOrg> GetOrgJWDByCode(TjOrgCountReq req) {
return pubOrgService.list(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getDelFlag,1).eq(PubOrg::getFindCode,req.getFindCode()));
}
@Override
public List<InventorySummary> GetNameList(TjOrgCountReq req) {
PubOrg one = pubOrgService.getOne(new LambdaQueryWrapper<PubOrg>().eq(PubOrg::getOrgCode, req.getOrgCode()));
InventorySumReq sumReq = new InventorySumReq();
sumReq.setOrgId(one.getOrgId().toString());
sumReq.setColumn("create_time");
return inventorySummaryMapper.GetEquipmentSummary(sumReq,null,null);
}
//-------------------------------------------人员统计报表----------------------------------------------------------
@Override
......
......@@ -74,6 +74,7 @@ public class WarehouseWebSocketServer implements WebSocketServerListener {
ObjectMapper objectMapper = new ObjectMapper();
WsWarehouseReq deviceData = objectMapper.readValue(text, WsWarehouseReq.class);
String warehouseId = deviceData.getWarehouseId();
deviceData.getOrgId();
String redisExist= redisCache.get(warehouseId);
if(redisExist!=null)//已有存在数据
{
......
......@@ -194,19 +194,16 @@
GROUP BY et.id,et.name,a.org_id
</select>
<select id="TjOrgCountleve4" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto">
select t1.org_id,t1.org_code,t1.org_name,t1.d_name,t2.year,t2.use_count,t2.fix_count,t2.number
FROM(
SELECT
`org_id`, `org_code`, `org_name`, `d_name`
FROM `pub_org`
WHERE org_id=#{orgId}
) as t1
CROSS JOIN (
SELECT
MAX(t.`year`) AS `year`,
SUM(t.use_count) AS use_count,
SUM(t.fix_count) AS fix_count,
sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number
sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = 1369509498032811869 OR `org_parent_ids` LIKE CONCAT('%', 1369509498032811869, '%') ORDER BY `level_flag` LIMIT 1) AS d_name
FROM (
SELECT
vecs.`year`,
......@@ -248,24 +245,19 @@
</if>
GROUP BY `year`,month
) AS t
)as t2
</select>
<select id="TjOrgCountSelf" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto">
select t1.org_id,t1.org_code,t1.org_name,t1.d_name,t2.year,t2.use_count,t2.fix_count,t2.number
FROM(
SELECT
`org_id`, `org_code`, `org_name`, `d_name`
FROM `pub_org`
WHERE org_id=#{orgId}
) as t1
CROSS JOIN (
SELECT
MAX(t.`year`) AS `year`,
SUM(t.use_count) AS use_count,
SUM(t.fix_count) AS fix_count,
sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number
sum(CASE WHEN t.month = MONTH(CURRENT_DATE()) THEN t.number ELSE 0 END) AS number,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = #{orgId} ) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = #{orgId} ) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = #{orgId} ) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = #{orgId} ) AS d_name
FROM (
SELECT
vecs.`year`,
......@@ -274,8 +266,7 @@
SUM(vecs.fix_count) AS fix_count,
sum(vecs.number) as number
FROM vie_equipment_count_summary vecs
left join pub_org po on vecs.org_id_int=po.org_id
where vecs.`year`= #{year} and po.del_flag=1 AND po.org_id = #{orgId}
where vecs.`year`= #{year} and vecs.org_id_int = #{orgId}
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and vecs.type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
......@@ -299,7 +290,6 @@
</if>
GROUP BY `year`,month
) AS t
)as t2
</select>
<select id="TjOrgCountTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto">
......@@ -460,21 +450,34 @@
`vie_equipment_count_summary`
WHERE
SUBSTRING( org_code, 1, #{length} ) = #{req.findCode} and year=YEAR(NOW()) and month=MONTH(NOW())
<if test="length != 12">
<if test="req.levelType == 0">
and org_id_int =(select org_id FROM pub_org where find_code=#{req.findCode} ORDER BY level_flag asc limit 0,1 )
</if>
</if>
<if test="length == 12">
and org_id_int =(select org_id FROM pub_org where org_code=#{req.findCode} )
</if>
GROUP BY
type_name
ORDER BY item_num desc
limit 0,5
</select>
<select id="GetGroupByCount" resultType="com.junmp.jyzb.api.bean.dto.LargeScreenDto.GroupByCountDto">
select t.`value`,base_equipment_type.name as `name` FROM(
select t.`value`,base_equipment_type.name as `name`,base_equipment_type.id as typeId FROM(
select sum(bis.number) as value,SUBSTRING_INDEX(et.parent_ids, ",", 1) AS type_parent_id FROM (
select number,type_id FROM base_inventory_summary bis where SUBSTRING( org_code, 1, #{length} ) = #{req.findCode} and bis.location_type=0
<if test="length != 12">
<if test="req.levelType == 0">
and org_id_int =(select org_id FROM pub_org where find_code=#{req.findCode} ORDER BY level_flag asc limit 0,1 )
</if>
</if>
<if test="length == 12">
and org_id_int =(select org_id FROM pub_org where org_code=#{req.findCode} )
</if>
) as bis
join base_equipment_type et on et.id= bis.type_id GROUP BY type_parent_id
) as t
......@@ -486,9 +489,15 @@
sum(expire_number)as expireNumber,sum(broken_number)as brokenNumber,
sum(fix_number)as fixNumber,sum(use_number)as useNumber
FROM base_inventory_summary where SUBSTRING( org_code, 1, #{length} ) = #{req.findCode} and location_type=0
<if test="length != 12">
<if test="req.levelType == 0">
and org_id_int =(select org_id FROM pub_org where find_code=#{req.findCode} ORDER BY level_flag asc limit 0,1 )
</if>
</if>
<if test="length == 12">
and org_id_int =(select org_id FROM pub_org where org_code=#{req.findCode} )
</if>
</select>
<select id="getTypeParentName" resultType="java.lang.String">
select name FROM base_equipment_type where parent_id="00000000-0000-0000-0000-000000000000"
......
......@@ -31,30 +31,22 @@
<select id="TjOrgPrice" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
SELECT
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 (
SELECT
t1.start_num,t1.start_price,t2.end_num,t2.end_price,t2.end_num - t1.start_num AS add_num,
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price,t2.org_id,t2.org_code,t2.org_name,t2.d_name
FROM
(
SELECT
SUM(COALESCE ( start_num, 0 )) AS start_num,
SUM(COALESCE ( start_price, 0 )) AS start_price
COALESCE (SUM(COALESCE ( start_num, 0 )),0) AS start_num,
COALESCE (SUM(COALESCE ( start_price, 0 )),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 = 1 and 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} OR po.org_parent_ids LIKE CONCAT( '%', #{orgId}, '%' ))
and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00'
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
......@@ -68,12 +60,16 @@
</foreach>
</if>
) AS t1
CROSS JOIN (
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
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_num, 0 ) ELSE 0 END ),0) AS end_num,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0) AS end_price,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0) AS destory_num,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0) AS destory_price,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%',#{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS d_name
FROM
vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
......@@ -81,6 +77,7 @@
vpss.`year` = #{year}
AND po.del_flag = 1
AND (po.org_id = #{orgId} OR po.org_parent_ids LIKE CONCAT( '%', #{orgId}, '%' ))
and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00'
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
......@@ -93,8 +90,7 @@
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
) AS t2
) AS t4
) AS t2 on 1=1
</select>
......@@ -146,21 +142,13 @@
<select id="TjOrgPriceLeve4" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
SELECT
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 (
SELECT
t1.start_num,t1.start_price,t2.end_num,t2.end_price,t2.end_num - t1.start_num AS add_num,
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price,t2.org_id,t2.org_code,t2.org_name,t2.d_name
FROM
(
SELECT
SUM(COALESCE ( start_num, 0 )) AS start_num,
SUM(COALESCE ( start_price, 0 )) AS start_price
COALESCE (SUM(COALESCE ( start_num, 0 )),0 ) AS start_num,
COALESCE (SUM(COALESCE ( start_price, 0 )),0 ) AS start_price
FROM
vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
......@@ -188,12 +176,16 @@
</foreach>
</if>
) AS t1
CROSS JOIN (
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
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_num, 0 ) ELSE 0 END ),0 ) AS end_num,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0 ) AS end_price,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0 ) AS destory_num,
COALESCE (sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0 ) AS destory_price,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS d_name
FROM
vie_price_sum_summary vpss
LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
......@@ -220,8 +212,7 @@
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
) AS t2
) AS t4
) AS t2 on 1=1
</select>
......@@ -230,28 +221,19 @@
<select id="TjOrgPriceBySelf" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
SELECT
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 (
SELECT
t1.start_num,t1.start_price,t2.end_num,t2.end_price,t2.end_num - t1.start_num AS add_num,
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price
t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price,t2.org_id,t2.org_code,t2.org_name,t2.d_name
FROM
(
SELECT
SUM(COALESCE ( start_num, 0 )) AS start_num,
SUM(COALESCE ( start_price, 0 )) AS start_price
COALESCE(SUM(COALESCE ( start_num, 0 )),0) AS start_num,
COALESCE(SUM(COALESCE ( start_price, 0 )),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 = 1 and vpss.year=#{year}
AND po.del_flag = 1
AND po.org_id = #{orgId}
vpss.MONTH = 1 and vpss.year=2024
AND org_id_int = #{orgId}
and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00'
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
......@@ -265,19 +247,22 @@
</foreach>
</if>
) AS t1
CROSS JOIN (
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
COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_num, 0 ) ELSE 0 END ),0) AS end_num,
COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.end_price, 0 ) ELSE 0 END ),0) AS end_price,
COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_num, 0 ) ELSE 0 END ),0) AS destory_num,
COALESCE(sum( CASE WHEN vpss.MONTH = MONTH ( CURRENT_DATE ()) THEN COALESCE ( vpss.destory_price, 0 ) ELSE 0 END ),0) AS destory_price,
(SELECT `org_id` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_id,
(SELECT `org_code` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_code,
(SELECT `org_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS org_name,
(SELECT `d_name` FROM `pub_org` WHERE `org_id` = #{orgId} OR `org_parent_ids` LIKE CONCAT('%', #{orgId}, '%') ORDER BY `level_flag` LIMIT 1) AS d_name
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}
vpss.`year` = 2024
AND org_id_int = #{orgId}
and vpss.create_time >= '2024-01-01 00:00:00' AND vpss.create_time &lt; '2025-01-01 00:00:00'
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
......@@ -290,8 +275,7 @@
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
) AS t2
) AS t4
) AS t2 on 1=1
</select>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论