Commit 976fd7d0 authored by wanglong's avatar wanglong

修改焊口回显 并增加筛选

parent 0a5c211f
......@@ -26,12 +26,12 @@ public class WeldDto extends BaseDto {
@ApiModelProperty(value = "项目id")
private Long projectId;
@ApiModelProperty(value = "项目名称")
private String name;
@ApiModelProperty(value = "安装单位id")
@ApiModelProperty(value = "安装企业")
private Long installCompany;
@ApiModelProperty(value = "安装单位")
private String installationUnit;
@ApiModelProperty(value = "所在地")
......
package com.yeejoin.amos.boot.module.ugp.api.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.ugp.api.dto.WeldDto;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
import java.util.Set;
/**
* 焊口信息表 Mapper 接口
......@@ -22,4 +25,6 @@ public interface WeldMapper extends BaseMapper<Weld> {
@Select("SELECT * from tz_ugp_weld where code = #{code} and project_id =#{projectId}")
Weld getWeldByCodeAndProjectId(String code,Long projectId);
IPage<WeldDto> queryForWeldPage(IPage<WeldDto> page, Set<String> codes,@RequestBody(required = false) WeldDto weldDto) ;
}
......@@ -188,18 +188,18 @@
resource.type = #{type}
<if test="projectResourceDto !=null">
<if test="projectResourceDto.name !=null and projectResourceDto.name != ''">
and equipment.`name` LIKE CONCAT("%",#{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},"%")
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>
<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>
......@@ -2,4 +2,24 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yeejoin.amos.boot.module.ugp.api.mapper.WeldMapper">
<select id="queryForWeldPage" resultType="com.yeejoin.amos.boot.module.ugp.api.dto.WeldDto">
SELECT tz_ugp_weld.`sequence_nbr`,`code`,project_id,install_company,region,coding_status,coding_method,coding_date,project.`name` FROM tz_ugp_weld,
(SELECT `sequence_nbr`,`name` FROM tz_ugp_project ) AS project
<where>
project.sequence_nbr=tz_ugp_weld.project_id
<if test="weldDto!=null">
<if test="weldDto.name !=null and weldDto.name !=''">
AND project.name LIKE CONCAT("%",#{weldDto.name},"%")
</if>
</if>
<if test="codes !=null">
AND tz_ugp_weld.project_id IN
<foreach collection="codes" item ="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
</select>
</mapper>
......@@ -85,11 +85,15 @@ public class ProjectResourceController extends BaseController {
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@DeleteMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "DELETE", value = "根据sequenceNbr删除项目资源表(包括焊工、管材、设备)", notes = "根据sequenceNbr删除项目资源表(包括焊工、管材、设备)")
public ResponseModel<Boolean> deleteBySequenceNbr(HttpServletRequest request, @PathVariable(value = "sequenceNbr") Long sequenceNbr) {
return ResponseHelper.buildResponse(projectResourceServiceImpl.removeById(sequenceNbr));
LambdaQueryWrapper<ProjectResource> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectResource::getResourceId,sequenceNbr);
ProjectResource projectResource = projectResourceMapper.selectOne(wrapper);
return ResponseHelper.buildResponse(projectResourceServiceImpl.deleteBySeq(projectResource.getSequenceNbr()));
}
/**
......@@ -98,7 +102,7 @@ public class ProjectResourceController extends BaseController {
* @param sequenceNbr 主键
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{sequenceNbr}")
@ApiOperation(httpMethod = "GET", value = "根据sequenceNbr查询焊机设备)", notes = "根据sequenceNbr查询焊机设备")
public ResponseModel<WelderEquipmentDto> selectOne(@PathVariable Long sequenceNbr) {
......
package com.yeejoin.amos.boot.module.ugp.biz.controller;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yeejoin.amos.boot.module.ugp.api.entity.Weld;
import org.springframework.web.bind.annotation.RequestMapping;
import io.swagger.annotations.ApiOperation;
......@@ -98,12 +99,12 @@ public class WeldController extends BaseController {
* @return
*/
@TycloudOperation(ApiLevel = UserType.AGENCY, needAuth = false)
@GetMapping(value = "/page")
@ApiOperation(httpMethod = "GET", value = "焊口信息表分页查询", notes = "焊口信息表分页查询")
public ResponseModel<Page<WeldDto>> queryForPage(@RequestParam(value = "current") int current, @RequestParam
(value = "size") int size) {
return ResponseHelper.buildResponse(weldServiceImpl.queryForWeldPage(current, size));
@PostMapping(value = "/page")
@ApiOperation(httpMethod = "Post", value = "焊口信息表分页查询", notes = "焊口信息表分页查询")
public ResponseModel<IPage<WeldDto>> queryForPage(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestBody(required = false) WeldDto weldDto) {
return ResponseHelper.buildResponse(weldServiceImpl.queryForWeldPage(current, size,weldDto));
}
/**
......
......@@ -2,6 +2,7 @@ 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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.module.common.api.entity.OrgUsr;
import com.yeejoin.amos.boot.module.ugp.api.Enum.WeldCodeEnum;
......@@ -16,13 +17,12 @@ import com.yeejoin.amos.boot.module.ugp.api.mapper.WeldMapper;
import com.yeejoin.amos.boot.module.ugp.api.service.IWeldService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.RequestParam;
import org.typroject.tyboot.core.rdbms.service.BaseService;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors;
......@@ -44,63 +44,81 @@ class WeldServiceImpl extends BaseService<WeldDto, Weld, WeldMapper> implements
OrgServiceImpl orgService;
@Autowired
SuperviseRuleMapper superviseRuleMapper;
@Autowired
ProjectResourceServiceImpl projectResourceService;
// Logger logger = LoggerFactory.getLogger(WeldServiceImpl.class);
private final String 安装单位="INSTALL";
private final String 监察单位="SUPERVISION";
// private final String 安装单位="INSTALL";
//
// private final String 监察单位="SUPERVISION";
/**
* 分页查询(安装单位管理员只能查看本单位项目所有焊口信息。
* 监检机构管理员可查看所有项目焊口信息。)
*/
public Page<WeldDto> queryForWeldPage(int current, int size) {
Page<WeldDto> page = new Page<>();
public IPage<WeldDto> queryForWeldPage(int current, int size, WeldDto weldDto) {
IPage<WeldDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
Page<WeldDto> weldDtoPage = this.queryForPage(page, null, false);
for (WeldDto weldDto : weldDtoPage.getRecords()) {
QueryWrapper<Project> wrapper = new QueryWrapper<>();
wrapper.eq("sequence_nbr", weldDto.getProjectId());
Project project = projectMapper.selectOne(wrapper);
weldDto.setName(project.getName());
QueryWrapper<Project> wrapperUnit = new QueryWrapper<>();
wrapperUnit.eq("installation_unit_id", weldDto.getInstallCompany());
List<Project> projects = projectMapper.selectList(wrapperUnit);
for (Project project1 : projects) {
weldDto.setInstallationUnit(project1.getInstallationUnit());
weldDto.setCodingStatus(WeldCodeEnum.map.get(weldDto.getCodingStatus()));
weldDto.setCodingMethod(WeldMethodEnum.map.get(weldDto.getCodingMethod()));
}
//获取当前登陆人下的项目id
List<Project> projectList = projectResourceService.getProjectList();
Set<String> codes = new HashSet<>();
for (Project project : projectList) {
codes.add(project.getSequenceNbr().toString());
}
//获取焊口数据
IPage<WeldDto> weldDtoIPage = weldMapper.queryForWeldPage(page, codes, weldDto);
//页面回显
for (WeldDto weld : weldDtoIPage.getRecords()) {
//获取登录人信息
OrgUsr orgUsr = orgService.getOrgUsr();
//获取登录人企业下的所有焊口
if (orgUsr.getOrgExpandAttr1().equals(安装单位)) {
List<WeldDto> L = weldDtoPage.getRecords().stream().filter(b -> b.getInstallCompany().equals(orgUsr.getParentId())).collect(Collectors.toList());
weldDtoPage.setRecords(L);
}
//根据 所在地 筛选焊口
if (orgUsr.getOrgExpandAttr1().equals(监察单位)) {
LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
LambdaQueryWrapper<SuperviseRule> eq = wrapper.eq(SuperviseRule::getSuperviseDeptId, orgUsr.getParentId());
List<SuperviseRule> superviseRules = superviseRuleMapper.selectList(eq);
for (SuperviseRule i : superviseRules) {
List<WeldDto> L = weldDtoPage.getRecords().stream().filter(b -> b.getRegion().equals(i.getAdminRegion())).collect(Collectors.toList());
weldDtoPage.setRecords(L);
}
weld.setCodingStatus(WeldCodeEnum.map.get(weld.getCodingStatus()));
weld.setCodingMethod(WeldMethodEnum.map.get(weld.getCodingMethod()));
}
return weldDtoPage;
// Page<WeldDto> weldDtoPage = this.queryForPage(page, null, false);
//
// for (WeldDto weldDto : weldDtoPage.getRecords()) {
// QueryWrapper<Project> wrapper = new QueryWrapper<>();
// wrapper.eq("sequence_nbr", weldDto.getProjectId());
// Project project = projectMapper.selectOne(wrapper);
// weldDto.setName(project.getName());
//
// QueryWrapper<Project> wrapperUnit = new QueryWrapper<>();
// wrapperUnit.eq("installation_unit_id", weldDto.getInstallCompany());
//
// List<Project> projects = projectMapper.selectList(wrapperUnit);
// for (Project project1 : projects) {
// weldDto.setInstallationUnit(project1.getInstallationUnit());
// weldDto.setCodingStatus(WeldCodeEnum.map.get(weldDto.getCodingStatus()));
// weldDto.setCodingMethod(WeldMethodEnum.map.get(weldDto.getCodingMethod()));
// }
//
// }
//
// //获取登录人信息
// OrgUsr orgUsr = orgService.getOrgUsr();
// //获取登录人企业下的所有焊口
// if (orgUsr.getOrgExpandAttr1().equals(安装单位)) {
//
// List<WeldDto> L = weldDtoPage.getRecords().stream().filter(b -> b.getInstallCompany().equals(orgUsr.getParentId())).collect(Collectors.toList());
// weldDtoPage.setRecords(L);
// }
//
// //根据 所在地 筛选焊口
// if (orgUsr.getOrgExpandAttr1().equals(监察单位)) {
//
// LambdaQueryWrapper<SuperviseRule> wrapper = new LambdaQueryWrapper<>();
// LambdaQueryWrapper<SuperviseRule> eq = wrapper.eq(SuperviseRule::getSuperviseDeptId, orgUsr.getParentId());
// List<SuperviseRule> superviseRules = superviseRuleMapper.selectList(eq);
// for (SuperviseRule i : superviseRules)
// {
//
// List<WeldDto> L = weldDtoPage.getRecords().stream().filter(b -> b.getRegion().equals(i.getAdminRegion())).collect(Collectors.toList());
// weldDtoPage.setRecords(L);
// }
// }
return weldDtoIPage;
}
/**
......
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