Commit 07eb91eb by 李小惠

修改所有报表接口

parent 6d9b4cb3
......@@ -73,4 +73,6 @@ public class TjOrgCountDto implements Serializable {
private String name;
private Integer level;
}
\ No newline at end of file
......@@ -45,4 +45,7 @@ public class TjOrgPriceDto {
private String sizeName;
private String typeId;
private String typeName;
//0表示本级数据,1表示直属下级不包含下一级的组织机构
private Integer level;
}
......@@ -34,7 +34,7 @@ public class ApplicationReq extends BaseRequest {
/**
* 应用名称
*/
@NotBlank(message = "应用名称不能为空",groups = {add.class})
@NotBlank(message = "应用名称不能为空",groups = {add.class,detail.class})
private String name;
/**
......
......@@ -24,4 +24,6 @@ public class TjOrgCountReq extends BaseRequest {
private String order;
private String column;
private Integer level;
}
\ No newline at end of file
......@@ -14,6 +14,8 @@ public class TjOrgEqsReq extends BaseRequest {
List<String> typeIdsList;
private List<String> sizeNameList;
private Integer level;
// 添加一个用逗号分隔typeIdsList的方法
public String getTypeIdsAsString() {
return String.join(",", typeIdsList);
......
......@@ -20,4 +20,6 @@ public class TjOrgPriceReq extends BaseRequest {
private Integer levelNum;
private Integer level;
}
......@@ -8,7 +8,12 @@ import lombok.Getter;
@Getter
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;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* 应用管理模块
......@@ -36,6 +37,19 @@ public class ApplicationController {
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")
@ApiOperation("新增应用信息")
......
......@@ -39,13 +39,21 @@ public interface EquipmentCountSummaryMapper extends BaseMapper<EquipmentCountSu
@Param("monthList") List<Integer> monthList,
@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,
@Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList,
@Param("year") Integer year,
@Param("typeParentId")String typeParentId,
@Param("monthList") List<Integer> monthList,
@Param("levelNum")Integer levelNum);
@Param("levelNum")Integer levelNum,
@Param("level")Integer level);
FinalTjOrgCountDto TjOrgCountSum(@Param("orgId") Long orgId,
......
......@@ -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.SelectTotalNumReq;
import com.junmp.jyzb.entity.InventorySummary;
import liquibase.pro.packaged.L;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -54,12 +53,16 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
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> getTotalDataDetail(@Param("orgId") String orgId,@Param("typeIdsList") List<String> typeIdsList,
@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);
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);
......
......@@ -57,10 +57,27 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> {
@Param("typeIdsList") List<String> typeIdsList,
@Param("sizeNameList")List<String> sizeNameList,
@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,
@Param("year") Integer year,
@Param("typeIdsList") List<String> typeIdsList,
@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;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* @author lxh专属坐骑
* @description 针对表【sys_application】的数据库操作Service
......@@ -14,7 +16,11 @@ public interface ApplicationService extends IService<Application> {
//获取分页应用信息
PageResult<Application> GetAllUpdateCfg(ApplicationReq req);
List<Application> GetAllUpdateCfgList(ApplicationReq req);
Application GetOne(ApplicationReq req);
//新增应用信息
String AddOrUpdateCfg(ApplicationReq req);
}
package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.query.ApplicationReq;
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.service.ApplicationService;
import com.junmp.jyzb.mapper.ApplicationMapper;
......@@ -17,6 +19,8 @@ import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author lxh专属坐骑
* @description 针对表【sys_application】的数据库操作Service实现
......@@ -34,11 +38,34 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
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
public String AddOrUpdateCfg(ApplicationReq req) {
Application application = new 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传递错误;如果不传递默认新增
if (req.getId()==null || req.getId().trim().isEmpty()){
application.setCreateTime(DateTimeUtil.getCurrentDateTime());
......@@ -63,6 +90,7 @@ public class ApplicationServiceImpl extends ServiceImpl<ApplicationMapper, Appli
}
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.getAppCode()),Application::getAppCode,req.getAppCode());
wrapper.orderByDesc(Application::getCreateTime);
return wrapper;
......
......@@ -224,20 +224,55 @@ public class TjServiceImpl implements TjService {
finalTjOrgEqsDto.setDjgStockNumber(0);
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
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());
allData.add(OrgData);
}
if (!req.getOrgId().equals("1369509498032808905"))
{
}))
.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.getSizeNameList().isEmpty() ? null : req.getSizesAsString());
OrgDataSelf.setLevel(0);
OrgDataSelf.setOrgName(OrgDataSelf.getOrgName()+"本级");
OrgDataSelf.setDName(OrgDataSelf.getDName()+"本级");
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);//把本级数据加进去
OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
allData.add(OrgDataSelf);//把本级数据加进去
allData.add(OrgData);//把下级数据加进去
}
for (TjOrgEqsDto tj:allData) {
finalTjOrgEqsDto.setTotalNumber(finalTjOrgEqsDto.getTotalNumber()+ tj.getTotalNumber());
......@@ -256,9 +291,21 @@ public class TjServiceImpl implements TjService {
//先拿到符合条件的组织机构,再遍历组织机构组成数据
List<TjOrgEqsDto> allData=new ArrayList<>();
List<TjOrgEqsDto> OrgData=inventorySummaryMapper.getTotalDataDetail(String.valueOf(req.getOrgId()),req.getTypeIdsList(),req.getSizeNameList(),req.getLevelNum());
allData.addAll(OrgData);//把本级数据加进去
// List<TjOrgEqsDto> allData=new ArrayList<>();
// if (ObjectUtil.isNull(req.getLevel()) && req.getLevelNum()==0){
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
{
allData.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getTotalNumber() == 0);
......@@ -461,16 +508,27 @@ public class TjServiceImpl implements TjService {
// }
@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<>();
//根据条件查询财务汇总表
//循环遍历下一级以及它下面的汇总信息
// for (String orgId:orgList) {
// TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() );
// 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());
......@@ -481,43 +539,81 @@ public class TjServiceImpl implements TjService {
// 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) {
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<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){
//获取本级数据
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());
tjOrgPriceDtoList.add(OrgData);//把本级数据加进去
OrgData.setLevel(1);
OrgData.setOrgName(OrgData.getOrgName()+"直属下级");
OrgData.setDName(OrgData.getDName()+"直属下级");
tjOrgPriceDtoList.add(OrgData);//把直属下级数据加进去
tjOrgPriceDtoList.add(OrgDataSelf);//把本级数据加进去
}
// 等待所有 CompletableFuture 完成
allOf.join();
//查询出来的组织机构进行判断,如果该组织机构下的装备装备总数为0,那么将该组织机构从list中移除
if (req.getRemoveEmpty()){
......@@ -541,6 +637,77 @@ public class TjServiceImpl implements TjService {
page.setRecords(subList);
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
public FinalTjOrgPriceDto TjOrgPriceSum(TjOrgPriceReq req) {
PubOrg pubOrg = pubOrgService.PubOrgExist(req.getOrgId());
......@@ -556,51 +723,37 @@ public class TjServiceImpl implements TjService {
List<String> orgList= inventorySummaryMapper.getTotalData(String.valueOf(req.getOrgId()));
List<TjOrgPriceDto> tjOrgPriceDtoList=new ArrayList<>();
//根据条件查询财务汇总表
// for (String orgId:orgList) {
// TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() );
// tjOrgPriceDtoList.add(OrgData);
// }
List<CompletableFuture<TjOrgPriceDto>> futures = orgList.stream()
.map(orgId -> CompletableFuture.supplyAsync(() ->
priceSumSummaryMapper.TjOrgPrice(orgId, req.getYear(),req.getTypeIdsList(),req.getSizeNameList() )
))
.collect(Collectors.toList());
// 等待所有 CompletableFuture 完成
CompletableFuture<Void> allOf = CompletableFuture.allOf(
futures.toArray(new CompletableFuture[0])
);
allOf.thenRun(()->{
for (CompletableFuture<TjOrgPriceDto> future : futures) {
try{
TjOrgPriceDto OrgData = future.get();
if (OrgData!=null){
OrgData.setAddNum(ObjectUtil.isNull(OrgData.getAddNum())?0:OrgData.getAddNum());
OrgData.setEndNum(ObjectUtil.isNull(OrgData.getEndNum())?0:OrgData.getEndNum());
OrgData.setStartNum(ObjectUtil.isNull(OrgData.getStartNum())?0:OrgData.getStartNum());
OrgData.setDestoryNum(ObjectUtil.isNull(OrgData.getDestoryNum())?0:OrgData.getDestoryNum());
OrgData.setStartPrice(ObjectUtil.isNull(OrgData.getStartPrice())?BigDecimal.ZERO:OrgData.getStartPrice());
OrgData.setEndPrice(ObjectUtil.isNull(OrgData.getEndPrice())?BigDecimal.ZERO:OrgData.getEndPrice());
OrgData.setAddPrice(ObjectUtil.isNull(OrgData.getAddPrice())?BigDecimal.ZERO:OrgData.getAddPrice());
OrgData.setDestoryPrice(ObjectUtil.isNull(OrgData.getDestoryPrice())?BigDecimal.ZERO:OrgData.getDestoryPrice());
tjOrgPriceDtoList.add(OrgData);
}
}catch (InterruptedException | ExecutionException e){
}
}
});
if (req.getOrgId()!=1369509498032808905L){
TjOrgPriceDto OrgData=priceSumSummaryMapper.TjOrgPriceLeve4(req.getOrgId(), req.getYear(),req.getTypeIdsList(),
req.getSizeNameList(),pubOrg.getLevelFlag());
tjOrgPriceDtoList.add(OrgData);//把本级数据加进去
}
CompletableFuture<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){
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) {
tj.setAddNum(ObjectUtil.isNull(tj.getAddNum())?0:tj.getAddNum());
tj.setStartNum(ObjectUtil.isNull(tj.getStartNum())?0:tj.getStartNum());
......@@ -625,7 +778,7 @@ public class TjServiceImpl implements TjService {
@Override
public List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req) {
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()){
tjOrgPriceDtoList.removeIf(tjOrgEqsDto -> tjOrgEqsDto.getStartNum() == 0 && tjOrgEqsDto.getEndNum() == 0
&& tjOrgEqsDto.getDestoryNum()==0);
......@@ -633,6 +786,16 @@ public class TjServiceImpl implements TjService {
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
......@@ -644,7 +807,7 @@ public class TjServiceImpl implements TjService {
}
Page<TjOrgPriceDto> page = PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
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.setRecords(returnList);
return PageResultFactory.createPageResult(page);
......@@ -769,9 +932,13 @@ public class TjServiceImpl implements TjService {
)
.collect(Collectors.toList());
// 等待所有 CompletableFuture 完成
CompletableFuture<Void> allOf = CompletableFuture.allOf(
futures.toArray(new CompletableFuture[0])
);
CompletableFuture<Void> allOf = CompletableFuture.allOf( futures.toArray(new CompletableFuture[0]));
// tjOrgCountList = futures.stream()
// .map(CompletableFuture::join)
// .collect(Collectors.toList());
// 处理每个 CompletableFuture 的结果
allOf.thenRun(() -> {
for (CompletableFuture<TjOrgCountDto> future : futures) {
......@@ -793,10 +960,20 @@ public class TjServiceImpl implements TjService {
allOf.join();
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.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中移除
......@@ -878,11 +1055,22 @@ public class TjServiceImpl implements TjService {
// 等待所有 CompletableFuture 完成
allOf.join();
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.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) {
tj.setFixCount(ObjectUtil.isNull(tj.getFixCount())?0: tj.getFixCount());
......@@ -899,7 +1087,7 @@ public class TjServiceImpl implements TjService {
public List<TjOrgCountDto> TjOrgCountDetail(TjOrgCountReq req) {
List<TjOrgCountDto> tjOrgCountDtoList=equipmentCountSummaryMapper.TjOrgCountTotalNum(req.getOrgId(),
req.getTypeIdsList(),req.getSizeNameList(),req.getYear(),req.getTypeParentId(),
req.getMonthList(),req.getLevelNum());
req.getMonthList(),req.getLevelNum(),req.getLevel());
if (req.getRemoveEmpty()){
tjOrgCountDtoList.removeIf(tjOrgCountDto -> tjOrgCountDto.getNumber()==0 );
}
......
......@@ -409,7 +409,7 @@
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} 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 (
`po`.`level_flag` > (
......@@ -443,6 +443,58 @@
) 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
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 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,
......@@ -464,16 +516,28 @@
LEFT JOIN pub_org po ON vecs.org_id_int = po.org_id
WHERE
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="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}
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>
GROUP BY
`year`,MONTH,size_id,size_name,type_id,type_name
) AS t
......@@ -482,4 +546,6 @@
ORDER BY
t.type_id,size_id
</select>
</mapper>
......@@ -497,13 +497,29 @@
LEFT JOIN `base_inventory_summary` `bis` ON `po`.`org_id` = `bis`.`org_id_int`
WHERE
`po`.`del_flag` = 1 and (po.org_id!=#{orgId} and (`po`.org_parent_ids like CONCAT('%', #{orgId}, '%')
`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=")">
......
......@@ -228,7 +228,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} or (`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` > (
......@@ -251,20 +251,189 @@
</if>
) as t2
</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.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
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}))
`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=")">
......@@ -279,6 +448,54 @@
</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">
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 t2 on t1.type_id =t2.type_id and t1.type_name=t2.type_name
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论