Commit dc65220b authored by wanglong's avatar wanglong

添加筛选

parent 38fe4391
...@@ -25,7 +25,7 @@ public class ProjectMaterialDto extends BaseDto { ...@@ -25,7 +25,7 @@ public class ProjectMaterialDto extends BaseDto {
@ApiModelProperty(value = "名称") @ApiModelProperty(value = "名称")
private String name; private String name;
@ApiModelProperty(value = "项目id") @ApiModelProperty(value = "企业id")
private Long companyId; private Long companyId;
@ApiModelProperty(value = "管材编号") @ApiModelProperty(value = "管材编号")
......
package com.yeejoin.amos.boot.module.ugp.api.dto; 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.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import com.yeejoin.amos.boot.biz.common.dto.BaseDto; import com.yeejoin.amos.boot.biz.common.dto.BaseDto;
...@@ -27,10 +28,73 @@ public class ProjectResourceDto extends BaseDto { ...@@ -27,10 +28,73 @@ public class ProjectResourceDto extends BaseDto {
@ApiModelProperty(value = "资源名称") @ApiModelProperty(value = "资源名称")
private String name; private String name;
@ApiModelProperty(value = "sb名称")
private String equipmentName;
@ApiModelProperty(value = "资源类型(welder、material、equipment)") @ApiModelProperty(value = "资源类型(welder、material、equipment)")
private String type; private String type;
@ApiModelProperty(value = "资源id") @ApiModelProperty(value = "资源id")
private Long resourceId; 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; ...@@ -3,13 +3,13 @@ package com.yeejoin.amos.boot.module.ugp.api.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 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.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.Project;
import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectResource; import com.yeejoin.amos.boot.module.ugp.api.entity.ProjectResource;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.aspectj.weaver.ast.Test; import org.aspectj.weaver.ast.Test;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
...@@ -43,4 +43,7 @@ public interface ProjectResourceMapper extends BaseMapper<ProjectResource> { ...@@ -43,4 +43,7 @@ public interface ProjectResourceMapper extends BaseMapper<ProjectResource> {
* 根据登录人角色去筛选 * 根据登录人角色去筛选
*/ */
List<Project> getProjectPage(String roleName, String companyId, Set<String> codes); 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 @@ ...@@ -134,4 +134,71 @@
</where> </where>
</select> </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> </mapper>
...@@ -271,11 +271,11 @@ public class ProjectResourceController extends BaseController { ...@@ -271,11 +271,11 @@ public class ProjectResourceController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false) @TycloudOperation(ApiLevel = UserType.AGENCY,needAuth = false)
@PostMapping(value = "/getResourceInfo") @PostMapping(value = "/getResourceInfo")
@ApiOperation(httpMethod = "POST",value = "根据type获取当前登录所在单位下的项目中的所有资源列表", notes = "根据type获取当前登录所在单位下的项目中的所有资源列表") @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(); IPage page = new Page();
page.setSize(size); page.setSize(size);
page.setCurrent(current); 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; 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.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams; import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.entity.BaseEntity; import com.yeejoin.amos.boot.biz.common.entity.BaseEntity;
...@@ -20,7 +19,6 @@ import com.yeejoin.amos.boot.module.ugp.api.mapper.ProjectResourceMapper; ...@@ -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.service.IProjectResourceService;
import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectResourceDto; import com.yeejoin.amos.boot.module.ugp.api.dto.ProjectResourceDto;
import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify; import com.yeejoin.amos.boot.module.ugp.biz.framework.BusinessIdentify;
import io.swagger.annotations.Api;
import org.aspectj.weaver.ast.Test; import org.aspectj.weaver.ast.Test;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -33,8 +31,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; ...@@ -33,8 +31,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
import static com.yeejoin.amos.boot.module.ugp.api.Enum.ProjectResourceEnum.*; import static com.yeejoin.amos.boot.module.ugp.api.Enum.ProjectResourceEnum.*;
/** /**
...@@ -261,14 +257,17 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P ...@@ -261,14 +257,17 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P
* @return * @return
*/ */
@BusinessIdentify @BusinessIdentify
public IPage getResourceInfo(String type,IPage page){ public IPage getResourceInfo(String type,IPage page,ProjectResourceDto projectResourceinfo){
List<Project> projectList = this.getProjectList(); List<Project> projectList = this.getProjectList();
List<Long> projectIdList = new ArrayList<>(); List<Long> projectIdList = new ArrayList<>();
List<Long> idList = 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(); Map map = new HashMap();
for(Project project:projectList){ for(Project project:projectList){
//获取项目id
projectIdList.add(project.getSequenceNbr()); projectIdList.add(project.getSequenceNbr());
codes.add(project.getSequenceNbr().toString());
map.put(project.getSequenceNbr(),project.getName()); map.put(project.getSequenceNbr(),project.getName());
} }
for(Long projectId:projectIdList){ for(Long projectId:projectIdList){
...@@ -277,7 +276,9 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P ...@@ -277,7 +276,9 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P
.eq(ProjectResource::getProjectId,projectId); .eq(ProjectResource::getProjectId,projectId);
IPage<ProjectResource> projectResourceList = this.page(page,projectResourceWrapper); IPage<ProjectResource> projectResourceList = this.page(page,projectResourceWrapper);
for(ProjectResource projectResource : projectResourceList.getRecords()){ for(ProjectResource projectResource : projectResourceList.getRecords()){
//获取资源ID
idList.add(projectResource.getResourceId()); idList.add(projectResource.getResourceId());
map.put(projectResource.getResourceId(),map.get(projectId)); map.put(projectResource.getResourceId(),map.get(projectId));
} }
} }
...@@ -290,34 +291,36 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P ...@@ -290,34 +291,36 @@ public class ProjectResourceServiceImpl extends BaseService<ProjectResourceDto,P
} }
page.setRecords(mapList); page.setRecords(mapList);
}else if(管材资源.getCode().equals(type)){ }else if(管材资源.getCode().equals(type)){
for(Long id:idList){ // for(Long id:idList){
ProjectMaterialDto projectMaterialDto = new ProjectMaterialDto(); // ProjectResourceDto projectMaterialDto = new ProjectResourceDto();
BeanUtils.copyProperties(materialService.getById(id),projectMaterialDto); List<ProjectResourceDto> projectResource1 = projectResourceMapper.getProjectMaterial(type, codes, projectResourceinfo);
//获取项目创建时间 //获取项目创建时间
LambdaQueryWrapper<ProjectResource> wrapper = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<ProjectResource> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectResource::getResourceId,id); // wrapper.eq(ProjectResource::getResourceId,id);
ProjectResource projectResource = projectResourceMapper.selectOne(wrapper); // ProjectResource projectResource = projectResourceMapper.selectOne(wrapper);
projectMaterialDto.setRecDate(projectResource.getRecDate()); // projectMaterialDto.setRecDate(projectResource.getRecDate());
projectMaterialDto.setProjectName(String.valueOf(map.get(id))); // projectMaterialDto.setProjectName(String.valueOf(map.get(id)));
projectMaterialDto.setProjectResourceId(id); // projectMaterialDto.setProjectResourceId(id);
list.add(projectMaterialDto);
} // }
page.setRecords(list); page.setRecords(projectResource1);
}else { }else {
for(Long id:idList){ // for(Long id:idList){
WelderEquipmentDto welderEquipmentDto = new WelderEquipmentDto(); // ProjectResourceDto projectResourceDto = new ProjectResourceDto();
BeanUtils.copyProperties(equipmentService.getById(id),welderEquipmentDto); List<ProjectResourceDto> projectResource1 = projectResourceMapper.getProjectEquipment(type, codes, projectResourceinfo);
//获取项目创建时间 // for (ProjectResourceDto i:projectResource1) {
LambdaQueryWrapper<ProjectResource> wrapper = new LambdaQueryWrapper<>(); // BeanUtils.copyProperties(i,projectResourceDto);
wrapper.eq(ProjectResource::getResourceId,id); // list.add(projectResourceDto);
ProjectResource projectResource = projectResourceMapper.selectOne(wrapper); // }
welderEquipmentDto.setRecDate(projectResource.getRecDate()); page.setRecords(projectResource1);
welderEquipmentDto.setProjectName(String.valueOf(map.get(id)));
welderEquipmentDto.setProjectResourceId(String.valueOf(id));
list.add(welderEquipmentDto);
} }
page.setRecords(list);
} // }
return page; 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