Commit dc65220b authored by wanglong's avatar wanglong

添加筛选

parent 38fe4391
......@@ -25,7 +25,7 @@ public class ProjectMaterialDto extends BaseDto {
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "项目id")
@ApiModelProperty(value = "企业id")
private Long companyId;
@ApiModelProperty(value = "管材编号")
......
package com.yeejoin.amos.boot.module.ugp.api.dto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Equipment;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
......@@ -27,10 +28,73 @@ public class ProjectResourceDto extends BaseDto {
@ApiModelProperty(value = "资源名称")
private String name;
@ApiModelProperty(value = "sb名称")
private String equipmentName;
@ApiModelProperty(value = "资源类型(welder、material、equipment)")
private String type;
@ApiModelProperty(value = "资源id")
private Long resourceId;
@ApiModelProperty(value = "管材编号")
private String code;
@ApiModelProperty(value = "管材规格")
private String spec;
@ApiModelProperty(value = "管材壁厚")
private Integer wallThickness;
@ApiModelProperty(value = "生产厂家")
private String manufacturer;
@ApiModelProperty(value = "生产日期")
private Date manufactureDate;
@ApiModelProperty(value = "生产编号")
private String batchNum;
@ApiModelProperty(value = "项目名称")
private String projectName;
@ApiModelProperty(value = "项目资源id")
private Long projectResourceId;
Equipment equipment;
@ApiModelProperty(value = "企业id")
private Long companyId;
// private String equipmentCode;
// private String equipmentType;
// private String equipmentManufacturer;
// private String equipmentManufacture_date;
@ApiModelProperty(value = "使用年限")
private String serviceLife;
@ApiModelProperty(value = "检定状态")
private String verifyStatus;
@ApiModelProperty(value = "检验日期")
private Date inspectionDate;
@ApiModelProperty(value = "使用状态")
private String useStatus;
@ApiModelProperty(value = "备注")
private String remark;
@ApiModelProperty(value = "单位机构代码")
private String orgCode;
}
......@@ -3,13 +3,13 @@ package com.yeejoin.amos.boot.module.ugp.api.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.ugp.api.dto.*;
import com.yeejoin.amos.boot.module.ugp.api.entity.Material;
import com.yeejoin.amos.boot.module.ugp.api.entity.Project;
import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectResource;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.aspectj.weaver.ast.Test;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Set;
......@@ -43,4 +43,7 @@ public interface ProjectResourceMapper extends BaseMapper<ProjectResource> {
* 根据登录人角色去筛选
*/
List<Project> getProjectPage(String roleName, String companyId, Set<String> codes);
List<ProjectResourceDto> getProjectMaterial(String type, Set<String> codes, @RequestBody(required = false) ProjectResourceDto projectResourceDto);
List<ProjectResourceDto> getProjectEquipment(String type, Set<String> codes,@RequestBody(required = false) ProjectResourceDto projectResourceDto);
}
......@@ -134,4 +134,71 @@
</where>
</select>
<select id="getProjectMaterial" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.ProjectResourceDto">
SELECT
material.`name`,
material.`code`,
material.type,
material.spec,
material.wall_thickness,
material.manufacturer,
material.manufacture_date,
material.batch_num,
material.rec_date,
project.`name` AS projectName
FROM tz_ugp_project_resource resource
LEFT JOIN tz_ugp_material AS material ON resource.resource_id = material.sequence_nbr
LEFT JOIN tz_ugp_project AS project ON project.sequence_nbr = resource.project_id
<where>
resource.type = #{type}
<if test="projectResourceDto !=null">
<if test="projectResourceDto.name !=null and projectResourceDto.name != ''">
and material.`name` LIKE CONCAT("%",#{projectResourceDto.name},"%")
</if>
<if test="projectResourceDto.projectName !=null and projectResourceDto.projectName != ''">
and project.`name` LIKE CONCAT("%",#{projectResourceDto.projectName},"%")
</if>
</if>
<if test="codes !=null">
AND resource.project_id in
<foreach collection="codes" item = "item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
<select id="getProjectEquipment" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.ProjectResourceDto">
SELECT
equipment.name ,
equipment.`code`,
equipment.type ,
equipment.manufacturer,
equipment.manufacture_date ,
equipment.service_life,
equipment.verify_status,
equipment.sequence_nbr,
project.`name` AS projectName
FROM tz_ugp_project_resource resource
LEFT JOIN tz_ugp_project AS project ON project.sequence_nbr = resource.project_id
LEFT JOIN tz_ugp_equipment AS equipment ON equipment.sequence_nbr = resource.resource_id
<where>
resource.type = #{type}
<if test="projectResourceDto !=null">
<if test="projectResourceDto.name !=null and projectResourceDto.name != ''">
and equipment.`name` LIKE CONCAT("%",#{projectResourceDto.name},"%")
</if>
<if test="projectResourceDto.projectName !=null and projectResourceDto.projectName != ''">
and project.`name` LIKE CONCAT("%",#{projectResourceDto.projectName},"%")
</if>
</if>
<if test="codes !=null">
AND resource.project_id in
<foreach collection="codes" item = "item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
......@@ -271,11 +271,11 @@ public class ProjectResourceController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/getResourceInfo")
@ApiOperation(httpMethod = "POST",value = "根据type获取当前登录所在单位下的项目中的所有资源列表", notes = "根据type获取当前登录所在单位下的项目中的所有资源列表")
public ResponseModel<IPage> getResourceInfo(Long current,Long size,String type){
public ResponseModel<IPage> getResourceInfo(Long current,Long size,String type,@RequestBody(required = false) ProjectResourceDto projectResourceinfo){
IPage page = new Page();
page.setSize(size);
page.setCurrent(current);
return ResponseHelper.buildResponse(projectResourceServiceImpl.getResourceInfo(type,page));
return ResponseHelper.buildResponse(projectResourceServiceImpl.getResourceInfo(type,page,projectResourceinfo));
}
......
package com.yeejoin.amos.boot.module.ugp.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
......@@ -20,7 +19,6 @@ import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectResourceMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IProjectResourceService;
import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectResourceDto;
import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify;
import io.swagger.annotations.Api;
import org.aspectj.weaver.ast.Test;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -33,8 +31,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.*;
import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.module.ugp.api.Enum.ProjectResourceEnum.*;
/**
......@@ -261,14 +257,17 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P
* @return
*/
@BusinessIdentify
public IPage getResourceInfo(String type,IPage page){
public IPage getResourceInfo(String type,IPage page,ProjectResourceDto projectResourceinfo){
List<Project> projectList = this.getProjectList();
List<Long> projectIdList = new ArrayList<>();
List<Long> idList = new ArrayList<>();
List list = new ArrayList<>();
List<ProjectResourceDto> list = new ArrayList<>();
Set<String> codes = new HashSet<>();
Map map = new HashMap();
for(Project project:projectList){
//获取项目id
projectIdList.add(project.getSequenceNbr());
codes.add(project.getSequenceNbr().toString());
map.put(project.getSequenceNbr(),project.getName());
}
for(Long projectId:projectIdList){
......@@ -277,7 +276,9 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P
.eq(ProjectResource::getProjectId,projectId);
IPage<ProjectResource> projectResourceList = this.page(page,projectResourceWrapper);
for(ProjectResource projectResource : projectResourceList.getRecords()){
//获取资源ID
idList.add(projectResource.getResourceId());
map.put(projectResource.getResourceId(),map.get(projectId));
}
}
......@@ -290,34 +291,36 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P
}
page.setRecords(mapList);
}else if(管材资源.getCode().equals(type)){
for(Long id:idList){
ProjectMaterialDto projectMaterialDto = new ProjectMaterialDto();
BeanUtils.copyProperties(materialService.getById(id),projectMaterialDto);
// for(Long id:idList){
// ProjectResourceDto projectMaterialDto = new ProjectResourceDto();
List<ProjectResourceDto> projectResource1 = projectResourceMapper.getProjectMaterial(type, codes, projectResourceinfo);
//获取项目创建时间
LambdaQueryWrapper<ProjectResource> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectResource::getResourceId,id);
ProjectResource projectResource = projectResourceMapper.selectOne(wrapper);
projectMaterialDto.setRecDate(projectResource.getRecDate());
projectMaterialDto.setProjectName(String.valueOf(map.get(id)));
projectMaterialDto.setProjectResourceId(id);
list.add(projectMaterialDto);
}
page.setRecords(list);
// LambdaQueryWrapper<ProjectResource> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(ProjectResource::getResourceId,id);
// ProjectResource projectResource = projectResourceMapper.selectOne(wrapper);
// projectMaterialDto.setRecDate(projectResource.getRecDate());
// projectMaterialDto.setProjectName(String.valueOf(map.get(id)));
// projectMaterialDto.setProjectResourceId(id);
// }
page.setRecords(projectResource1);
}else {
for(Long id:idList){
WelderEquipmentDto welderEquipmentDto = new WelderEquipmentDto();
BeanUtils.copyProperties(equipmentService.getById(id),welderEquipmentDto);
//获取项目创建时间
LambdaQueryWrapper<ProjectResource> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectResource::getResourceId,id);
ProjectResource projectResource = projectResourceMapper.selectOne(wrapper);
welderEquipmentDto.setRecDate(projectResource.getRecDate());
welderEquipmentDto.setProjectName(String.valueOf(map.get(id)));
welderEquipmentDto.setProjectResourceId(String.valueOf(id));
list.add(welderEquipmentDto);
// for(Long id:idList){
// ProjectResourceDto projectResourceDto = new ProjectResourceDto();
List<ProjectResourceDto> projectResource1 = projectResourceMapper.getProjectEquipment(type, codes, projectResourceinfo);
// for (ProjectResourceDto i:projectResource1) {
// BeanUtils.copyProperties(i,projectResourceDto);
// list.add(projectResourceDto);
// }
page.setRecords(projectResource1);
}
page.setRecords(list);
}
// }
return page;
}
}
\ 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