Commit 0663c56b by 赵剑炜

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-zhaojw

parents 1c5a2b49 cd80f9bd
...@@ -73,4 +73,6 @@ public class TjOrgCountDto implements Serializable { ...@@ -73,4 +73,6 @@ public class TjOrgCountDto implements Serializable {
private String name; private String name;
private Integer level;
} }
\ No newline at end of file
...@@ -45,4 +45,7 @@ public class TjOrgPriceDto { ...@@ -45,4 +45,7 @@ public class TjOrgPriceDto {
private String sizeName; private String sizeName;
private String typeId; private String typeId;
private String typeName; private String typeName;
//0表示本级数据,1表示直属下级不包含下一级的组织机构
private Integer level;
} }
...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId; ...@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.junmp.v2.common.bean.request.BaseRequest; import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.apache.ibatis.annotations.Param;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
...@@ -24,6 +25,7 @@ public class ApplicationReq extends BaseRequest { ...@@ -24,6 +25,7 @@ public class ApplicationReq extends BaseRequest {
* 应用代码 * 应用代码
*/ */
@TableField("app_code") @TableField("app_code")
@NotBlank(message = "应用代码不能为空",groups = {detail.class})
private String appCode; private String appCode;
/** /**
......
...@@ -24,4 +24,6 @@ public class TjOrgCountReq extends BaseRequest { ...@@ -24,4 +24,6 @@ public class TjOrgCountReq extends BaseRequest {
private String order; private String order;
private String column; private String column;
private Integer level;
} }
\ No newline at end of file
...@@ -14,6 +14,8 @@ public class TjOrgEqsReq extends BaseRequest { ...@@ -14,6 +14,8 @@ public class TjOrgEqsReq extends BaseRequest {
List<String> typeIdsList; List<String> typeIdsList;
private List<String> sizeNameList; private List<String> sizeNameList;
private Integer level;
// 添加一个用逗号分隔typeIdsList的方法 // 添加一个用逗号分隔typeIdsList的方法
public String getTypeIdsAsString() { public String getTypeIdsAsString() {
return String.join(",", typeIdsList); return String.join(",", typeIdsList);
......
...@@ -20,4 +20,6 @@ public class TjOrgPriceReq extends BaseRequest { ...@@ -20,4 +20,6 @@ public class TjOrgPriceReq extends BaseRequest {
private Integer levelNum; private Integer levelNum;
private Integer level;
} }
...@@ -8,7 +8,12 @@ import lombok.Getter; ...@@ -8,7 +8,12 @@ import lombok.Getter;
@Getter @Getter
public enum PublicExceptionEnum implements IExceptionEnum { public enum PublicExceptionEnum implements IExceptionEnum {
FILE_DEL_FAILTURE(CommonConstant.DEFAULT_USER_ERROR_CODE,"文件删除失败"); FILE_DEL_FAILTURE(CommonConstant.DEFAULT_USER_ERROR_CODE,"文件删除失败"),
//设备编号重复
APP_CODE_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"应用代码已存在"),
APP_NAME_IS_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"应用名称已存在")
;
/** /**
* 错误编码 * 错误编码
......
...@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List;
/** /**
* 应用管理模块 * 应用管理模块
...@@ -36,6 +37,19 @@ public class ApplicationController { ...@@ -36,6 +37,19 @@ public class ApplicationController {
return ApiRes.success(applicationService.GetAllUpdateCfg(req)); return ApiRes.success(applicationService.GetAllUpdateCfg(req));
} }
@PostMapping(path="/GetAllUpdateCfgList",name="获取应用信息的列表#enable")
@ApiOperation("获取应用信息的列表")
public ApiRes<List<Application>> GetAllUpdateCfgList(@RequestBody ApplicationReq req){
return ApiRes.success(applicationService.GetAllUpdateCfgList(req));
}
@PostMapping(path="/GetOne",name="获取应用信息一个#enable")
@ApiOperation("获取应用信息一个")
public ApiRes<Application> GetOne(@RequestBody @Validated(ValidationApi.detail.class) ApplicationReq req){
return ApiRes.success(applicationService.GetOne(req));
}
//新增或者修改应用信息 //新增或者修改应用信息
@PostMapping(path="/AddOrUpdateCfg",name="新增应用信息#logType=30") @PostMapping(path="/AddOrUpdateCfg",name="新增应用信息#logType=30")
@ApiOperation("新增应用信息") @ApiOperation("新增应用信息")
......
...@@ -39,13 +39,21 @@ public interface EquipmentCountSummaryMapper extends BaseMapper<EquipmentCountSu ...@@ -39,13 +39,21 @@ public interface EquipmentCountSummaryMapper extends BaseMapper<EquipmentCountSu
@Param("monthList") List<Integer> monthList, @Param("monthList") List<Integer> monthList,
@Param("levelFlag")Integer levelFlag); @Param("levelFlag")Integer levelFlag);
TjOrgCountDto TjOrgCountSelf(@Param("orgId") Long orgId,
@Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList,
@Param("year") Integer year,
@Param("typeParentId")String typeParentId,
@Param("monthList") List<Integer> monthList);
List<TjOrgCountDto> TjOrgCountTotalNum(@Param("orgId") Long orgId, List<TjOrgCountDto> TjOrgCountTotalNum(@Param("orgId") Long orgId,
@Param("typeIdsList") List<String> typeIdsList, @Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList, @Param("sizeNameList") List<String> sizeNameList,
@Param("year") Integer year, @Param("year") Integer year,
@Param("typeParentId")String typeParentId, @Param("typeParentId")String typeParentId,
@Param("monthList") List<Integer> monthList, @Param("monthList") List<Integer> monthList,
@Param("levelNum")Integer levelNum); @Param("levelNum")Integer levelNum,
@Param("level")Integer level);
FinalTjOrgCountDto TjOrgCountSum(@Param("orgId") Long orgId, FinalTjOrgCountDto TjOrgCountSum(@Param("orgId") Long orgId,
......
...@@ -8,7 +8,6 @@ import com.junmp.jyzb.api.bean.query.InventoryReq; ...@@ -8,7 +8,6 @@ import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.InventorySumReq; import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.query.SelectTotalNumReq; import com.junmp.jyzb.api.bean.query.SelectTotalNumReq;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import liquibase.pro.packaged.L;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -54,12 +53,16 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -54,12 +53,16 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
List<TjOrgEqsDto> selectDynamicView(); List<TjOrgEqsDto> selectDynamicView();
void insertToSummary(@Param("summaryTableName") String summaryTableName,@Param("sourceTableName") String sourceTableName, @Param("warrantyThreshold") Integer warrantyThreshold); void insertToSummary(@Param("summaryTableName") String summaryTableName,
@Param("sourceTableName") String sourceTableName,
@Param("warrantyThreshold") Integer warrantyThreshold);
List<TjOrgEqsDto> selectViewOrgeqsSum(); List<TjOrgEqsDto> selectViewOrgeqsSum();
List<TjOrgEqsDto> getTotalDataDetail(@Param("orgId") String orgId,@Param("typeIdsList") List<String> typeIdsList, // List<TjOrgEqsDto> getTotalDataDetail(@Param("orgId") String orgId, @Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList,@Param("levelNum") Integer levelNum); // @Param("sizeNameList") List<String> sizeNameList, @Param("levelNum") Integer levelNum);
List<TjOrgEqsDto> getTotalDataDetail(@Param("orgId") String orgId, @Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList, @Param("levelNum") Integer levelNum,
@Param("level")Integer level);
void useViewOrgeqs(@Param("sql") String sql,@Param("orgId") Long orgId,@Param("sql1") String sql1); void useViewOrgeqs(@Param("sql") String sql,@Param("orgId") Long orgId,@Param("sql1") String sql1);
......
...@@ -57,10 +57,27 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> { ...@@ -57,10 +57,27 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> {
@Param("typeIdsList") List<String> typeIdsList, @Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList")List<String> sizeNameList, @Param("sizeNameList")List<String> sizeNameList,
@Param("levelFlag")Integer levelFlag); @Param("levelFlag")Integer levelFlag);
// TjOrgPriceDto TjOrgPriceLeve4(@Param("orgId") Long orgId,
// @Param("year") Integer year,
// @Param("typeIdsList") List<String> typeIdsList,
// @Param("sizeNameList")List<String> sizeNameList,
// @Param("levelFlag")Integer levelFlag);
TjOrgPriceDto TjOrgPriceBySelf(@Param("orgId") Long orgId,
@Param("year") Integer year,
@Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList")List<String> sizeNameList);
List<TjOrgPriceDto> TjOrgPriceTotalNum(@Param("orgId") Long orgId, List<TjOrgPriceDto> TjOrgPriceTotalNum(@Param("orgId") Long orgId,
@Param("year") Integer year, @Param("year") Integer year,
@Param("typeIdsList") List<String> typeIdsList, @Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList")List<String> sizeNameList, @Param("sizeNameList")List<String> sizeNameList,
@Param("levelNum")Integer levelNum); @Param("levelNum")Integer levelNum,
@Param("level")Integer level);
// List<TjOrgPriceDto> TjOrgPriceTotalNum(@Param("orgId") Long orgId,
// @Param("year") Integer year,
// @Param("typeIdsList") List<String> typeIdsList,
// @Param("sizeNameList")List<String> sizeNameList,
// @Param("levelNum")Integer levelNum);
} }
...@@ -5,6 +5,8 @@ import com.junmp.jyzb.entity.Application; ...@@ -5,6 +5,8 @@ import com.junmp.jyzb.entity.Application;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/** /**
* @author lxh专属坐骑 * @author lxh专属坐骑
* @description 针对表【sys_application】的数据库操作Service * @description 针对表【sys_application】的数据库操作Service
...@@ -14,7 +16,11 @@ public interface ApplicationService extends IService<Application> { ...@@ -14,7 +16,11 @@ public interface ApplicationService extends IService<Application> {
//获取分页应用信息 //获取分页应用信息
PageResult<Application> GetAllUpdateCfg(ApplicationReq req); PageResult<Application> GetAllUpdateCfg(ApplicationReq req);
List<Application> GetAllUpdateCfgList(ApplicationReq req);
Application GetOne(ApplicationReq req);
//新增应用信息 //新增应用信息
String AddOrUpdateCfg(ApplicationReq req); String AddOrUpdateCfg(ApplicationReq req);
} }
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil; 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.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.query.ApplicationReq; import com.junmp.jyzb.api.bean.query.ApplicationReq;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.api.exception.enums.PublicExceptionEnum;
import com.junmp.jyzb.entity.Application; import com.junmp.jyzb.entity.Application;
import com.junmp.jyzb.service.ApplicationService; import com.junmp.jyzb.service.ApplicationService;
import com.junmp.jyzb.mapper.ApplicationMapper; import com.junmp.jyzb.mapper.ApplicationMapper;
...@@ -17,6 +19,8 @@ import com.junmp.v2.db.api.factory.PageResultFactory; ...@@ -17,6 +19,8 @@ import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult; import com.junmp.v2.db.api.page.PageResult;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author lxh专属坐骑 * @author lxh专属坐骑
* @description 针对表【sys_application】的数据库操作Service实现 * @description 针对表【sys_application】的数据库操作Service实现
...@@ -34,11 +38,34 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli ...@@ -34,11 +38,34 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
public List<Application> GetAllUpdateCfgList(ApplicationReq req) {
LambdaQueryWrapper<Application> wrapper = createWrapper(req);
list(wrapper);
return list(wrapper);
}
public Application GetOne(ApplicationReq req) {
LambdaQueryWrapper<Application> wrapper = createWrapper(req);
return getOne(wrapper);
}
//新增应用信息 //新增应用信息
@Override @Override
public String AddOrUpdateCfg(ApplicationReq req) { public String AddOrUpdateCfg(ApplicationReq req) {
Application application = new Application(); Application application = new Application();
BeanPlusUtil.copyProperties(req,application); BeanPlusUtil.copyProperties(req,application);
List<Application> list = list(new LambdaQueryWrapper<Application>()
.eq(Application::getAppCode, req.getAppCode()).or().eq(Application::getName,req.getName()));
//判断应用代码和应用名称是否重复,如果重复直接抛出异常
if (CollectionUtil.isNotEmpty(list)){
for (Application app:list) {
if (app.getName().equals(req.getName())){
throw new ServiceException(PublicExceptionEnum.APP_NAME_IS_EXIST);
}
if (app.getAppCode().equals(req.getAppCode())){
throw new ServiceException(PublicExceptionEnum.APP_CODE_IS_EXIST);
}
}
}
//判断id是否传递,如果传递则默认他是修改,根据数据库对比id,判断是否id传递错误;如果不传递默认新增 //判断id是否传递,如果传递则默认他是修改,根据数据库对比id,判断是否id传递错误;如果不传递默认新增
if (req.getId()==null || req.getId().trim().isEmpty()){ if (req.getId()==null || req.getId().trim().isEmpty()){
application.setCreateTime(DateTimeUtil.getCurrentDateTime()); application.setCreateTime(DateTimeUtil.getCurrentDateTime());
...@@ -63,6 +90,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli ...@@ -63,6 +90,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
} }
wrapper.like(ObjectUtil.isNotEmpty(req.getName()),Application::getName,req.getName()); wrapper.like(ObjectUtil.isNotEmpty(req.getName()),Application::getName,req.getName());
wrapper.eq(ObjectUtil.isNotEmpty(req.getType()),Application::getType,req.getType()); wrapper.eq(ObjectUtil.isNotEmpty(req.getType()),Application::getType,req.getType());
wrapper.eq(ObjectUtil.isNotEmpty(req.getAppCode()),Application::getAppCode,req.getAppCode());
wrapper.orderByDesc(Application::getCreateTime); wrapper.orderByDesc(Application::getCreateTime);
return wrapper; return wrapper;
......
...@@ -224,20 +224,55 @@ public class TjServiceImpl implements TjService { ...@@ -224,20 +224,55 @@ public class TjServiceImpl implements TjService {
finalTjOrgEqsDto.setDjgStockNumber(0); finalTjOrgEqsDto.setDjgStockNumber(0);
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId())); List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgEqsDto> allData=new ArrayList<>(); List<TjOrgEqsDto> allData=new ArrayList<>();
for (String orgId:orgList) { // for (String orgId:orgList) {
//
// TjOrgEqsDto OrgData=inventorySummaryMapper.GetInvSum( orgId,
// req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
// req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
// allData.add(OrgData);
// }
// if (req.getOrgId() !=1369509498032808905L)
// {
//
// TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
// req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
// req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
// allData.add(OrgData);//把本级数据加进去
// }
TjOrgEqsDto OrgData=inventorySummaryMapper.GetInvSum( orgId, List<CompletableFuture<TjOrgEqsDto>> futures = orgList.stream()
.map(orgId -> CompletableFuture.supplyAsync(() -> {
return inventorySummaryMapper.GetInvSum(
orgId,
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
}))
.collect(Collectors.toList());
CompletableFuture<Void> allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
allOf.join(); // 等待所有 CompletableFuture 完成
allData = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L)
{
TjOrgEqsDto OrgDataSelf=inventorySummaryMapper.GetInvSelfSum(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
allData.add(OrgData); OrgDataSelf.setLevel(0);
} OrgDataSelf.setOrgName(OrgDataSelf.getOrgName()+"本级");
if (!req.getOrgId().equals("1369509498032808905")) OrgDataSelf.setDName(OrgDataSelf.getDName()+"本级");
{
TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()), TjOrgEqsDto OrgData = inventorySummaryMapper.GetSumLeve4(String.valueOf(req.getOrgId()),
req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(), req.getTypeIdsList().isEmpty() ? null : req.getTypeIdsAsString(),
req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag()); req.getSizeNameList().isEmpty() ? null : req.getSizesAsString(),pubOrg.getLevelFlag());
allData.add(OrgData);//把本级数据加进去 OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
allData.add(OrgDataSelf);//把本级数据加进去
allData.add(OrgData);//把下级数据加进去
} }
for (TjOrgEqsDto tj:allData) { for (TjOrgEqsDto tj:allData) {
finalTjOrgEqsDto.setTotalNumber(finalTjOrgEqsDto.getTotalNumber()+ tj.getTotalNumber()); finalTjOrgEqsDto.setTotalNumber(finalTjOrgEqsDto.getTotalNumber()+ tj.getTotalNumber());
...@@ -256,9 +291,21 @@ public class TjServiceImpl implements TjService { ...@@ -256,9 +291,21 @@ public class TjServiceImpl implements TjService {
//先拿到符合条件的组织机构,再遍历组织机构组成数据 //先拿到符合条件的组织机构,再遍历组织机构组成数据
List<TjOrgEqsDto> allData=new ArrayList<>(); // List<TjOrgEqsDto> allData=new ArrayList<>();
List<TjOrgEqsDto> OrgData=inventorySummaryMapper.getTotalDataDetail(String.valueOf(req.getOrgId()),req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum()); // if (ObjectUtil.isNull(req.getLevel()) && req.getLevelNum()==0){
allData.addAll(OrgData);//把本级数据加进去 List<TjOrgEqsDto> allData=inventorySummaryMapper.getTotalDataDetail(String.valueOf(req.getOrgId()),req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum(),req.getLevel());
// //直属下级
// else if (req.getLevel()==1 && req.getLevelNum()==1){
//// allData=inventorySummaryMapper.getTotalDataDetail(String.valueOf(req.getOrgId()),req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum(),req.getLevel());
//
// }
// //本级数据
// else if (req.getLevel()==0 && req.getLevelNum()==1){
//// allData=inventorySummaryMapper.getTotalDataDetail(String.valueOf(req.getOrgId()),req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum(),req.getLevel());
//
// }
// allData.addAll(OrgData);//把本级数据加进去
if (req.getRemoveEmpty())//如果需要删除数据为0的话,前端传true,否则保留数据为0 if (req.getRemoveEmpty())//如果需要删除数据为0的话,前端传true,否则保留数据为0
{ {
allData.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getTotalNumber() == 0); allData.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getTotalNumber() == 0);
...@@ -461,30 +508,133 @@ public class TjServiceImpl implements TjService { ...@@ -461,30 +508,133 @@ public class TjServiceImpl implements TjService {
// } // }
@Override @Override
// public PageResult<TjOrgPriceDto> TjOrgPrice(TjOrgPriceReq req) {
// PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
// //先拿到符合条件的组织机构,再遍历组织机构组成数据
// //(下一层数据组织机构数据)
// List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
// List<TjOrgPriceDto> tjOrgPriceDtoList=new ArrayList<>();
// //根据条件查询财务汇总表
//
// 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);
// }
// }catch (InterruptedException | ExecutionException e){
//
// }
// }
// });
// // 等待所有 CompletableFuture 完成
// allOf.join();
//
// if (req.getOrgId()!=1369509498032808905L){
//
// TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
// req.getSizeNameList(),pubOrg.getLevelFlag());
// tjOrgPriceDtoList.add(OrgData);
// }
//
// //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
// if (req.getRemoveEmpty()){
// tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
// && tjOrgEqsDto.getDestoryNum()==0);
// }
//
// //对组织机构进行排序
// Comparator<TjOrgPriceDto> orgComparator = createOrgComparator();
// Collections.sort(tjOrgPriceDtoList, orgComparator);
// Page<TjOrgPriceDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
// if (ObjectUtil.isNull(req.getPageNo()) && ObjectUtil.isNull(req.getPageSize())) {
// req.setPageNo(1L);
// req.setPageSize(10L);
// }
// long startIndex = (req.getPageNo() - 1) * req.getPageSize();
// long endIndex = Math.min(startIndex + req.getPageSize(), tjOrgPriceDtoList.size());
// List<TjOrgPriceDto> subList = tjOrgPriceDtoList.subList((int) startIndex, (int)endIndex);
//// List<TjOrgPriceDto> subList = tjOrgPriceDtoList.subList((int) ((req.getPageNo()-1)*req.getPageSize()), req.getPageSize().intValue());
// page.setTotal(tjOrgPriceDtoList.size());
// page.setRecords(subList);
// return PageResultFactory.createPageResult(page);
// }
public PageResult<TjOrgPriceDto> TjOrgPrice(TjOrgPriceReq req) { public PageResult<TjOrgPriceDto> TjOrgPrice(TjOrgPriceReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
//先拿到符合条件的组织机构,再遍历组织机构组成数据 //先拿到符合条件的组织机构,再遍历组织机构组成数据
//(下一层数据组织机构数据) //(下一层数据组织机构数据)
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<>();
//根据条件查询财务汇总表 List<CompletableFuture<TjOrgPriceDto>> futures = orgList.stream()
//循环遍历下一级以及它下面的汇总信息 .map(orgId -> CompletableFuture.supplyAsync(() ->
for (String orgId:orgList) { 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()); .collect(Collectors.toList());
OrgData.setEndNum(ObjectUtil.isNull(OrgData.getEndNum())?0:OrgData.getEndNum()); // 等待所有 CompletableFuture 完成
OrgData.setStartNum(ObjectUtil.isNull(OrgData.getStartNum())?0:OrgData.getStartNum()); CompletableFuture<Void> allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
OrgData.setDestoryNum(ObjectUtil.isNull(OrgData.getDestoryNum())?0:OrgData.getDestoryNum()); //
OrgData.setStartPrice(ObjectUtil.isNull(OrgData.getStartPrice())?BigDecimal.ZERO:OrgData.getStartPrice()); // // 等待所有 CompletableFuture 完成
OrgData.setEndPrice(ObjectUtil.isNull(OrgData.getEndPrice())?BigDecimal.ZERO:OrgData.getEndPrice()); allOf.join();
OrgData.setAddPrice(ObjectUtil.isNull(OrgData.getAddPrice())?BigDecimal.ZERO:OrgData.getAddPrice());
OrgData.setDestoryPrice(ObjectUtil.isNull(OrgData.getDestoryPrice())?BigDecimal.ZERO:OrgData.getDestoryPrice()); tjOrgPriceDtoList = futures.stream()
tjOrgPriceDtoList.add(OrgData); .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){ if (req.getOrgId()!=1369509498032808905L){
//获取本级数据
TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList());
OrgDataSelf.setLevel(0);
OrgDataSelf.setOrgName(OrgDataSelf.getOrgName()+"本级");
OrgDataSelf.setDName(OrgDataSelf.getDName()+"本级");
//获取下级数据
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);//把本级数据加进去 OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
...@@ -509,6 +659,77 @@ public class TjServiceImpl implements TjService { ...@@ -509,6 +659,77 @@ public class TjServiceImpl implements TjService {
page.setRecords(subList); page.setRecords(subList);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
} }
// @Override
// public FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req) {
// PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
// FinalTjOrgPriceDto finalTjOrgPriceDto = new FinalTjOrgPriceDto();
// finalTjOrgPriceDto.setAddNum(0);
// finalTjOrgPriceDto.setStartNum(0);
// finalTjOrgPriceDto.setEndNum(0);
// finalTjOrgPriceDto.setDestoryNum(0);
// finalTjOrgPriceDto.setAddPrice(BigDecimal.ZERO);
// finalTjOrgPriceDto.setStartPrice(BigDecimal.ZERO);
// finalTjOrgPriceDto.setEndPrice(BigDecimal.ZERO);
// finalTjOrgPriceDto.setDestoryPrice(BigDecimal.ZERO);
// List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
// List<TjOrgPriceDto> tjOrgPriceDtoList=new ArrayList<>();
// //根据条件查询财务汇总表
// List<CompletableFuture<TjOrgPriceDto>> futures = orgList.stream()
// .map(orgId -> CompletableFuture.supplyAsync(() ->
// priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() )
// ))
// .collect(Collectors.toList());
//
// 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);
// }
// }catch (InterruptedException | ExecutionException e){
//
// }
// }
// });
// // 等待所有 CompletableFuture 完成
// allOf.join();
// if (req.getOrgId()!=1369509498032808905L){
// TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
// req.getSizeNameList(),pubOrg.getLevelFlag());
// tjOrgPriceDtoList.add(OrgData);
// }
//
// for (TjOrgPriceDto tj:tjOrgPriceDtoList) {
// tj.setAddNum(ObjectUtil.isNull(tj.getAddNum())?0:tj.getAddNum());
// tj.setStartNum(ObjectUtil.isNull(tj.getStartNum())?0:tj.getStartNum());
// tj.setEndNum(ObjectUtil.isNull(tj.getEndNum())?0:tj.getEndNum());
// tj.setDestoryNum(ObjectUtil.isNull(tj.getDestoryNum())?0:tj.getDestoryNum());
// tj.setStartPrice(ObjectUtil.isNull(tj.getStartPrice())?BigDecimal.ZERO:tj.getStartPrice());
// tj.setAddPrice(ObjectUtil.isNull(tj.getAddPrice())?BigDecimal.ZERO:tj.getAddPrice());
// tj.setEndPrice(ObjectUtil.isNull(tj.getEndPrice())?BigDecimal.ZERO:tj.getEndPrice());
// tj.setDestoryPrice(ObjectUtil.isNull(tj.getDestoryPrice())?BigDecimal.ZERO:tj.getDestoryPrice());
// finalTjOrgPriceDto.setAddNum(finalTjOrgPriceDto.getAddNum()+tj.getAddNum());
// finalTjOrgPriceDto.setStartNum(finalTjOrgPriceDto.getStartNum()+tj.getStartNum());
// finalTjOrgPriceDto.setEndNum(finalTjOrgPriceDto.getEndNum()+tj.getEndNum());
// finalTjOrgPriceDto.setDestoryNum(finalTjOrgPriceDto.getDestoryNum()+tj.getDestoryNum());
// finalTjOrgPriceDto.setAddPrice(finalTjOrgPriceDto.getAddPrice().add(tj.getAddPrice()));
// finalTjOrgPriceDto.setStartPrice(finalTjOrgPriceDto.getStartPrice().add(tj.getStartPrice()));
// finalTjOrgPriceDto.setEndPrice(finalTjOrgPriceDto.getEndPrice().add(tj.getEndPrice()));
// finalTjOrgPriceDto.setDestoryPrice(finalTjOrgPriceDto.getDestoryPrice().add(tj.getDestoryPrice()));
// }
// return finalTjOrgPriceDto;
// }
@Override @Override
public FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req) { public FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId()); PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
...@@ -524,14 +745,37 @@ public class TjServiceImpl implements TjService { ...@@ -524,14 +745,37 @@ 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) { List<CompletableFuture<TjOrgPriceDto>> futures = orgList.stream()
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() ); .map(orgId -> CompletableFuture.supplyAsync(() ->
tjOrgPriceDtoList.add(OrgData); priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() )
} ))
.collect(Collectors.toList());
CompletableFuture<Void> allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0]));
// 等待所有 CompletableFuture 完成
allOf.join();
tjOrgPriceDtoList = futures.stream()
.map(CompletableFuture::join)
.collect(Collectors.toList());
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032808905L){
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),req.getSizeNameList(),pubOrg.getLevelFlag()); //获取本级数据
tjOrgPriceDtoList.add(OrgData);//把本级数据加进去 TjOrgPriceDto OrgDataSelf=priceSumSummaryMapper.TjOrgPriceBySelf(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList());
OrgDataSelf.setLevel(0);
OrgDataSelf.setOrgName(OrgDataSelf.getOrgName()+"本级");
OrgDataSelf.setDName(OrgDataSelf.getDName()+"本级");
//获取下级数据
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList(),pubOrg.getLevelFlag());
OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去
} }
for (TjOrgPriceDto tj:tjOrgPriceDtoList) { for (TjOrgPriceDto tj:tjOrgPriceDtoList) {
tj.setAddNum(ObjectUtil.isNull(tj.getAddNum())?0:tj.getAddNum()); tj.setAddNum(ObjectUtil.isNull(tj.getAddNum())?0:tj.getAddNum());
tj.setStartNum(ObjectUtil.isNull(tj.getStartNum())?0:tj.getStartNum()); tj.setStartNum(ObjectUtil.isNull(tj.getStartNum())?0:tj.getStartNum());
...@@ -556,7 +800,7 @@ public class TjServiceImpl implements TjService { ...@@ -556,7 +800,7 @@ public class TjServiceImpl implements TjService {
@Override @Override
public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) { public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
List<TjOrgPriceDto> tjOrgPriceDtoList = priceSumSummaryMapper.TjOrgPriceTotalNum(req.getOrgId(), req.getYear(), List<TjOrgPriceDto> tjOrgPriceDtoList = priceSumSummaryMapper.TjOrgPriceTotalNum(req.getOrgId(), req.getYear(),
req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum()); req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum(),req.getLevel());
if (req.getRemoveEmpty()){ if (req.getRemoveEmpty()){
tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0 tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
&& tjOrgEqsDto.getDestoryNum()==0); && tjOrgEqsDto.getDestoryNum()==0);
...@@ -564,6 +808,16 @@ public class TjServiceImpl implements TjService { ...@@ -564,6 +808,16 @@ public class TjServiceImpl implements TjService {
return tjOrgPriceDtoList; return tjOrgPriceDtoList;
} }
// public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
// List<TjOrgPriceDto> tjOrgPriceDtoList = priceSumSummaryMapper.TjOrgPriceTotalNum(req.getOrgId(), req.getYear(),
// req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum());
// if (req.getRemoveEmpty()){
// tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
// && tjOrgEqsDto.getDestoryNum()==0);
// }
// return tjOrgPriceDtoList;
// }
//查看财务统计详情 //查看财务统计详情
@Override @Override
...@@ -575,7 +829,7 @@ public class TjServiceImpl implements TjService { ...@@ -575,7 +829,7 @@ public class TjServiceImpl implements TjService {
} }
Page<TjOrgPriceDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize()); Page<TjOrgPriceDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
List<TjOrgPriceDto> returnList=priceSumSummaryMapper.TjOrgPriceDetail(req.getOrgId(),req.getYear(), List<TjOrgPriceDto> returnList=priceSumSummaryMapper.TjOrgPriceDetail(req.getOrgId(),req.getYear(),
req.getTypeIdsList(),req.getSizeNameList(),(req.getPageNo()-1)* req.getPageSize(),req.getPageSize()); req.getTypeIdsList(),req.getSizeNameList(), (req.getPageNo() - 1)* req.getPageSize(),req.getPageSize());
page.setTotal(size); page.setTotal(size);
page.setRecords(returnList); page.setRecords(returnList);
return PageResultFactory.createPageResult(page); return PageResultFactory.createPageResult(page);
...@@ -700,9 +954,13 @@ public class TjServiceImpl implements TjService { ...@@ -700,9 +954,13 @@ public class TjServiceImpl implements TjService {
) )
.collect(Collectors.toList()); .collect(Collectors.toList());
// 等待所有 CompletableFuture 完成 // 等待所有 CompletableFuture 完成
CompletableFuture<Void> allOf = CompletableFuture.allOf( CompletableFuture<Void> allOf = CompletableFuture.allOf( futures.toArray(new CompletableFuture[0]));
futures.toArray(new CompletableFuture[0])
);
// tjOrgCountList = futures.stream()
// .map(CompletableFuture::join)
// .collect(Collectors.toList());
// 处理每个 CompletableFuture 的结果 // 处理每个 CompletableFuture 的结果
allOf.thenRun(() -> { allOf.thenRun(() -> {
for (CompletableFuture<TjOrgCountDto> future : futures) { for (CompletableFuture<TjOrgCountDto> future : futures) {
...@@ -724,10 +982,20 @@ public class TjServiceImpl implements TjService { ...@@ -724,10 +982,20 @@ public class TjServiceImpl implements TjService {
allOf.join(); allOf.join();
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032808905L){
TjOrgCountDto orgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(), TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList());
OrgDataSelf.setLevel(0);
OrgDataSelf.setOrgName(OrgDataSelf.getOrgName()+"本级");
OrgDataSelf.setDName(OrgDataSelf.getDName()+"本级");
TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),pubOrg.getLevelFlag()); req.getMonthList(),pubOrg.getLevelFlag());
tjOrgCountList.add(orgData); OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgCountList.add(OrgData);
tjOrgCountList.add(OrgDataSelf);
} }
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除 //查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
...@@ -809,11 +1077,22 @@ public class TjServiceImpl implements TjService { ...@@ -809,11 +1077,22 @@ public class TjServiceImpl implements TjService {
// 等待所有 CompletableFuture 完成 // 等待所有 CompletableFuture 完成
allOf.join(); allOf.join();
if (req.getOrgId()!=1369509498032808905L){ if (req.getOrgId()!=1369509498032808905L){
TjOrgCountDto orgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(), TjOrgCountDto OrgDataSelf=equipmentCountSummaryMapper.TjOrgCountSelf(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList());
OrgDataSelf.setLevel(0);
OrgDataSelf.setOrgName(OrgDataSelf.getOrgName()+"本级");
OrgDataSelf.setDName(OrgDataSelf.getDName()+"本级");
TjOrgCountDto OrgData =equipmentCountSummaryMapper.TjOrgCountleve4(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),pubOrg.getLevelFlag()); req.getMonthList(),pubOrg.getLevelFlag());
tjOrgCountList.add(orgData); OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgCountList.add(OrgData);
tjOrgCountList.add(OrgDataSelf);
} }
for (TjOrgCountDto tj:tjOrgCountList) { for (TjOrgCountDto tj:tjOrgCountList) {
tj.setFixCount(ObjectUtil.isNull(tj.getFixCount())?0: tj.getFixCount()); tj.setFixCount(ObjectUtil.isNull(tj.getFixCount())?0: tj.getFixCount());
...@@ -830,7 +1109,7 @@ public class TjServiceImpl implements TjService { ...@@ -830,7 +1109,7 @@ public class TjServiceImpl implements TjService {
public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) { public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) {
List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalNum(req.getOrgId(), List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalNum(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(), req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),req.getLevelNum()); req.getMonthList(),req.getLevelNum(),req.getLevel());
if (req.getRemoveEmpty()){ if (req.getRemoveEmpty()){
tjOrgCountDtoList.removeIf(tjOrgCountDto -> tjOrgCountDto.getNumber()==0 ); tjOrgCountDtoList.removeIf(tjOrgCountDto -> tjOrgCountDto.getNumber()==0 );
} }
......
...@@ -409,7 +409,7 @@ ...@@ -409,7 +409,7 @@
sum(vecs.number) as number sum(vecs.number) as number
FROM vie_equipment_count_summary vecs FROM vie_equipment_count_summary vecs
left join pub_org po on vecs.org_id_int=po.org_id 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} OR (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') where vecs.`year`= #{year} and po.del_flag=1 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(case when #{levelFlag} >=3 then 1=1 else SUBSTRING(`po`.`org_code`, 5, 2) = '00' end ))
AND ( AND (
`po`.`level_flag` > ( `po`.`level_flag` > (
...@@ -443,6 +443,58 @@ ...@@ -443,6 +443,58 @@
) AS t ) AS t
)as t2 )as t2
</select> </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
FROM (
SELECT
vecs.`year`,
vecs.`month`,
SUM(vecs.use_count) AS use_count,
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}
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and vecs.type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="typeParentId != null and typeParentId !=''">
and vecs.type_parnet_id=#{typeParentId}
</if>
<if test="sizeNameList!=null and sizeNameList.size() > 0">
AND
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">
vecs.size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
<if test="monthList != null and monthList.size()>0">
and vecs.month in
<foreach collection="monthList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
GROUP BY `year`,month
) AS t
)as t2
</select>
<select id="TjOrgCountTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto"> <select id="TjOrgCountTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgCountDto">
SELECT MAX( t.`year` ) AS `year`,SUM( t.use_count ) AS use_count,SUM( t.fix_count ) AS fix_count, SELECT MAX( t.`year` ) AS `year`,SUM( t.use_count ) AS use_count,SUM( t.fix_count ) AS fix_count,
size_id,size_name,type_id,type_name, size_id,size_name,type_id,type_name,
...@@ -464,16 +516,28 @@ ...@@ -464,16 +516,28 @@
LEFT JOIN pub_org po ON vecs.org_id_int = po.org_id LEFT JOIN pub_org po ON vecs.org_id_int = po.org_id
WHERE WHERE
YEAR = #{year} YEAR = #{year}
and `po`.`del_flag` = 1 and (po.org_id=#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') and `po`.`del_flag` = 1
<if test="levelNum !=0"> <if test="level =null or level=''" >
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00' and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if>
<if test="level=1">
and (po.org_id !=#{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if>
<if test="level = 0 ">
and po.org_id =#{orgId}
</if> </if>
))
AND (
`po`.level_flag >(SELECT
level_flag FROM pub_org WHERE org_id = #{orgId} )+ #{levelNum}
OR `po`.level_flag =(SELECT level_flag FROM pub_org WHERE org_id = #{orgId}
))
GROUP BY GROUP BY
`year`,MONTH,size_id,size_name,type_id,type_name `year`,MONTH,size_id,size_name,type_id,type_name
) AS t ) AS t
...@@ -482,4 +546,6 @@ ...@@ -482,4 +546,6 @@
ORDER BY ORDER BY
t.type_id,size_id t.type_id,size_id
</select> </select>
</mapper> </mapper>
...@@ -497,13 +497,29 @@ ...@@ -497,13 +497,29 @@
LEFT JOIN `base_inventory_summary` `bis` ON `po`.`org_id` = `bis`.`org_id_int` LEFT JOIN `base_inventory_summary` `bis` ON `po`.`org_id` = `bis`.`org_id_int`
WHERE WHERE
`po`.`del_flag` = 1 and (po.org_id!=#{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') `po`.`del_flag` = 1
<if test="levelNum !=0"> <if test="level =null or level=''" >
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00' and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if> </if>
)) <if test="level=1">
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or and (po.org_id !=#{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} )) <if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if>
<if test="level = 0 ">
and po.org_id =#{orgId}
</if>
<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=")">
......
...@@ -39,34 +39,100 @@ ...@@ -39,34 +39,100 @@
{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,coalesce(t4.start_num,0) as start_num,
FROM `pub_org` coalesce(t4.start_price,0) as start_price,coalesce(t4.end_num,0)as end_num,coalesce(t4.end_price,0) as end_price,
WHERE org_id=#{orgId} coalesce(t4.add_num,0) as add_num,coalesce(t4.add_price,0) as add_price,
) as t1 coalesce(t4.destory_num,0) as destory_num,COALESCE(t4.destory_price,0) as destory_price
CROSS JOIN (select sum(COALESCE(vpss.start_num,0)) as start_num,sum(COALESCE(vpss.start_price,0)) as start_price, FROM
sum(COALESCE(vpss.end_num,0)) as end_num,sum(COALESCE(vpss.end_price,0)) as end_price, ( SELECT `org_id`, `org_code`, `org_name`, `d_name` FROM `pub_org` WHERE org_id = #{orgId} ) AS t3
sum(COALESCE(vpss.add_num,0)) as add_num,sum(COALESCE(vpss.destory_num,0)) as destory_num, CROSS JOIN (
sum(COALESCE(vpss.add_price,0)) as add_price,sum(COALESCE(vpss.destory_price,0)) as destory_price SELECT
FROM vie_price_sum_summary vpss t1.start_num,t1.start_price,t2.end_num,t2.end_price,t2.end_num - t1.start_num AS add_num,
left join pub_org po on vpss.org_id_int=po.org_id t2.end_price - t1.start_price AS add_price, t2.destory_num,t2.destory_price
where vpss.`year`= #{year} and po.del_flag=1 and (po.org_id=#{orgId} or po.org_parent_ids like CONCAT('%', #{orgId}, '%')) FROM
<if test="typeIdsList!=null and typeIdsList.size() > 0"> (
and type_id in SELECT
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")"> SUM(COALESCE ( start_num, 0 )) AS start_num,
#{item} SUM(COALESCE ( start_price, 0 )) AS start_price
</foreach> FROM
</if> vie_price_sum_summary vpss
<if test="sizeNameList!=null and sizeNameList.size() > 0"> LEFT JOIN pub_org po ON vpss.org_id_int = po.org_id
AND WHERE
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")"> vpss.MONTH = ( SELECT MIN( MONTH ) FROM vie_price_sum_summary WHERE YEAR = #{year} )
size_name like CONCAT('%', #{item}, '%') AND po.del_flag = 1
</foreach> AND (po.org_id = #{orgId} OR po.org_parent_ids LIKE CONCAT( '%', #{orgId}, '%' ))
</if> <if test="typeIdsList!=null and typeIdsList.size() > 0">
) as t2 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
) 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">
...@@ -164,7 +230,7 @@ ...@@ -164,7 +230,7 @@
FROM vie_price_sum_summary vpss FROM vie_price_sum_summary vpss
left join pub_org po on vpss.org_id_int=po.org_id left join pub_org po on vpss.org_id_int=po.org_id
where vpss.`year`= #{year} and po.del_flag=1 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(case when #{levelFlag} >=3 then 1=1 else SUBSTRING(`po`.`org_code`, 5, 2) = '00' end ))
AND ( AND (
`po`.`level_flag` > ( `po`.`level_flag` > (
...@@ -187,20 +253,235 @@ ...@@ -187,20 +253,235 @@
</if> </if>
) as t2 ) as t2
</select> </select>
<select id="TjOrgPriceTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
select sum(COALESCE(vpss.start_num,0)) as start_num,sum(COALESCE(vpss.start_price,0)) as start_price, <!-- <select id="TjOrgPriceLeve4" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">-->
<!-- 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-->
<!-- 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} 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` > (-->
<!-- SELECT `level_flag` FROM `pub_org` WHERE `org_id` = #{orgId}-->
<!-- ) + 1-->
<!-- OR (`po`.`level_flag` = (-->
<!-- SELECT `level_flag` FROM `pub_org` WHERE `org_id` = #{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 id="TjOrgPriceBySelf" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
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
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.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_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,vpss.type_name,vpss.type_id sum(COALESCE(vpss.add_price,0)) as add_price,sum(COALESCE(vpss.destory_price,0)) as destory_price
FROM vie_price_sum_summary vpss FROM vie_price_sum_summary vpss
left join pub_org po on vpss.org_id_int=po.org_id left join pub_org po on vpss.org_id_int=po.org_id
where vpss.`year`= 2024 and `po`.`del_flag` = 1 and (po.org_id=#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%') where vpss.`year`= #{year} and po.del_flag=1
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=")">
#{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 id="TjOrgPriceTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">-->
<!-- select COALESCE(t2.start_num,0) as start_num,COALESCE(t2.start_price,0) as start_price,COALESCE(t1.end_num,0) as end_num,-->
<!-- COALESCE(t1.end_price,0) as end_price,t1.destory_num,t1.destory_price,t1.type_name,t1.type_id,-->
<!-- COALESCE(end_num,0)-COALESCE(start_num,0) as add_num,COALESCE(end_price,0)-COALESCE(start_price,0) as add_price-->
<!-- FROM(-->
<!-- 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,vpss.type_name,vpss.type_id-->
<!-- 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="levelNum !=0">-->
<!-- AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'-->
<!-- </if>-->
<!-- ))-->
<!-- and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or-->
<!-- `po`.level_flag=(select level_flag FROM pub_org where org_id=#{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>-->
<!-- GROUP BY vpss.type_id,vpss.type_name-->
<!-- ORDER BY vpss.type_id-->
<!-- ) as t1-->
<!-- left join(-->
<!-- SELECT-->
<!-- SUM(COALESCE ( start_num, 0 )) AS start_num,-->
<!-- SUM(COALESCE ( start_price, 0 )) AS start_price, vpss.type_name,vpss.type_id-->
<!-- 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="levelNum !=0">-->
<!-- AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'-->
<!-- </if>-->
<!-- ))-->
<!-- and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or-->
<!-- `po`.level_flag=(select level_flag FROM pub_org where org_id=#{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>-->
<!-- GROUP BY vpss.type_id,vpss.type_name-->
<!-- ORDER BY vpss.type_id-->
<!-- ) as t2 on t1.type_id =t2.type_id and t1.type_name=t2.type_name-->
<!-- </select>-->
<select id="TjOrgPriceTotalNum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
select COALESCE(t2.start_num,0) as start_num,COALESCE(t2.start_price,0) as start_price,COALESCE(t1.end_num,0) as end_num,
COALESCE(t1.end_price,0) as end_price,t1.destory_num,t1.destory_price,t1.type_name,t1.type_id,
COALESCE(end_num,0)-COALESCE(start_num,0) as add_num,COALESCE(end_price,0)-COALESCE(start_price,0) as add_price
FROM(
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,vpss.type_name,vpss.type_id
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
<if test="level =null or level=''" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if>
<if test="level=1">
and (po.org_id !=#{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if>
<if test="level = 0 ">
and po.org_id =#{orgId}
</if>
<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>
GROUP BY vpss.type_id,vpss.type_name
ORDER BY vpss.type_id
) as t1
left join(
SELECT
SUM(COALESCE ( start_num, 0 )) AS start_num,
SUM(COALESCE ( start_price, 0 )) AS start_price, vpss.type_name,vpss.type_id
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
<if test="level =null or level=''" >
and (po.org_id =#{orgId} or (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0"> <if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00' AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if> </if>
)) ))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId})) `po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if>
<if test="level=1">
and (po.org_id !=#{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
<if test="levelNum !=0">
AND SUBSTRING(`po`.`org_code`, 5, 2) = '00'
</if>
))
and (`po`.level_flag>(select level_flag FROM pub_org where org_id=#{orgId} )+#{levelNum} or
`po`.level_flag=(select level_flag FROM pub_org where org_id=#{orgId} ))
</if>
<if test="level = 0 ">
and po.org_id =#{orgId}
</if>
<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=")">
...@@ -215,6 +496,8 @@ ...@@ -215,6 +496,8 @@
</if> </if>
GROUP BY vpss.type_id,vpss.type_name GROUP BY vpss.type_id,vpss.type_name
ORDER BY vpss.type_id ORDER BY vpss.type_id
) as t2 on t1.type_id =t2.type_id and t1.type_name=t2.type_name
</select> </select>
</mapper> </mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论