Commit bcc9f280 authored by 曹盼盼's avatar 曹盼盼

优化管材统计

parent 57257f57
package com.yeejoin.amos.boot.module.ugp.api.dto;
import lombok.Data;
/**
* @Author cpp
* @Description
* @Date 2022/11/30
*/
@Data
public class MaterialCount {
private String manufactureAddr;
private Long sum;
}
package com.yeejoin.amos.boot.module.ugp.api.mapper;
import com.yeejoin.amos.boot.module.ugp.api.dto.MaterialCount;
import com.yeejoin.amos.boot.module.ugp.api.entity.Material;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
......@@ -12,10 +16,15 @@ import java.util.Map;
* @author system_generator
* @date 2022-09-22
*/
@Mapper
public interface MaterialMapper extends BaseMapper<Material> {
List<String> pipeManufacturerStatisticsToaXisData();
List<String> pipeManufacturerStatisticsToaSeriesData();
List<MaterialCount> getMaterialCount();//
List<MaterialCount> getConditionCount( @Param("listIdList") List<Long> listIdList);
}
......@@ -10,4 +10,29 @@
SELECT COUNT(1) as seriesData FROM tz_ugp_material GROUP BY manufacture_addr
</select>
<select id="getMaterialCount" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.MaterialCount">
select
manufacture_addr AS manufactureAddr,
count(manufacture_addr) AS `sum`
from
tz_ugp_material
GROUP BY
manufacture_addr
</select>
<select id="getConditionCount" parameterType="java.util.List" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.MaterialCount">
select
manufacture_addr AS manufactureAddr,
count(manufacture_addr) AS `sum`
from tz_ugp_material
where
company_id in
<foreach collection="listIdList" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
GROUP BY
manufacture_addr
</select>
</mapper>
......@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.ugp.api.dto.MaterialCount;
import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectResource;
import com.yeejoin.amos.boot.module.ugp.api.mapper.AttachmentMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectResourceMapper;
......@@ -240,8 +241,9 @@ public class MaterialController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@GetMapping(value = "/pipeManufacturer")
@ApiOperation(httpMethod = "GET",value = "管材厂家统计", notes = "管材厂家统计")
public ResponseModel<Map<String,List<String>>> pipeManufacturerStatistics() {
return ResponseHelper.buildResponse(materialServiceImpl.pipeManufacturerStatistics());
public ResponseModel<List<MaterialCount>> pipeManufacturerStatistics() {
List<MaterialCount> materialCounts = materialServiceImpl.pipeManufacturerStatistics( );
return ResponseHelper.buildResponse(materialCounts);
}
}
......@@ -6,13 +6,16 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.yeejoin.amos.boot.module.ugp.api.Enum.OrgEnum;
import com.yeejoin.amos.boot.module.ugp.api.dto.AttachmentDto;
import com.yeejoin.amos.boot.module.ugp.api.dto.MaterialCount;
import com.yeejoin.amos.boot.module.ugp.api.dto.MaterialDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Attachment;
import com.yeejoin.amos.boot.module.ugp.api.entity.Equipment;
import com.yeejoin.amos.boot.module.ugp.api.entity.Material;
import com.yeejoin.amos.boot.module.ugp.api.entity.*;
import com.yeejoin.amos.boot.module.ugp.api.mapper.AttachmentMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.CompanyMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.MaterialMapper;
import com.yeejoin.amos.boot.module.ugp.api.mapper.SuperviseRuleMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IMaterialService;
import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify;
import org.springframework.beans.BeanUtils;
......@@ -40,6 +43,10 @@ public class MaterialServiceImpl extends BaseService<MaterialDto, Material, Mate
OrgServiceImpl orgService;
@Autowired
MaterialMapper materialMapper;
@Autowired
CompanyMapper companyMapper;
@Autowired
SuperviseRuleMapper superviseRuleMapper;
/**
* 分页查询
*/
......@@ -175,12 +182,53 @@ public class MaterialServiceImpl extends BaseService<MaterialDto, Material, Mate
return material;
}
public Map<String,List<String>> pipeManufacturerStatistics() {
List<String> list1 = materialMapper.pipeManufacturerStatisticsToaXisData();
List<String> list2 = materialMapper.pipeManufacturerStatisticsToaSeriesData();
Map<String,List<String>> map = new HashMap<>();
map.put("axisData",list1);
map.put("seriesData",list2);
return map;
@BusinessIdentify
public List<MaterialCount> pipeManufacturerStatistics() {
List<MaterialCount> materialCountList=null;
Long companySequenceNbr = orgService.getReginParams().getBusinessInfo().getCompanySequenceNbr();
LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
String type = companyMapper.selectById(companySequenceNbr).getType();
if (!ValidationUtil.isEmpty(type)) {
if (type.contains(OrgEnum.监检机构.getKey())){
wrapper.eq(SuperviseRule::getInspectionUnitId,companySequenceNbr);
List<SuperviseRule> superviseRules = superviseRuleMapper.selectList(wrapper);
for (SuperviseRule i:superviseRules){
LambdaQueryWrapper<Company> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(Company::getRegionCode,i.getAdminRegionCode());
List<Company> companies = companyMapper.selectList(lambdaQueryWrapper);
ArrayList<Long> listIdList = Lists.newArrayList();
for (Company company : companies) {
listIdList.add(company.getSequenceNbr());
}
materialCountList =materialMapper.getConditionCount(listIdList);
}
}else if (type.contains(OrgEnum.监察部门.getKey())) {
wrapper.eq(SuperviseRule::getSuperviseDeptId,companySequenceNbr);
List<SuperviseRule> superviseRules = superviseRuleMapper.selectList(wrapper);
for (SuperviseRule i:superviseRules){
LambdaQueryWrapper<Company> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(Company::getRegionCode,i.getAdminRegionCode());
List<Company> companies = companyMapper.selectList(lambdaQueryWrapper);
ArrayList<Long> listIdList = Lists.newArrayList();
for (Company company : companies) {
listIdList.add(company.getSequenceNbr());
}
materialCountList =materialMapper.getConditionCount(listIdList);
}
} else if (type.contains(OrgEnum.安装单位.getKey())) {
materialCountList = materialMapper.getMaterialCount( );
}
}
return materialCountList;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment