岗位:操作时间,机构:委员会编辑,项目合规:查询

This commit is contained in:
11528
2022-03-18 16:39:37 +08:00
parent e917c949fc
commit e7ccb5c4d7
8 changed files with 986 additions and 960 deletions
@@ -1,77 +1,77 @@
package com.adc.da.slrs.sarPosition.controller; package com.adc.da.slrs.sarPosition.controller;
import com.adc.da.http.ResponseMessage; import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result; import com.adc.da.http.Result;
import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO; import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO;
import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarRole.entity.TsRole; import com.adc.da.slrs.sarRole.entity.TsRole;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.adc.da.slrs.sarPosition.entity.TsPosition; import com.adc.da.slrs.sarPosition.entity.TsPosition;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import com.adc.da.base.web.BaseController; import com.adc.da.base.web.BaseController;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
* <p> * <p>
* 前端控制器 * 前端控制器
* </p> * </p>
* *
* @author zyl * @author zyl
* @since 2021-06-23 * @since 2021-06-23
*/ */
@RestController @RestController
@Api(tags = "|岗位管理|") @Api(tags = "|岗位管理|")
@RequestMapping("/api/sarPosition/position") @RequestMapping("/api/sarPosition/position")
public class TsPositionController extends BaseController<TsPosition> { public class TsPositionController extends BaseController<TsPosition> {
@Autowired @Autowired
private ITsPositionService tsPositionService; private ITsPositionService tsPositionService;
/** /**
* 查询岗位(可通过name筛选) * 查询岗位(可通过name筛选)
* @param tsPosition:筛选信息 * @param tsPosition:筛选信息
*/ */
@ApiOperation("查询岗位") @ApiOperation("查询岗位")
@GetMapping @GetMapping
public ResponseMessage<IPage<TsPosition>> getPosition(TsPosition tsPosition){ public ResponseMessage<IPage<TsPosition>> getPosition(TsPosition tsPosition){
IPage<TsPosition> positions=tsPositionService.getPosition(tsPosition); IPage<TsPosition> positions=tsPositionService.getPosition(tsPosition);
return Result.success(positions); return Result.success(positions);
} }
@ApiOperation("新增岗位") @ApiOperation("新增岗位")
@PostMapping @PostMapping
public ResponseMessage<Object> addPosition(@Validated(TsPosition.insert.class) TsPosition tsPosition){ public ResponseMessage<Object> addPosition(@Validated(TsPosition.insert.class) TsPosition tsPosition){
return tsPositionService.addPosition(tsPosition); return tsPositionService.addPosition(tsPosition);
} }
@ApiOperation("配置角色") @ApiOperation("配置角色")
@PostMapping("/role") @PostMapping("/role")
public ResponseMessage<List<TsRole>> setRole(@Valid @RequestBody TsPositionRoleVO tsPositionRoleVO){ public ResponseMessage<List<TsRole>> setRole(@Valid @RequestBody TsPositionRoleVO tsPositionRoleVO){
return tsPositionService.setRole(tsPositionRoleVO); return tsPositionService.setRole(tsPositionRoleVO);
} }
@ApiOperation("查询角色") @ApiOperation("查询角色")
@GetMapping("/role") @GetMapping("/role")
public ResponseMessage<List<TsRole>> getRole(@RequestParam String positionId){ public ResponseMessage<List<TsRole>> getRole(@RequestParam String positionId){
List<TsRole> roles=tsPositionService.getRole(positionId); List<TsRole> roles=tsPositionService.getRole(positionId);
return Result.success(roles); return Result.success(roles);
} }
@ApiOperation("编辑岗位") @ApiOperation("编辑岗位")
@PutMapping @PutMapping
public ResponseMessage<Object> updatePosition(@Validated(TsPosition.update.class) TsPosition tsPosition){ public ResponseMessage<Object> updatePosition(@Validated(TsPosition.update.class) TsPosition tsPosition){
return tsPositionService.updatePosition(tsPosition); return tsPositionService.updatePosition(tsPosition);
} }
@ApiOperation("删除岗位") @ApiOperation("删除岗位")
@DeleteMapping @DeleteMapping
public ResponseMessage<Object> deletePosition(@RequestParam String positionId){ public ResponseMessage<Object> deletePosition(@RequestParam String positionId){
return tsPositionService.deletePosition(positionId); return tsPositionService.deletePosition(positionId);
} }
} }
@@ -1,95 +1,97 @@
package com.adc.da.slrs.sarPosition.entity; package com.adc.da.slrs.sarPosition.entity;
import com.adc.da.base.entity.BaseEntity; import com.adc.da.base.entity.BaseEntity;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import com.adc.da.slrs.sarRole.entity.TsRole; import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.entity.TsUser;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
/** /**
* <p> * <p>
* *
* </p> * </p>
* *
* @author zyl * @author zyl
* @since 2021-06-23 * @since 2021-06-23
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Accessors(chain = true) @Accessors(chain = true)
@ApiModel(value="TsPosition对象", description="") @ApiModel(value="TsPosition对象", description="")
public class TsPosition extends BaseEntity { public class TsPosition extends BaseEntity {
public interface insert{ public interface insert{
} }
public interface update{ public interface update{
} }
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "操作时间") @ApiModelProperty(value = "操作时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp operateTime; private Timestamp operateTime;
@ApiModelProperty(value = "操作人") @ApiModelProperty(value = "操作人")
private String operator; private String operator;
@NotNull(message = "name不能为空",groups = {insert.class}) @NotNull(message = "name不能为空",groups = {insert.class})
@ApiModelProperty(value = "岗位名称") @ApiModelProperty(value = "岗位名称")
private String name; private String name;
@ApiModelProperty(value = "创建部门ID") @ApiModelProperty(value = "创建部门ID")
private String createDeptId; private String createDeptId;
@ApiModelProperty(value = "创建人ID") @ApiModelProperty(value = "创建人ID")
private String createById; private String createById;
@ApiModelProperty(value = "类型(1为导入,2为新建)") @ApiModelProperty(value = "类型(1为导入,2为新建)")
private String type; private String type;
@NotNull(message = "id不能为空",groups = {update.class}) @NotNull(message = "id不能为空",groups = {update.class})
@ApiModelProperty(value = "ID") @ApiModelProperty(value = "ID")
@TableId(value = "id",type = IdType.UUID) @TableId(value = "id",type = IdType.UUID)
private String id; private String id;
@ApiModelProperty(value = "绑定角色") @ApiModelProperty(value = "绑定角色")
@TableField(exist = false) @TableField(exist = false)
private List<TsRole> roles; private List<TsRole> roles;
@TableField(exist = false) @TableField(exist = false)
private List<TsUser> tsUser; private List<TsUser> tsUser;
@ApiModelProperty(value = "操作人中文") @ApiModelProperty(value = "操作人中文")
@TableField(exist = false) @TableField(exist = false)
private String uname; private String uname;
@ApiModelProperty(value = "创建时间") @ApiModelProperty(value = "创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime; private Timestamp createTime;
@TableField(exist = false) @TableField(exist = false)
private Integer current; private Integer current;
@TableField(exist = false) @TableField(exist = false)
private Integer pageSize; private Integer pageSize;
@TableField(exist = false) @TableField(exist = false)
private Integer total; private Integer total;
}
}
@@ -1,77 +1,77 @@
package com.adc.da.slrs.sarPosition.service; package com.adc.da.slrs.sarPosition.service;
import com.adc.da.http.ResponseMessage; import com.adc.da.http.ResponseMessage;
import com.adc.da.slrs.sarPosition.entity.TsPosition; import com.adc.da.slrs.sarPosition.entity.TsPosition;
import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO; import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO;
import com.adc.da.slrs.sarRole.entity.TsRole; import com.adc.da.slrs.sarRole.entity.TsRole;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List; import java.util.List;
/** /**
* <p> * <p>
* 服务类 * 服务类
* </p> * </p>
* *
* @author zyl * @author zyl
* @since 2021-06-23 * @since 2021-06-23
*/ */
public interface ITsPositionService extends IService<TsPosition> { public interface ITsPositionService extends IService<TsPosition> {
/** /**
* 查询岗位 * 查询岗位
* @param tsPosition:查询信息 * @param tsPosition:查询信息
* @return List<TsPosition> * @return List<TsPosition>
*/ */
IPage<TsPosition> getPosition(TsPosition tsPosition); IPage<TsPosition> getPosition(TsPosition tsPosition);
/** /**
* 配置角色 * 配置角色
* @param tsPositionRoleVO :角色ID * @param tsPositionRoleVO :角色ID
* @return ResponseMessage<Object> * @return ResponseMessage<Object>
*/ */
ResponseMessage<List<TsRole>> setRole(TsPositionRoleVO tsPositionRoleVO); ResponseMessage<List<TsRole>> setRole(TsPositionRoleVO tsPositionRoleVO);
/** /**
* 查询角色 * 查询角色
* @param positionId :岗位ID * @param positionId :岗位ID
* @return List<TsRole> * @return List<TsRole>
*/ */
List<TsRole> getRole(String positionId); List<TsRole> getRole(String positionId);
/** /**
* 添加岗位 * 添加岗位
* @param tsPosition:岗位信息 * @param tsPosition:岗位信息
* @return ResponseMessage<Object> * @return ResponseMessage<Object>
*/ */
ResponseMessage<Object> addPosition(TsPosition tsPosition); ResponseMessage<Object> addPosition(TsPosition tsPosition);
/** /**
* 修改岗位 * 修改岗位
* @param tsPosition:岗位信息 * @param tsPosition:岗位信息
* @return ResponseMessage<Object> * @return ResponseMessage<Object>
*/ */
ResponseMessage<Object> updatePosition(TsPosition tsPosition); ResponseMessage<Object> updatePosition(TsPosition tsPosition);
/** /**
* 删除岗位 * 删除岗位
* @param positionId:岗位ID * @param positionId:岗位ID
* @return ResponseMessage<Object> * @return ResponseMessage<Object>
*/ */
ResponseMessage<Object> deletePosition(String positionId); ResponseMessage<Object> deletePosition(String positionId);
/** /**
* 通过岗位列表查询绑定的角色列表 * 通过岗位列表查询绑定的角色列表
* @param positionIds:岗位列表 * @param positionIds:岗位列表
* @return List<String> * @return List<String>
*/ */
List<String> getRoleIdsByPositionIds(List<String> positionIds); List<String> getRoleIdsByPositionIds(List<String> positionIds);
/** /**
* 通过roleId查询岗位ID列表 * 通过roleId查询岗位ID列表
* @param roleId:角色ID * @param roleId:角色ID
* @return List<String> * @return List<String>
*/ */
List<String> getPositionIdsByRoleId(String roleId); List<String> getPositionIdsByRoleId(String roleId);
} }
@@ -1,182 +1,192 @@
package com.adc.da.slrs.sarPosition.service.impl; package com.adc.da.slrs.sarPosition.service.impl;
import com.adc.da.http.ResponseMessage; import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result; import com.adc.da.http.Result;
import com.adc.da.slrs.sarPosition.entity.TsPosition; import com.adc.da.slrs.sarPosition.entity.TsPosition;
import com.adc.da.slrs.sarPosition.dao.TsPositionDao; import com.adc.da.slrs.sarPosition.dao.TsPositionDao;
import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO; import com.adc.da.slrs.sarPosition.entity.TsPositionRoleVO;
import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarPosition.service.ITsPositionService;
import com.adc.da.slrs.sarRole.entity.TsRole; import com.adc.da.slrs.sarRole.entity.TsRole;
import com.adc.da.utils.util.ListUtil; import com.adc.da.utils.util.ListUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.management.relation.Role;
import javax.xml.crypto.Data; import javax.management.relation.Role;
import java.sql.Timestamp; import javax.xml.crypto.Data;
import java.util.Date; import java.sql.Timestamp;
import java.util.List; import java.util.Date;
import java.util.Map; import java.util.List;
import java.util.Map;
/**
* <p> /**
* 服务实现类 * <p>
* </p> * 服务实现类
* * </p>
* @author zyl *
* @since 2021-06-23 * @author zyl
*/ * @since 2021-06-23
@Service */
public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition> implements ITsPositionService { @Service
@Autowired public class TsPositionServiceImpl extends ServiceImpl<TsPositionDao, TsPosition> implements ITsPositionService {
private TsPositionDao tsPositionDao; @Autowired
private TsPositionDao tsPositionDao;
/**
* 查询岗位 /**
* @param tsPosition:查询信息 * 查询岗位
* @return List<TsPosition> * @param tsPosition:查询信息
*/ * @return List<TsPosition>
@Override */
public IPage<TsPosition> getPosition(TsPosition tsPosition) { @Override
IPage page=new Page(); public IPage<TsPosition> getPosition(TsPosition tsPosition) {
// page.setTotal(tsPositionDao.pageTotal()); IPage page=new Page();
page.setTotal(tsPositionDao.countPositionAndRole(tsPosition)); // page.setTotal(tsPositionDao.pageTotal());
List<TsPosition> list = tsPositionDao.selectPositionAndRole(tsPosition); page.setTotal(tsPositionDao.countPositionAndRole(tsPosition));
for (TsPosition tsPositions:list){ List<TsPosition> list = tsPositionDao.selectPositionAndRole(tsPosition);
tsPositions.getTsUser().forEach(res->{ for (TsPosition tsPositions:list){
tsPositions.setOperator(res.getUname()); tsPositions.getTsUser().forEach(res->{
}); tsPositions.setOperator(res.getUname());
} });
page.setRecords(list); }
page.setTotal(page.getTotal()); page.setRecords(list);
page.setCurrent(tsPosition.getCurrent()); page.setTotal(page.getTotal());
page.setSize(tsPosition.getPageSize()); page.setCurrent(tsPosition.getCurrent());
System.out.println(page.getTotal()); page.setSize(tsPosition.getPageSize());
System.out.println(page.getTotal());
return page;
} return page;
}
/**
* 配置角色 /**
* @param tsPositionRoleVO :角色ID * 配置角色
* @return ResponseMessage<Object> * @param tsPositionRoleVO :角色ID
*/ * @return ResponseMessage<Object>
@Override */
@Transactional @Override
public ResponseMessage<List<TsRole>> setRole(TsPositionRoleVO tsPositionRoleVO) { @Transactional
TsPosition position=tsPositionDao.selectById(tsPositionRoleVO.getPositionId()); public ResponseMessage<List<TsRole>> setRole(TsPositionRoleVO tsPositionRoleVO) {
if(position==null){ TsPosition position=tsPositionDao.selectById(tsPositionRoleVO.getPositionId());
return Result.error("该岗位不存在"); if(position==null){
} return Result.error("该岗位不存在");
List<String> oldRoleIds=tsPositionDao.getRoleId(tsPositionRoleVO.getPositionId()); }
Map<String,List<String>> updateRoleIds= ListUtil.difList(tsPositionRoleVO.getRoleIds(),oldRoleIds); List<String> oldRoleIds=tsPositionDao.getRoleId(tsPositionRoleVO.getPositionId());
List<String> insertIds=updateRoleIds.get("insert"); Map<String,List<String>> updateRoleIds= ListUtil.difList(tsPositionRoleVO.getRoleIds(),oldRoleIds);
List<String> deleteIds=updateRoleIds.get("delete"); List<String> insertIds=updateRoleIds.get("insert");
for(String id:insertIds){ List<String> deleteIds=updateRoleIds.get("delete");
tsPositionDao.insertRole(tsPositionRoleVO.getPositionId(),id); TsPosition tsPosition = new TsPosition();
} UpdateWrapper<TsPosition> updateWrapper = new UpdateWrapper<>();
for(String id:deleteIds){ for(String id:insertIds){
tsPositionDao.deleteRole(tsPositionRoleVO.getPositionId(),id); tsPositionDao.insertRole(tsPositionRoleVO.getPositionId(),id);
} updateWrapper.eq("id", tsPositionRoleVO.getPositionId());
List<TsRole> roles=getRole(tsPositionRoleVO.getPositionId()); tsPosition.setOperateTime(new Timestamp(System.currentTimeMillis()));
return Result.success(roles); baseMapper.update(tsPosition,updateWrapper);
} }
for(String id:deleteIds){
/** tsPositionDao.deleteRole(tsPositionRoleVO.getPositionId(),id);
* 查询角色 updateWrapper.eq("id", tsPositionRoleVO.getPositionId());
* @param positionId :岗位ID tsPosition.setOperateTime(new Timestamp(System.currentTimeMillis()));
* @return List<TsRole> baseMapper.update(tsPosition,updateWrapper);
*/ }
@Override List<TsRole> roles=getRole(tsPositionRoleVO.getPositionId());
public List<TsRole> getRole(String positionId) { return Result.success(roles);
return tsPositionDao.getRole(positionId); }
}
/**
/** * 查询角色
* 添加岗位 * @param positionId :岗位ID
* @param tsPosition:岗位信息 * @return List<TsRole>
* @return ResponseMessage<Object> */
*/ @Override
@Override public List<TsRole> getRole(String positionId) {
public ResponseMessage<Object> addPosition(TsPosition tsPosition) { return tsPositionDao.getRole(positionId);
QueryWrapper<TsPosition> positionQueryWrapper=new QueryWrapper<>(); }
positionQueryWrapper.eq("name",tsPosition.getName());
List<TsPosition> tsPositions=tsPositionDao.selectList(positionQueryWrapper); /**
if(tsPositions!=null&&tsPositions.size()>0){ * 添加岗位
return Result.error("该岗位已存在"); * @param tsPosition:岗位信息
} * @return ResponseMessage<Object>
//设置操作时间为当前系统时间 */
tsPosition.setOperateTime(new Timestamp(System.currentTimeMillis())); @Override
tsPosition.setType("2"); public ResponseMessage<Object> addPosition(TsPosition tsPosition) {
tsPositionDao.insert(tsPosition); QueryWrapper<TsPosition> positionQueryWrapper=new QueryWrapper<>();
return Result.success(); positionQueryWrapper.eq("name",tsPosition.getName());
} List<TsPosition> tsPositions=tsPositionDao.selectList(positionQueryWrapper);
if(tsPositions!=null&&tsPositions.size()>0){
/** return Result.error("该岗位已存在");
* 修改岗位 }
* @param tsPosition:岗位信息 //设置操作时间为当前系统时间
* @return ResponseMessage<Object> tsPosition.setOperateTime(new Timestamp(System.currentTimeMillis()));
*/ tsPosition.setType("2");
@Override tsPositionDao.insert(tsPosition);
public ResponseMessage<Object> updatePosition(TsPosition tsPosition) { return Result.success();
TsPosition oldPosition=tsPositionDao.selectById(tsPosition.getId()); }
if(oldPosition==null){
return Result.error("该岗位不存在"); /**
} * 修改岗位
if(!oldPosition.getType().equals("2")){ * @param tsPosition:岗位信息
return Result.error("该岗位不可修改"); * @return ResponseMessage<Object>
} */
tsPositionDao.updateById(tsPosition); @Override
return Result.success(); public ResponseMessage<Object> updatePosition(TsPosition tsPosition) {
} TsPosition oldPosition=tsPositionDao.selectById(tsPosition.getId());
if(oldPosition==null){
/** return Result.error("该岗位不存在");
* 删除岗位 }
* @param positionId:岗位ID if(!oldPosition.getType().equals("2")){
* @return ResponseMessage<Object> return Result.error("该岗位不可修改");
*/ }
@Override tsPosition.setOperateTime(new Timestamp(System.currentTimeMillis()));
public ResponseMessage<Object> deletePosition(String positionId) { tsPositionDao.updateById(tsPosition);
TsPosition oldPosition=tsPositionDao.selectById(positionId); return Result.success();
if(oldPosition==null){ }
return Result.error("该岗位不存在");
} /**
if(!oldPosition.getType().equals("2")){ * 删除岗位
return Result.error("该岗位不可删除"); * @param positionId:岗位ID
} * @return ResponseMessage<Object>
List<String> roleIds=tsPositionDao.getRoleId(positionId); */
if(roleIds!=null&&roleIds.size()>0){ @Override
return Result.error("该岗位已绑定角色,无法删除"); public ResponseMessage<Object> deletePosition(String positionId) {
} TsPosition oldPosition=tsPositionDao.selectById(positionId);
tsPositionDao.deleteById(positionId); if(oldPosition==null){
return Result.success(); return Result.error("该岗位不存在");
} }
if(!oldPosition.getType().equals("2")){
/** return Result.error("该岗位不可删除");
* 通过岗位列表查询绑定的角色列表 }
* @param positionIds:岗位列表 List<String> roleIds=tsPositionDao.getRoleId(positionId);
* @return List<String> if(roleIds!=null&&roleIds.size()>0){
*/ return Result.error("该岗位已绑定角色,无法删除");
@Override }
public List<String> getRoleIdsByPositionIds(List<String> positionIds) { tsPositionDao.deleteById(positionId);
if(positionIds!=null&&positionIds.size()>0){ return Result.success();
return tsPositionDao.getRoleIdsByPositionIds(positionIds); }
}
return null; /**
} * 通过岗位列表查询绑定的角色列表
* @param positionIds:岗位列表
/** * @return List<String>
* 通过roleId查询岗位ID列表 */
* @param roleId:角色ID @Override
* @return List<String> public List<String> getRoleIdsByPositionIds(List<String> positionIds) {
*/ if(positionIds!=null&&positionIds.size()>0){
@Override return tsPositionDao.getRoleIdsByPositionIds(positionIds);
public List<String> getPositionIdsByRoleId(String roleId) { }
return tsPositionDao.getPositionIdsByRoleId(roleId); return null;
} }
}
/**
* 通过roleId查询岗位ID列表
* @param roleId:角色ID
* @return List<String>
*/
@Override
public List<String> getPositionIdsByRoleId(String roleId) {
return tsPositionDao.getPositionIdsByRoleId(roleId);
}
}
@@ -1,341 +1,341 @@
package com.adc.da.slrs.sarStandardComplianceAssessResult.controller; package com.adc.da.slrs.sarStandardComplianceAssessResult.controller;
import com.adc.da.http.ResponseMessage; import com.adc.da.http.ResponseMessage;
import com.adc.da.http.Result; import com.adc.da.http.Result;
import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.*; import com.adc.da.slrs.sarStandardComplianceAssessResult.entity.*;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationForeignStandardService; import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationForeignStandardService;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationNationalStandardService; import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarInterpretationNationalStandardService;
import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarStandardComplianceProductAssessService; import com.adc.da.slrs.sarStandardComplianceAssessResult.service.ISarStandardComplianceProductAssessService;
import com.adc.da.util.UUIDUtils; import com.adc.da.util.UUIDUtils;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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 io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.*; import java.util.*;
/** /**
* <p> * <p>
* 标准法规准入清单详情表 前端控制器 * 标准法规准入清单详情表 前端控制器
* </p> * </p>
* *
* @author super_liu * @author super_liu
* @since 2021-06-02 * @since 2021-06-02
*/ */
@RestController @RestController
@Api(tags = "福田标准法规--标准法规库--标准合规评估结果") @Api(tags = "福田标准法规--标准法规库--标准合规评估结果")
@RequestMapping("/${restPath}/sarStandardComplianceAssessResult") @RequestMapping("/${restPath}/sarStandardComplianceAssessResult")
public class SarStandardComplianceAssessResultController { public class SarStandardComplianceAssessResultController {
private static final Logger logger = LoggerFactory.getLogger(SarStandardComplianceAssessResultController.class); private static final Logger logger = LoggerFactory.getLogger(SarStandardComplianceAssessResultController.class);
@Autowired @Autowired
private ISarStandardComplianceProductAssessService iSarStandardComplianceProductAssessService; private ISarStandardComplianceProductAssessService iSarStandardComplianceProductAssessService;
@Autowired @Autowired
private ISarInterpretationForeignStandardService iSarInterpretationForeignStandardService; private ISarInterpretationForeignStandardService iSarInterpretationForeignStandardService;
@Autowired @Autowired
private ISarInterpretationNationalStandardService iSarInterpretationNationalStandardService; private ISarInterpretationNationalStandardService iSarInterpretationNationalStandardService;
@ApiOperation(value = "条件查询标准清单") @ApiOperation(value = "条件查询标准清单")
@GetMapping("/standard") @GetMapping("/standard")
public ResponseMessage<Object> selectStandard(SarStandardsInfoEO eo) throws Exception { public ResponseMessage<Object> selectStandard(SarStandardsInfoEO eo) throws Exception {
if (eo.getStandApplicationType() == 1) { if (eo.getStandApplicationType() == 1) {
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>(); QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>();
IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize()); IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize());
queryWrapper.select(" STAND_ID,ANY_VALUE(STAND_NUMBER) as STAND_NUMBER, STAND_NAME, STAND_TYPE"); queryWrapper.select(" STAND_ID,ANY_VALUE(STAND_NUMBER) as STAND_NUMBER, STAND_NAME, STAND_TYPE");
if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) { if (eo.getStandName() != null ) {
queryWrapper.like("STAND_NAME", eo.getStandName().trim()); queryWrapper.like("STAND_NAME", eo.getStandName().replace(" ",""));
} }
if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) { if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) {
queryWrapper.like("STAND_NUMBER", eo.getStandNumber().trim()); queryWrapper.like("STAND_NUMBER", eo.getStandNumber().trim());
} }
if (eo.getType() != null && !eo.getType().trim().equals("")) { if (eo.getType() != null && !eo.getType().trim().equals("")) {
queryWrapper.like("type", eo.getType().trim()); queryWrapper.like("type", eo.getType().trim());
} }
queryWrapper.groupBy("STAND_ID,STAND_NAME,STAND_TYPE"); queryWrapper.groupBy("STAND_ID,STAND_NAME,STAND_TYPE");
IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper); IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper);
while (page.getRecords().remove(null)) ; while (page.getRecords().remove(null)) ;
return Result.success(page); return Result.success(page);
} else { } else {
if (eo.getPosition() == 1) { if (eo.getPosition() == 1) {
QueryWrapper<SarInterpretationNationalStandard> queryWrapper = new QueryWrapper<>(); QueryWrapper<SarInterpretationNationalStandard> queryWrapper = new QueryWrapper<>();
IPage<SarInterpretationNationalStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize()); IPage<SarInterpretationNationalStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE, INTERPRETATION_TIME,risk_degree"); queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE, INTERPRETATION_TIME,risk_degree");
if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) { if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) {
queryWrapper.like("STAND_NAME", eo.getStandName().trim()); queryWrapper.like("STAND_NAME", eo.getStandName().trim());
} }
if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) { if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) {
queryWrapper.like("STAND_NUMBER", eo.getStandNumber().trim()); queryWrapper.like("STAND_NUMBER", eo.getStandNumber().trim());
} }
IPage<SarInterpretationNationalStandard> page = iSarInterpretationNationalStandardService.page(iPage, queryWrapper); IPage<SarInterpretationNationalStandard> page = iSarInterpretationNationalStandardService.page(iPage, queryWrapper);
while (page.getRecords().remove(null)) ; while (page.getRecords().remove(null)) ;
return Result.success(page); return Result.success(page);
} else { } else {
QueryWrapper<SarInterpretationForeignStandard> queryWrapper = new QueryWrapper<>(); QueryWrapper<SarInterpretationForeignStandard> queryWrapper = new QueryWrapper<>();
IPage<SarInterpretationForeignStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize()); IPage<SarInterpretationForeignStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE, INTERPRETATION_TIME"); queryWrapper.select("distinct STAND_ID, STAND_NUMBER, STAND_NAME, STAND_TYPE, INTERPRETATION_TIME");
if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) { if (eo.getStandName() != null && !eo.getStandName().trim().equals("")) {
queryWrapper.like("STAND_NAME", eo.getStandName().trim()); queryWrapper.like("STAND_NAME", eo.getStandName().trim());
} }
if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) { if (eo.getStandNumber() != null && !eo.getStandNumber().trim().equals("")) {
queryWrapper.like("STAND_NUMBER", eo.getStandNumber().trim()); queryWrapper.like("STAND_NUMBER", eo.getStandNumber().trim());
} }
IPage<SarInterpretationForeignStandard> page = iSarInterpretationForeignStandardService.page(iPage, queryWrapper); IPage<SarInterpretationForeignStandard> page = iSarInterpretationForeignStandardService.page(iPage, queryWrapper);
while(page.getRecords().remove(null)); while(page.getRecords().remove(null));
return Result.success(page); return Result.success(page);
} }
} }
} }
private static class InsertEntity<T>{ private static class InsertEntity<T>{
List<Map> entityList; List<Map> entityList;
T eo; T eo;
} }
@ApiOperation(value = "(插入/更新)标准清单") @ApiOperation(value = "(插入/更新)标准清单")
@PostMapping("/standard") @PostMapping("/standard")
public ResponseMessage insertStandard(@RequestBody InsertEntity<SarStandardsInfoEO> insertEntity) throws InvocationTargetException, IllegalAccessException { public ResponseMessage insertStandard(@RequestBody InsertEntity<SarStandardsInfoEO> insertEntity) throws InvocationTargetException, IllegalAccessException {
SarStandardsInfoEO eo = insertEntity.eo; SarStandardsInfoEO eo = insertEntity.eo;
if (eo.getStandApplicationType() == 1) { if (eo.getStandApplicationType() == 1) {
List<SarStandardComplianceProductAssess> entityList = new ArrayList<>(); List<SarStandardComplianceProductAssess> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) { for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarStandardComplianceProductAssess obj = new SarStandardComplianceProductAssess(); SarStandardComplianceProductAssess obj = new SarStandardComplianceProductAssess();
BeanUtils.populate(obj, insertEntity.entityList.get(i)); BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj); entityList.add(obj);
} }
iSarStandardComplianceProductAssessService.saveOrUpdateBatch(entityList); iSarStandardComplianceProductAssessService.saveOrUpdateBatch(entityList);
} else { } else {
if (eo.getPosition() == 1) { if (eo.getPosition() == 1) {
List<SarInterpretationNationalStandard> entityList = new ArrayList<>(); List<SarInterpretationNationalStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) { for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationNationalStandard obj = new SarInterpretationNationalStandard(); SarInterpretationNationalStandard obj = new SarInterpretationNationalStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i)); BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj); entityList.add(obj);
} }
iSarInterpretationNationalStandardService.saveOrUpdateBatch(entityList); iSarInterpretationNationalStandardService.saveOrUpdateBatch(entityList);
}else{ }else{
List<SarInterpretationForeignStandard> entityList = new ArrayList<>(); List<SarInterpretationForeignStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) { for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationForeignStandard obj = new SarInterpretationForeignStandard(); SarInterpretationForeignStandard obj = new SarInterpretationForeignStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i)); BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj); entityList.add(obj);
} }
iSarInterpretationForeignStandardService.saveOrUpdateBatch(entityList); iSarInterpretationForeignStandardService.saveOrUpdateBatch(entityList);
} }
} }
return Result.success(); return Result.success();
} }
@ApiOperation(value = "条件查询标准涉及项目符合性清单") @ApiOperation(value = "条件查询标准涉及项目符合性清单")
@GetMapping("/product") @GetMapping("/product")
public ResponseMessage<IPage<SarStandardComplianceProductAssess>> selectProduct(SarStandardComplianceProductAssessEO eo) throws Exception { public ResponseMessage<IPage<SarStandardComplianceProductAssess>> selectProduct(SarStandardComplianceProductAssessEO eo) throws Exception {
IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize()); IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>(); QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>();
if (eo.getType() != null) queryWrapper.eq("type", eo.getType()); if (eo.getType() != null) queryWrapper.eq("type", eo.getType());
if (eo.getProductName() != null) queryWrapper.like("product_name", eo.getProductName()); if (eo.getProductName() != null) queryWrapper.like("product_name", eo.getProductName());
if (eo.getProductId() != null) queryWrapper.like("product_id", eo.getProductId()); if (eo.getProductId() != null) queryWrapper.like("product_id", eo.getProductId());
queryWrapper.orderByAsc("product_name"); queryWrapper.orderByAsc("product_name");
queryWrapper.orderByAsc("standard_item"); queryWrapper.orderByAsc("standard_item");
// if (eo.getInterpretationTime() != null) queryWrapper.eq("INTERPRETATION_TIME", eo.getInterpretationTime()); // if (eo.getInterpretationTime() != null) queryWrapper.eq("INTERPRETATION_TIME", eo.getInterpretationTime());
IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper); IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper);
return Result.success(page); return Result.success(page);
} }
@ApiOperation(value = "标准涉及项目复合性详情") @ApiOperation(value = "标准涉及项目复合性详情")
@GetMapping("/productNewDetail") @GetMapping("/productNewDetail")
public ResponseMessage<Map<String,IPage<SarStandardComplianceProductAssess>>> selectProductDetail(SarStandardComplianceProductAssessEO eo) throws Exception { public ResponseMessage<Map<String,IPage<SarStandardComplianceProductAssess>>> selectProductDetail(SarStandardComplianceProductAssessEO eo) throws Exception {
IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize()); IPage<SarStandardComplianceProductAssess> iPage = new Page<>(eo.getCurrent(), eo.getSize());
Map<String,IPage<SarStandardComplianceProductAssess>> map=new HashMap<>(); Map<String,IPage<SarStandardComplianceProductAssess>> map=new HashMap<>();
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>(); QueryWrapper<SarStandardComplianceProductAssess> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("STAND_ID", eo.getStandId()); queryWrapper.eq("STAND_ID", eo.getStandId());
queryWrapper.eq("product_id", eo.getProductId()); queryWrapper.eq("product_id", eo.getProductId());
queryWrapper.and(sarStandardComplianceProductAssessQueryWrapper -> sarStandardComplianceProductAssessQueryWrapper.eq("no_involve","").or().isNull("no_involve")); queryWrapper.and(sarStandardComplianceProductAssessQueryWrapper -> sarStandardComplianceProductAssessQueryWrapper.eq("no_involve","").or().isNull("no_involve"));
queryWrapper.isNotNull("research_completion_time"); queryWrapper.isNotNull("research_completion_time");
queryWrapper.orderByAsc("product_name"); queryWrapper.orderByAsc("product_name");
queryWrapper.orderByAsc("standard_item"); queryWrapper.orderByAsc("standard_item");
Page p1=new Page(); Page p1=new Page();
IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper); IPage<SarStandardComplianceProductAssess> page = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper);
BeanUtils.copyProperties(page,p1); BeanUtils.copyProperties(page,p1);
p1.setRecords(orderUtils(page.getRecords())); p1.setRecords(orderUtils(page.getRecords()));
p1.setTotal(page.getTotal()); p1.setTotal(page.getTotal());
map.put("unfit",p1); map.put("unfit",p1);
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper1 = new QueryWrapper<>(); QueryWrapper<SarStandardComplianceProductAssess> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("STAND_ID", eo.getStandId()); queryWrapper1.eq("STAND_ID", eo.getStandId());
queryWrapper1.eq("product_id", eo.getProductId()); queryWrapper1.eq("product_id", eo.getProductId());
queryWrapper1.and(sarStandardComplianceProductAssessQueryWrapper -> sarStandardComplianceProductAssessQueryWrapper.ne("research_compliance","").or().isNotNull("research_compliance")); queryWrapper1.and(sarStandardComplianceProductAssessQueryWrapper -> sarStandardComplianceProductAssessQueryWrapper.ne("research_compliance","").or().isNotNull("research_compliance"));
queryWrapper1.orderByAsc("product_name"); queryWrapper1.orderByAsc("product_name");
queryWrapper1.orderByAsc("standard_item"); queryWrapper1.orderByAsc("standard_item");
IPage<SarStandardComplianceProductAssess> page1 = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper1); IPage<SarStandardComplianceProductAssess> page1 = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper1);
Page p2=new Page(); Page p2=new Page();
BeanUtils.copyProperties(page1,p2); BeanUtils.copyProperties(page1,p2);
p2.setRecords(orderUtils(page1.getRecords())); p2.setRecords(orderUtils(page1.getRecords()));
p2.setTotal(page1.getTotal()); p2.setTotal(page1.getTotal());
map.put("fit",p2); map.put("fit",p2);
QueryWrapper<SarStandardComplianceProductAssess> queryWrapper2 = new QueryWrapper<>(); QueryWrapper<SarStandardComplianceProductAssess> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("STAND_ID", eo.getStandId()); queryWrapper2.eq("STAND_ID", eo.getStandId());
queryWrapper2.eq("product_id", eo.getProductId()); queryWrapper2.eq("product_id", eo.getProductId());
queryWrapper2.and(sarStandardComplianceProductAssessQueryWrapper -> sarStandardComplianceProductAssessQueryWrapper.ne("no_involve","").and(sarStandardComplianceProductAssessQueryWrapper1 -> sarStandardComplianceProductAssessQueryWrapper1.isNotNull("no_involve"))); queryWrapper2.and(sarStandardComplianceProductAssessQueryWrapper -> sarStandardComplianceProductAssessQueryWrapper.ne("no_involve","").and(sarStandardComplianceProductAssessQueryWrapper1 -> sarStandardComplianceProductAssessQueryWrapper1.isNotNull("no_involve")));
queryWrapper2.orderByAsc("product_name"); queryWrapper2.orderByAsc("product_name");
queryWrapper2.orderByAsc("standard_item"); queryWrapper2.orderByAsc("standard_item");
IPage<SarStandardComplianceProductAssess> page2 = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper2); IPage<SarStandardComplianceProductAssess> page2 = iSarStandardComplianceProductAssessService.page(iPage, queryWrapper2);
page2.setRecords(orderUtils(page2.getRecords())); page2.setRecords(orderUtils(page2.getRecords()));
map.put("noFit",page2); map.put("noFit",page2);
return Result.success(map); return Result.success(map);
} }
private List<SarStandardComplianceProductAssess> orderUtils(List<SarStandardComplianceProductAssess> sarStandardCompliance){ private List<SarStandardComplianceProductAssess> orderUtils(List<SarStandardComplianceProductAssess> sarStandardCompliance){
Map<Integer,List<SarStandardComplianceProductAssess>> stringMap=new HashMap<>(); Map<Integer,List<SarStandardComplianceProductAssess>> stringMap=new HashMap<>();
List<Integer> orderKey=new ArrayList<>(); List<Integer> orderKey=new ArrayList<>();
for (SarStandardComplianceProductAssess s:sarStandardCompliance) { for (SarStandardComplianceProductAssess s:sarStandardCompliance) {
if (null!=s.getStandardItem()) { if (null!=s.getStandardItem()) {
String[] as=(s.getStandardItem()+",").split(","); String[] as=(s.getStandardItem()+",").split(",");
if (orderKey.contains(Integer.valueOf(as[0].trim().toString()))) { if (orderKey.contains(Integer.valueOf(as[0].trim().toString()))) {
stringMap.get(Integer.valueOf(as[0].trim().toString())).add(s); stringMap.get(Integer.valueOf(as[0].trim().toString())).add(s);
} else { } else {
orderKey.add(Integer.valueOf(as[0].trim().toString())); orderKey.add(Integer.valueOf(as[0].trim().toString()));
List<SarStandardComplianceProductAssess> assesses2 = new ArrayList<>(); List<SarStandardComplianceProductAssess> assesses2 = new ArrayList<>();
assesses2.add(s); assesses2.add(s);
stringMap.put(Integer.valueOf(as[0].trim().toString()), assesses2); stringMap.put(Integer.valueOf(as[0].trim().toString()), assesses2);
} }
}else { }else {
if (null!=stringMap.get(0)) { if (null!=stringMap.get(0)) {
stringMap.get(0).add(s); stringMap.get(0).add(s);
}else { }else {
List<SarStandardComplianceProductAssess> assesses = new ArrayList<>(); List<SarStandardComplianceProductAssess> assesses = new ArrayList<>();
assesses.add(s); assesses.add(s);
stringMap.put(0,assesses); stringMap.put(0,assesses);
orderKey.add(0); orderKey.add(0);
} }
} }
} }
Collections.sort(orderKey,(o1, o2) -> { Collections.sort(orderKey,(o1, o2) -> {
return (o1 -o2); return (o1 -o2);
}); });
List<SarStandardComplianceProductAssess> res=new ArrayList<>(); List<SarStandardComplianceProductAssess> res=new ArrayList<>();
orderKey.forEach(integer -> { orderKey.forEach(integer -> {
res.addAll(stringMap.get(integer)); res.addAll(stringMap.get(integer));
}); });
return res; return res;
} }
@ApiOperation(value = "标准涉及项目复合性") @ApiOperation(value = "标准涉及项目复合性")
@GetMapping("/productNew") @GetMapping("/productNew")
public ResponseMessage<IPage<unCountDTO>> selectProduct(unCountDTO eo) throws Exception { public ResponseMessage<IPage<unCountDTO>> selectProduct(unCountDTO eo) throws Exception {
Page iPage = new Page<>(); Page iPage = new Page<>();
iPage.setCurrent(eo.getCurrent()); iPage.setCurrent(eo.getCurrent());
iPage.setSize(eo.getSize()); iPage.setSize(eo.getSize());
IPage<unCountDTO> page = iSarStandardComplianceProductAssessService.selectPages(iPage, eo); IPage<unCountDTO> page = iSarStandardComplianceProductAssessService.selectPages(iPage, eo);
return Result.success(page); return Result.success(page);
} }
@ApiOperation(value = "插入标准涉及项目符合性清单") @ApiOperation(value = "插入标准涉及项目符合性清单")
@PostMapping("/add") @PostMapping("/add")
public ResponseMessage insertProduct(@RequestBody List<SarStandardComplianceProductAssess> eo) throws Exception { public ResponseMessage insertProduct(@RequestBody List<SarStandardComplianceProductAssess> eo) throws Exception {
eo.forEach(sarStandardComplianceProductAssess -> { eo.forEach(sarStandardComplianceProductAssess -> {
sarStandardComplianceProductAssess.setId(UUIDUtils.randomUUID(32)); sarStandardComplianceProductAssess.setId(UUIDUtils.randomUUID(32));
sarStandardComplianceProductAssess.setInterpretationTime(new Date()); sarStandardComplianceProductAssess.setInterpretationTime(new Date());
}); });
iSarStandardComplianceProductAssessService.saveBatch(eo); iSarStandardComplianceProductAssessService.saveBatch(eo);
return Result.success(); return Result.success();
} }
@ApiOperation(value = "条件查询技术审核符合性清单") @ApiOperation(value = "条件查询技术审核符合性清单")
@GetMapping("/interpretation") @GetMapping("/interpretation")
public ResponseMessage<Object> selectNationalStandard(InterpretationEO eo) throws Exception { public ResponseMessage<Object> selectNationalStandard(InterpretationEO eo) throws Exception {
if (eo.getPosition() == 1) { if (eo.getPosition() == 1) {
IPage<SarInterpretationNationalStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize()); IPage<SarInterpretationNationalStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
List<SarInterpretationNationalStandard> standards=iSarInterpretationNationalStandardService.getAllDatas(eo); List<SarInterpretationNationalStandard> standards=iSarInterpretationNationalStandardService.getAllDatas(eo);
Integer datasCount=iSarInterpretationNationalStandardService.getAllDatasCount(eo); Integer datasCount=iSarInterpretationNationalStandardService.getAllDatasCount(eo);
iPage.setTotal(datasCount); iPage.setTotal(datasCount);
iPage.setRecords(standards); iPage.setRecords(standards);
while (iPage.getRecords().remove(null)) ; while (iPage.getRecords().remove(null)) ;
return Result.success(iPage); return Result.success(iPage);
} else { } else {
IPage<SarInterpretationForeignStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize()); IPage<SarInterpretationForeignStandard> iPage = new Page<>(eo.getCurrent(), eo.getSize());
QueryWrapper<SarInterpretationForeignStandard> queryWrapper = new QueryWrapper<>(); QueryWrapper<SarInterpretationForeignStandard> queryWrapper = new QueryWrapper<>();
//如果查询条件里标准编号不为空,查询 //如果查询条件里标准编号不为空,查询
if (eo.getStandNumber() != null) queryWrapper.like("STAND_NUMBER",eo.getStandNumber()); if (eo.getStandNumber() != null) queryWrapper.like("STAND_NUMBER",eo.getStandNumber());
//如果查询条件里标准名称不为空,查询 //如果查询条件里标准名称不为空,查询
if (eo.getStandName() != null) queryWrapper.like("STAND_NAME",eo.getStandName()); if (eo.getStandName() != null) queryWrapper.like("STAND_NAME",eo.getStandName());
//如果查询条件里具体章条不为空,查询 //如果查询条件里具体章条不为空,查询
if (eo.getSpecificItem() != null) queryWrapper.like("specific_item",eo.getSpecificItem()); if (eo.getSpecificItem() != null) queryWrapper.like("specific_item",eo.getSpecificItem());
if (eo.getInterpretationTime() != null) queryWrapper.eq("INTERPRETATION_TIME", eo.getInterpretationTime()); if (eo.getInterpretationTime() != null) queryWrapper.eq("INTERPRETATION_TIME", eo.getInterpretationTime());
if (eo.getStandId() != null) queryWrapper.eq("STAND_ID", eo.getStandId()); if (eo.getStandId() != null) queryWrapper.eq("STAND_ID", eo.getStandId());
IPage<SarInterpretationForeignStandard> page = iSarInterpretationForeignStandardService.page(iPage, queryWrapper); IPage<SarInterpretationForeignStandard> page = iSarInterpretationForeignStandardService.page(iPage, queryWrapper);
while (page.getRecords().remove(null)) ; while (page.getRecords().remove(null)) ;
return Result.success(page); return Result.success(page);
} }
} }
@ApiOperation(value = "插入技术审核符合性清单") @ApiOperation(value = "插入技术审核符合性清单")
@PostMapping("/interpretation") @PostMapping("/interpretation")
public ResponseMessage insertInterpretation(InsertEntity<InterpretationEO> insertEntity) throws Exception { public ResponseMessage insertInterpretation(InsertEntity<InterpretationEO> insertEntity) throws Exception {
InterpretationEO eo = insertEntity.eo; InterpretationEO eo = insertEntity.eo;
if (eo.getPosition() == 1) { if (eo.getPosition() == 1) {
List<SarInterpretationNationalStandard> entityList = new ArrayList<>(); List<SarInterpretationNationalStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) { for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationNationalStandard obj = new SarInterpretationNationalStandard(); SarInterpretationNationalStandard obj = new SarInterpretationNationalStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i)); BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj); entityList.add(obj);
} }
iSarInterpretationNationalStandardService.saveOrUpdateBatch(entityList); iSarInterpretationNationalStandardService.saveOrUpdateBatch(entityList);
} else { } else {
List<SarInterpretationForeignStandard> entityList = new ArrayList<>(); List<SarInterpretationForeignStandard> entityList = new ArrayList<>();
for (int i = 0; i < insertEntity.entityList.size(); i++) { for (int i = 0; i < insertEntity.entityList.size(); i++) {
SarInterpretationForeignStandard obj = new SarInterpretationForeignStandard(); SarInterpretationForeignStandard obj = new SarInterpretationForeignStandard();
BeanUtils.populate(obj, insertEntity.entityList.get(i)); BeanUtils.populate(obj, insertEntity.entityList.get(i));
entityList.add(obj); entityList.add(obj);
} }
iSarInterpretationForeignStandardService.saveOrUpdateBatch(entityList); iSarInterpretationForeignStandardService.saveOrUpdateBatch(entityList);
} }
return Result.success(); return Result.success();
} }
} }
@@ -1,26 +1,29 @@
package com.adc.da.slrs.wgCommittee.dao; package com.adc.da.slrs.wgCommittee.dao;
import com.adc.da.slrs.wgCommittee.entity.WgCommittee; import com.adc.da.slrs.wgCommittee.entity.WgCommittee;
import com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO; import com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.List;
/**
* <p> /**
* 标准委员会 Mapper 接口 * <p>
* </p> * 标准委员会 Mapper 接口
* * </p>
* @author yzh *
* @since 2022-03-10 * @author yzh
*/ * @since 2022-03-10
public interface WgCommitteeDao extends BaseMapper<WgCommittee> { */
public interface WgCommitteeDao extends BaseMapper<WgCommittee> {
List<WgCommitteeDTO> getData(WgCommittee wgCommittee);
Integer getDataCount(WgCommittee wgCommittee); List<WgCommitteeDTO> getData(WgCommittee wgCommittee);
Integer getDataCount(WgCommittee wgCommittee);
List<WgCommitteeDTO> getDataWk(WgCommittee wgCommittee);
Integer getDataCountWk(WgCommittee wgCommittee); List<WgCommitteeDTO> getDataWk(WgCommittee wgCommittee);
Integer getDataCountWk(WgCommittee wgCommittee);
}
String selectCommittor(@Param("str") List<String> str);
}
@@ -1,93 +1,100 @@
package com.adc.da.slrs.wgCommittee.service.impl; package com.adc.da.slrs.wgCommittee.service.impl;
import com.adc.da.slrs.wgCommittee.entity.WgCommittee; import com.adc.da.slrs.wgCommittee.entity.WgCommittee;
import com.adc.da.slrs.wgCommittee.dao.WgCommitteeDao; import com.adc.da.slrs.wgCommittee.dao.WgCommitteeDao;
import com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO; import com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO;
import com.adc.da.slrs.wgCommittee.service.IWgCommitteeService; import com.adc.da.slrs.wgCommittee.service.IWgCommitteeService;
import com.adc.da.slrs.wgCommitteeUser.entity.WgCommitteeUser; import com.adc.da.slrs.wgCommitteeUser.entity.WgCommitteeUser;
import com.adc.da.slrs.wgCommitteeUser.service.IWgCommitteeUserService; import com.adc.da.slrs.wgCommitteeUser.service.IWgCommitteeUserService;
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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
/** /**
* <p> * <p>
* 标准委员会 服务实现类 * 标准委员会 服务实现类
* </p> * </p>
* *
* @author yzh * @author yzh
* @since 2022-03-10 * @since 2022-03-10
*/ */
@Service @Service
public class WgCommitteeServiceImpl extends ServiceImpl<WgCommitteeDao, WgCommittee> implements IWgCommitteeService { public class WgCommitteeServiceImpl extends ServiceImpl<WgCommitteeDao, WgCommittee> implements IWgCommitteeService {
@Autowired @Autowired
IWgCommitteeUserService iWgCommitteeUserService; IWgCommitteeUserService iWgCommitteeUserService;
@Autowired @Autowired
IWgCommitteeService iWgCommitteeService; IWgCommitteeService iWgCommitteeService;
@Autowired @Autowired
WgCommitteeDao wgCommitteeDao; WgCommitteeDao wgCommitteeDao;
@Transactional @Transactional
@Override @Override
public boolean add(WgCommittee wgCommittee) { public boolean add(WgCommittee wgCommittee) {
wgCommittee.setId(String.valueOf(UUID.randomUUID())); wgCommittee.setId(String.valueOf(UUID.randomUUID()));
String id=String.valueOf(UUID.randomUUID()); String id=String.valueOf(UUID.randomUUID());
wgCommittee.setCommitteer(id); wgCommittee.setCommitteer(id);
List<WgCommitteeUser> list=new ArrayList<>(); List<WgCommitteeUser> list=new ArrayList<>();
if (null!=wgCommittee.getCommitteeIds() && !wgCommittee.getCommitteeIds().isEmpty()) { if (null!=wgCommittee.getCommitteeIds() && !wgCommittee.getCommitteeIds().isEmpty()) {
List<String> res=new ArrayList<>(Arrays.asList(wgCommittee.getCommitteeIds().split(","))); List<String> res=new ArrayList<>(Arrays.asList(wgCommittee.getCommitteeIds().split(",")));
res.stream().forEach(s -> list.add(new WgCommitteeUser().setCommitterId(s).setId(wgCommittee.getCommitteer()))); res.stream().forEach(s -> list.add(new WgCommitteeUser().setCommitterId(s).setId(wgCommittee.getCommitteer())));
iWgCommitteeUserService.saveOrUpdateBatch(list); iWgCommitteeUserService.saveOrUpdateBatch(list);
} }
if (iWgCommitteeService.saveOrUpdate(wgCommittee)) { if (iWgCommitteeService.saveOrUpdate(wgCommittee)) {
return true; return true;
}else { }else {
return false; return false;
} }
} }
@Transactional @Transactional
@Override @Override
public boolean update(WgCommittee wgCommittee) { public boolean update(WgCommittee wgCommittee) {
iWgCommitteeService.updateById(wgCommittee); iWgCommitteeService.updateById(wgCommittee);
List<WgCommitteeUser> save=new ArrayList<>(); List<WgCommitteeUser> save=new ArrayList<>();
if (null!=wgCommittee.getCommitteeIds() && !wgCommittee.getCommitteeIds().isEmpty()){ if (null!=wgCommittee.getCommitteeIds() && !wgCommittee.getCommitteeIds().isEmpty()){
List<String> res=new ArrayList<>(Arrays.asList(wgCommittee.getCommitteeIds().split(","))); List<String> res=new ArrayList<>(Arrays.asList(wgCommittee.getCommitteeIds()));
res.forEach(s -> save.add(new WgCommitteeUser().setId(wgCommittee.getCommitteer()).setCommitterId(s))); res.forEach(s ->
} save.add(new WgCommitteeUser().setId(wgCommittee.getCommitteer()).setCommitterId(s))
if (iWgCommitteeUserService.updateBatchById(save)) { );
return true; }
}else { if (iWgCommitteeUserService.updateBatchById(save)) {
return false; return true;
} }else {
} return false;
}
@Override }
public IPage<WgCommitteeDTO> getWgCommittee(WgCommittee wgCommittee) {
Page page=new Page(); @Override
page.setRecords(wgCommitteeDao.getData(wgCommittee)); public IPage<WgCommitteeDTO> getWgCommittee(WgCommittee wgCommittee) {
page.setCurrent(wgCommittee.getPage()); Page page=new Page();
page.setSize(wgCommittee.getPageSize()); List<WgCommitteeDTO> list = wgCommitteeDao.getData(wgCommittee);
page.setTotal(wgCommitteeDao.getDataCount(wgCommittee)); for (WgCommitteeDTO wgCommitteeDTO : list){
return page; List<String> str = Arrays.asList(wgCommitteeDTO.getCommittorId().split(","));
} wgCommitteeDTO.setCommittor(wgCommitteeDao.selectCommittor(str));
}
@Override page.setRecords(list);
public IPage<WgCommitteeDTO> getWgCommitteeWk(WgCommittee wgCommittee) { page.setCurrent(wgCommittee.getPage());
Page page=new Page(); page.setSize(wgCommittee.getPageSize());
page.setRecords(wgCommitteeDao.getDataWk(wgCommittee)); page.setTotal(wgCommitteeDao.getDataCount(wgCommittee));
page.setCurrent(wgCommittee.getPage()); return page;
page.setSize(wgCommittee.getPageSize()); }
page.setTotal(wgCommitteeDao.getDataCountWk(wgCommittee));
return page; @Override
} public IPage<WgCommitteeDTO> getWgCommitteeWk(WgCommittee wgCommittee) {
} Page page=new Page();
page.setRecords(wgCommitteeDao.getDataWk(wgCommittee));
page.setCurrent(wgCommittee.getPage());
page.setSize(wgCommittee.getPageSize());
page.setTotal(wgCommitteeDao.getDataCountWk(wgCommittee));
return page;
}
}
@@ -1,69 +1,73 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.adc.da.slrs.wgCommittee.dao.WgCommitteeDao"> <mapper namespace="com.adc.da.slrs.wgCommittee.dao.WgCommitteeDao">
<select id="getData" resultType="com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO"> <select id="getData" resultType="com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO">
SELECT wg_committee.id, wg_committee.committee_name as committeeName ,wg_committee.committee_director as committeeDirector SELECT wg_committee.id, wg_committee.committee_name as committeeName ,wg_committee.committee_director as committeeDirector
,t1.UNAME as committeeDirectorName,wg_committee.committee_secretary as committeeSecretary,t2.UNAME as committeeSecretaryName, ,t1.UNAME as committeeDirectorName,wg_committee.committee_secretary as committeeSecretary,t2.UNAME as committeeSecretaryName,
wg_committee.committeer , wg_committee.committeer , wg_committee_user.committer_id as committorId
( from wg_committee
SELECT GROUP_CONCAT(t3.UNAME) FROM wg_committee_user LEFT JOIN wg_committee_user ON wg_committee.committeer = wg_committee_user.id
LEFT JOIN ts_user t3 on t3.USID = wg_committee_user.committer_id LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director
WHERE wg_committee_user.id = wg_committee.committeer LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary
) as committor, where 1=1
( <if test="committeeName != null and ''!=committeeName">
SELECT GROUP_CONCAT(t3.USID) FROM wg_committee_user and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%')
LEFT JOIN ts_user t3 on t3.USID = wg_committee_user.committer_id </if>
WHERE wg_committee_user.id = wg_committee.committeer limit ${(page-1)*pageSize},${pageSize}
) as committorId </select>
from wg_committee
LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director <select id="getDataCount" resultType="java.lang.Integer">
LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary SELECT count(wg_committee.id)
where 1=1 from wg_committee
<if test="committeeName != null and ''!=committeeName"> LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director
and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%') LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary
</if> where 1=1
limit ${(page-1)*pageSize},${pageSize} <if test="committeeName != null and ''!=committeeName">
</select> and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%')
</if>
<select id="getDataCount" resultType="java.lang.Integer"> </select>
SELECT count(wg_committee.id)
from wg_committee <select id="getDataWk" resultType="com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO">
LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director SELECT wg_committee.id, wg_committee.committee_name as committeeName ,wg_committee.committee_director as committeeDirector
LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary ,t1.UNAME as committeeDirectorName,wg_committee.committee_secretary as committeeSecretary,t2.UNAME as committeeSecretaryName,
where 1=1 t3.UNAME as committor,t3.USID as committorId,wg_committee.committeer ,
<if test="committeeName != null and ''!=committeeName"> from wg_committee
and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%') LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director
</if> LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary
</select> LEFT JOIN wg_committee_user on wg_committee_user.id = wg_committee.committeer
LEFT JOIN ts_user t3 on t3.USID = wg_committee_user.committer_id
<select id="getDataWk" resultType="com.adc.da.slrs.wgCommittee.entity.WgCommitteeDTO"> where 1=1
SELECT wg_committee.id, wg_committee.committee_name as committeeName ,wg_committee.committee_director as committeeDirector <if test="committeeName != null and ''!=committeeName">
,t1.UNAME as committeeDirectorName,wg_committee.committee_secretary as committeeSecretary,t2.UNAME as committeeSecretaryName, and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%')
t3.UNAME as committor,t3.USID as committorId,wg_committee.committeer , </if>
from wg_committee limit ${(page-1)*pageSize},${pageSize}
LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director </select>
LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary
LEFT JOIN wg_committee_user on wg_committee_user.id = wg_committee.committeer <select id="getDataCountWk" resultType="java.lang.Integer">
LEFT JOIN ts_user t3 on t3.USID = wg_committee_user.committer_id SELECT count(wg_committee.id)
where 1=1 from wg_committee
<if test="committeeName != null and ''!=committeeName"> LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director
and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%') LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary
</if> LEFT JOIN wg_committee_user on wg_committee_user.id = wg_committee.committeer
limit ${(page-1)*pageSize},${pageSize} LEFT JOIN ts_user t3 on t3.USID = wg_committee_user.committer_id
</select> where 1=1
<if test="committeeName != null and ''!=committeeName">
<select id="getDataCountWk" resultType="java.lang.Integer"> and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%')
SELECT count(wg_committee.id) </if>
from wg_committee </select>
LEFT JOIN ts_user t1 on t1.USID = wg_committee.committee_director <select id="selectCommittor" resultType="java.lang.String">
LEFT JOIN ts_user t2 on t2.USID = wg_committee.committee_secretary SELECT
LEFT JOIN wg_committee_user on wg_committee_user.id = wg_committee.committeer group_concat( tu.UNAME SEPARATOR ',' ) as committor
LEFT JOIN ts_user t3 on t3.USID = wg_committee_user.committer_id FROM
where 1=1 ts_user tu
<if test="committeeName != null and ''!=committeeName"> WHERE
and wg_committee.committee_name like concat(concat('%',#{committeeName}),'%') tu.USID
</if> IN
</select> <foreach collection="str" item="USID" open="(" close=")" separator=",">
<!-- 每个遍历需要生成的串 -->
</mapper> #{USID}
</foreach>
</select>
</mapper>