Commit 12b8f4cd by 赵剑炜

Merge branch 'develop' of http://gitlab.sothing.top/843502640/jyzb_platformV2 into develop-zhaojw

parents 1b1f5ac8 c24a9ae1
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.util.Date;
/**
* 账号和角色返回字段
*/
@Data
public class UserRoleDto {
private Long userId;
private String account;
private String nickName;
private String realName;
private Long avatar;
private Date birthday;
private String sex;
private String email;
private String phone;
private String password;
private String tel;
private Long orgId;
private String orgCode;
private Long positionId;
private Integer statusFlag;
private Long roleId;
}
......@@ -54,4 +54,5 @@ public class OrderDetailReq extends BaseRequest {
* 修改后数量
*/
private Integer modifyQuantity;
}
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 记账时的子单据请求实体类
*/
@Data
public class DetailListReq implements Serializable {
public class UpdateOrderDetailReq implements Serializable {
/**
* 类型
*/
......@@ -43,4 +46,20 @@ public class DetailListReq implements Serializable {
private String warehouseId;
private String orderId;
private Integer actualNum;
private String orderType;
private Date createTime;
private Date updateTime;
private String createUser;
private String updateUser;
private Integer modifyQuantity;
}
package com.junmp.jyzb.api.bean.req;
import com.junmp.jyzb.api.bean.Validator.IsDateTime;
import com.junmp.jyzb.api.bean.Validator.IsNumber;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
......@@ -47,11 +46,12 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
* 发物单位
*/
// @IsNumber(message = "startOrgId必须是数字",groups = {add.class})
private String startOrgId;
private Long startOrgId;
/**
* 发物单位名称
*/
private String startOrgName;
/**
* 收物单位
*/
......@@ -116,7 +116,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
/**
* 明细列表
*/
private List<DetailListReq> detailList;
private List<UpdateOrderDetailReq> detailList;
/**
* 生产厂商id
......
......@@ -57,7 +57,7 @@ public class OrderController {
//内部处理,任务单状态直接设置成finished 添加到数据并且直接推送到消息队列中去
@PostMapping("/AddFinishOrder")
@ApiOperation("新增已完成的任务单")
public ApiRes<String> AddFinishOrder(@RequestBody UpdateOrderReq req) {
public ApiRes<String> AddFinishOrder(@RequestBody UpdateOrderReq req) {
req.setExamineState("finished");
return ApiRes.success(orderMainService.AddFinishOrder(req));
}
......@@ -91,7 +91,7 @@ public class OrderController {
@PostMapping("/Accounting")
@ApiOperation("记账")
public ApiRes<Boolean> Accounting(@RequestBody @Validated(ValidationApi.delete.class) OrderMainReq req){
public ApiRes<Boolean> Accounting(@RequestBody @Validated(ValidationApi.delete.class) UpdateOrderReq req){
return ApiRes.success(orderMainService.Accounting(req));
}
......
......@@ -16,6 +16,8 @@ import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.api.bean.user.SysUserDto;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import com.junmp.v2.sys.api.bean.user.req.UserOrgReq;
import com.junmp.v2.sys.user.controller.SysUserController;
import io.swagger.annotations.Api;
......@@ -86,7 +88,7 @@ public class PoliceController {
return ApiRes.success(policemanDtos);
}
//根据组条件查询,只查询本级,不包含下级(page)
//根据组条件查询,只查询本级,不包含下级(page)--可以根据组织机构查询
@PostMapping("/ShowPolicePage")
@ApiOperation("根据条件查询所有警员信息(page)")
public ApiRes<PageResult<PolicemanDto>> GetAllPolicemanPage(@RequestBody PolicemanReq req){
......@@ -158,16 +160,12 @@ public class PoliceController {
return ApiRes.success(policeman);
}
// //警员绑定账号
// @PostMapping("/PoliceBindUser")
// @ApiOperation("警员绑定账号")
// public ApiRes<Boolean> PoliceBindUser(@RequestBody @Validated(ValidationApi.add.class) PolicemanReq req){
// boolean b = policemanService.PoliceBindUser(req);
// if (!b){
// return ApiRes.failure("操作失败");
// }
// return ApiRes.success(b);
// }
//查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询)
@PostMapping("/ShowUserRole")
@ApiOperation("查询用户角色信息")
public ApiRes<PageResult<SysUserDto>> ShowUserRole(@RequestBody SysUserReq req){
return ApiRes.success( policemanService.ShowUserRole(req));
}
/**
* 人员绑定箱门
......
......@@ -3,9 +3,12 @@ package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.bean.dto.UserRoleDto;
import com.junmp.jyzb.entity.CabinetBox;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.Policeman;
import com.junmp.v2.sys.api.bean.user.SysUserDto;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import org.apache.ibatis.annotations.Mapper;
import java.util.Collection;
......@@ -33,4 +36,6 @@ public interface PolicemanMapper extends BaseMapper<Policeman> {
Long SearchPoliceSize(String id);
void updateBatchUserIdByAccountList(@Param("userIdList") List<Long> userIdList, @Param("accountList") List<String> accountList);
List<UserRoleDto> ShowUserRole(@Param("req") SysUserReq req,@Param("numRoles") Integer numRoles);
}
\ No newline at end of file
package com.junmp.jyzb.rabbitmq;
import com.junmp.jyzb.service.OrderMainService;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
//将工作单上传到rabbitmq中
@Component
public class OrderMQSender {
@Resource
private RabbitTemplate rabbitTemplate;
@Resource
private OrderMainService orderMainService;
public void send(){
//将审核状态为finished的任务单放入rabbitmq中
}
}
......@@ -36,7 +36,7 @@ public interface OrderMainService extends IService<OrderMain> {
boolean PushState(OrderUploadReq req);
//记账
boolean Accounting(OrderMainReq req);
boolean Accounting(UpdateOrderReq req);
//查看记账列表
PageResult<OrderLog> ShowAccountingPage(QueryOrderLogReq req);
......
......@@ -11,6 +11,8 @@ import com.junmp.jyzb.entity.PoliceEquipment;
import com.junmp.jyzb.entity.Policeman;
import com.junmp.jyzb.entity.Reassignment;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.api.bean.user.SysUserDto;
import com.junmp.v2.sys.api.bean.user.req.SysUserReq;
import com.junmp.v2.sys.api.bean.user.req.UserOrgReq;
import java.util.List;
......@@ -83,4 +85,7 @@ public interface PolicemanService extends IService<Policeman> {
//查看警员调岗申请单
PageResult<Reassignment> ShowReassignmentPage(UpdateReassignmentReq req);
////查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询)
PageResult<SysUserDto> ShowUserRole(SysUserReq req);
}
......@@ -7,11 +7,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.api.bean.req.RabbitMqOrderReq;
import com.junmp.jyzb.entity.EquipmentSize;
import com.junmp.jyzb.entity.EquipmentType;
import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.service.*;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
......@@ -84,6 +82,13 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
//处理本地主机返回单据结果
@Override
public Boolean processInventoryRecords(RabbitMqOrderReq req) {
//将主单据信息复制进行更新
OrderMain orderMain = new OrderMain();
BeanPlusUtil.copyProperties(req.getOrderMainReq(),orderMain);
//将子单据信息复制进行更新
OrderDetail orderDetail = new OrderDetail();
BeanPlusUtil.copyProperties(req.getOrderDetailReq(),orderDetail);
return null;
}
......
......@@ -3,11 +3,9 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.metadata.OrderItem;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.service.Bussiness.impl.WorkProcessServiceImpl;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.OrderDetailDto;
import com.junmp.jyzb.api.bean.dto.OrderDto;
......@@ -15,7 +13,7 @@ import com.junmp.jyzb.api.bean.dto.OrderMainDto;
import com.junmp.jyzb.api.bean.query.OrderDetailReq;
import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.api.bean.query.OrderUploadReq;
import com.junmp.jyzb.api.bean.req.DetailListReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderDetailReq;
import com.junmp.jyzb.api.bean.query.QueryOrderLogReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.api.bean.vo.InOrderInfo;
......@@ -37,7 +35,6 @@ import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.office.api.OfficeExcelApi;
import com.junmp.v2.office.api.bean.ExcelExportParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitAdmin;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
......@@ -48,12 +45,9 @@ import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@Service
......@@ -113,7 +107,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
BigDecimal priceTotal=new BigDecimal(0);
List<OrderDetail> detailList = new ArrayList<>();
//通过遍历批量保存详细信息
for (DetailListReq listReq:req.getDetailList()) {
for (UpdateOrderDetailReq listReq:req.getDetailList()) {
OrderDetail detail=new OrderDetail();
BeanPlusUtil.copyProperties(listReq, detail);
detail.setOrderId(order.getId());
......@@ -221,7 +215,6 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
rabbitAdmin.declareExchange(exchange);
rabbitAdmin.declareBinding(BindingBuilder.bind(queue).to(exchange).with(req.getEndOrgId().toString()).noargs());
rabbitTemplate.convertAndSend(exchangeName, req.getEndOrgId().toString(), req);
}else {
Queue queue = new Queue(req.getStartOrgId().toString(), true, false, false);
Exchange exchange = new DirectExchange(exchangeName, true, false);
......@@ -271,31 +264,31 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//对detaillist进行处理
List<OrderDetail> addList = new ArrayList<>();//新增的
List<OrderDetail> updateList = new ArrayList<>();//更新
for (DetailListReq detailListReq :req.getDetailList()) {
for (UpdateOrderDetailReq updateOrderDetailReq :req.getDetailList()) {
//判断是否存在,存在则进行修改
if (idSet.contains(detailListReq.getId())){
if (idSet.contains(updateOrderDetailReq.getId())){
OrderDetail one = orderDetailService.getOne(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getId, detailListReq.getId()));
BeanPlusUtil.copyProperties(detailListReq,one);
.eq(OrderDetail::getId, updateOrderDetailReq.getId()));
BeanPlusUtil.copyProperties(updateOrderDetailReq,one);
one.setType(req.getOrderType());
//判断数量和价格是否有变动,如果有变动,则将order的总价和总数量进行更新操作,否则不变
if (one.getPlanNum().equals(detailListReq.getPlanNum()) && one.getPrice().compareTo(detailListReq.getPrice())!=0){
if (one.getPlanNum().equals(updateOrderDetailReq.getPlanNum()) && one.getPrice().compareTo(updateOrderDetailReq.getPrice())!=0){
order.setPrice(order.getPrice().subtract(one.getPrice().multiply(BigDecimal.valueOf(one.getPlanNum())))
.add(detailListReq.getPrice().multiply(BigDecimal.valueOf(detailListReq.getPlanNum()))));
order.setInventoryQuantity(order.getInventoryQuantity() - one.getPlanNum()+ detailListReq.getPlanNum());
.add(updateOrderDetailReq.getPrice().multiply(BigDecimal.valueOf(updateOrderDetailReq.getPlanNum()))));
order.setInventoryQuantity(order.getInventoryQuantity() - one.getPlanNum()+ updateOrderDetailReq.getPlanNum());
}
one.setUpdateTime(DateTimeUtil.getCurrentDateTime());
updateList.add(one);
}else {
//否则判断id是否为空或者错误,如果为空则添加,不为空则抛出异常
if (ObjectUtil.isNull(detailListReq.getId()) || ObjectUtil.isEmpty(detailListReq.getId())){
if (ObjectUtil.isNull(updateOrderDetailReq.getId()) || ObjectUtil.isEmpty(updateOrderDetailReq.getId())){
OrderDetail detail=new OrderDetail();
BeanPlusUtil.copyProperties(detailListReq, detail);
BeanPlusUtil.copyProperties(updateOrderDetailReq, detail);
detail.setOrderId(req.getId());
detail.setType(req.getOrderType());
//将数量和价格进行相加处理
order.setPrice(order.getPrice().add(detailListReq.getPrice().multiply(BigDecimal.valueOf(detailListReq.getPlanNum()))));
order.setInventoryQuantity(order.getInventoryQuantity() + detailListReq.getPlanNum());
order.setPrice(order.getPrice().add(updateOrderDetailReq.getPrice().multiply(BigDecimal.valueOf(updateOrderDetailReq.getPlanNum()))));
order.setInventoryQuantity(order.getInventoryQuantity() + updateOrderDetailReq.getPlanNum());
detail.setUpdateTime(DateTimeUtil.getCurrentDateTime());
addList.add(detail);
}else {
......@@ -306,8 +299,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
orderDetailService.updateBatchById(updateList);
orderDetailService.saveBatch(addList);
// 方法2(直接删除并重新插入数据)----------------------------------------------
BeanPlusUtil.copyProperties(req,order);
// 方法2(直接删除并重新插入数据)未写----------------------------------------------
return this.updateById(order);
}
//更新任务单(进入工作流中之后不能进行更改)
......@@ -425,7 +418,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//记账
@Transactional(rollbackFor = Exception.class)
@Override
public boolean Accounting(OrderMainReq req) {
public boolean Accounting(UpdateOrderReq req) {
//判断传递的订单主id是否存在
OrderMain orderMain = orderMainExist(req.getId());
//记账子单据不能传空
......@@ -433,7 +426,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
throw new ServiceException(OrderExceptionEnum.ORDERDETAIL_ISNOT_NULL);
}
//前端传递的子单数据
List<OrderDetailReq> reqList = req.getDetailList();
List<UpdateOrderDetailReq> reqList = req.getDetailList();
//将记账数量进行相加
Integer updateQuantity=0;
//将价格进行添加修改
......@@ -442,17 +435,17 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
List<OrderDetail> list = orderDetailService.list(new LambdaQueryWrapper<OrderDetail>()
.eq(OrderDetail::getOrderId,req.getId()));
//获取所有传递的子单据id
Set<Long> collect = req.getDetailList().stream().map(OrderDetailReq::getId).collect(Collectors.toSet());
Set<Long> collect = req.getDetailList().stream().map(UpdateOrderDetailReq::getId).collect(Collectors.toSet());
//获取所有数据库的子单据id
Set<Long> existingIds = list.stream().map(OrderDetail::getId).collect(Collectors.toSet());
//创建一个操作记录
StringBuilder stringBuilder = new StringBuilder();
List<OrderDetail> orderDetailList=new ArrayList<>();
//创建一个列表用于修改summary数据库表中数据。
List<OrderDetailReq> orderDetailReqList=new ArrayList<>();
List<UpdateOrderDetailReq> orderDetailReqList=new ArrayList<>();
//比较两个子单id完全一致,判断传递的子单据id在数据库中是否存在,如果不存在则抛出子单据不存在异常
if (collect.size() == existingIds.size() && collect.containsAll(existingIds) && existingIds.containsAll(collect)){
for (OrderDetailReq uploadDetailReq : reqList) {
for (UpdateOrderDetailReq uploadDetailReq : reqList) {
OrderDetail orderDetail = new OrderDetail();
BeanPlusUtil.copyProperties(uploadDetailReq,orderDetail);
//获取修改后的数量并且记录(如果modifyQuantity不为空则表示该子单据进行了修改)
......@@ -514,7 +507,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
//将修改内容存储记录(历史操作,数量,单据,价格,组织机构)
//创建记账操作记录并且记录到数据表order_log中
public void saveAccountingLog (OrderMainReq req,StringBuilder stringBuilder,Integer updateQuantity){
public void saveAccountingLog (UpdateOrderReq req,StringBuilder stringBuilder,Integer updateQuantity){
OrderLog orderLog = new OrderLog();
BeanPlusUtil.copyProperties(req,orderLog);
orderLog.setId(UUID.randomUUID().toString());
......@@ -534,7 +527,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
//修改装备汇总表中的数据inventory_summary
public void updateSummaryInfo(OrderMainReq req,List<OrderDetailReq> orderDetailReqList,Long orgId){
public void updateSummaryInfo(UpdateOrderReq req,List<UpdateOrderDetailReq> orderDetailReqList,Long orgId){
//根据遍历该子单据,将summary中的对应数据进行修改
List<InventorySummary> collect = orderDetailReqList.stream()
.map(orderDetailReq -> {
......@@ -566,8 +559,8 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
}
//修改仓库表中的数量汇总信息
public void updateWarehouseInfo(OrderMainReq req,List<OrderDetailReq> orderDetailReqList,Long orgId){
for (OrderDetailReq orderDetailReq:orderDetailReqList) {
public void updateWarehouseInfo(UpdateOrderReq req,List<UpdateOrderDetailReq> orderDetailReqList,Long orgId){
for (UpdateOrderDetailReq orderDetailReq:orderDetailReqList) {
Warehouse one = warehouseService.getOne(new LambdaQueryWrapper<Warehouse>()
.eq(Warehouse::getOrgId, orgId)
.eq(Warehouse::getId, orderDetailReq.getWarehouseId()));
......
......@@ -13,6 +13,7 @@ import com.junmp.junmpProcess.exception.WorkFlowException;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.PoliceFingerDto;
import com.junmp.jyzb.api.bean.dto.PolicemanDto;
import com.junmp.jyzb.api.bean.dto.UserRoleDto;
import com.junmp.jyzb.api.bean.query.CabinetReq;
import com.junmp.jyzb.api.bean.query.PoliceReassignmentReq;
import com.junmp.jyzb.api.bean.query.PolicemanReq;
......@@ -41,6 +42,7 @@ import com.junmp.v2.sys.api.bean.user.req.UserOrgReq;
import com.junmp.v2.sys.user.entity.SysUser;
import com.junmp.v2.sys.user.entity.SysUserOrg;
import com.junmp.v2.sys.user.factory.SysUserCreateFactory;
import com.junmp.v2.sys.user.mapper.SysUserMapper;
import com.junmp.v2.sys.user.service.SysUserOrgService;
import com.junmp.v2.sys.user.service.SysUserService;
import liquibase.pro.packaged.L;
......@@ -672,4 +674,53 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
return PageResultFactory.createPageResult(page);
}
//查询组织机构下的用户以及角色信息(也可以根据别的查询条件查询)
@Override
public PageResult<SysUserDto> ShowUserRole(SysUserReq req) {
Integer numRoles=0;
if (ObjectUtil.isNotNull(req.getGrantRoleIdList()) && req.getGrantRoleIdList().size() > 0){
numRoles=req.getGrantRoleIdList().size();
}
//查询出所有用户以及用户角色
List<UserRoleDto> list=policemanMapper.ShowUserRole(req,numRoles);
//将查询的条件合并(如果一用户有多个角色,那么将该用户的角色id存入列表)
List<Long> uniqueUsers = new ArrayList<>();
List<SysUserDto> sysUserDtos=new ArrayList<>();
for (UserRoleDto userRoleDto : list) {
// 初始化 uniqueUsers 列表
if (sysUserDtos.size()==0) {
SysUserDto sysUserDto = new SysUserDto();
BeanPlusUtil.copyProperties(userRoleDto,sysUserDto);
uniqueUsers.add(userRoleDto.getRoleId());
sysUserDto.setGrantRoleIdList(uniqueUsers);
sysUserDtos.add(sysUserDto);
continue;
}
boolean foundUser = false;
for (SysUserDto list1:sysUserDtos) {
//如果不存在则进行添加,如果已经存在则直接修改角色列表
if (userRoleDto.getUserId().equals(list1.getUserId())) {
uniqueUsers.add(userRoleDto.getRoleId());
list1.setGrantRoleIdList(uniqueUsers);
foundUser = true;
break;
}
}
if (!foundUser){
SysUserDto sysUserDto = new SysUserDto();
BeanPlusUtil.copyProperties(userRoleDto, sysUserDto);
uniqueUsers = new ArrayList<>();
uniqueUsers.add(userRoleDto.getRoleId());
sysUserDto.setGrantRoleIdList(uniqueUsers);
sysUserDtos.add(sysUserDto);
}
}
Page<SysUserDto> page=PageFactory.getDefaultPage(req.getPageNo(), req.getPageSize());
page.setRecords(sysUserDtos);
page.setTotal(sysUserDtos.size());
return PageResultFactory.createPageResult(page);
}
}
......@@ -184,5 +184,63 @@ WHERE o.org_id IN
LEFT JOIN base_cabinet b ON b.id=bc.cabinet_id
WHERE b.id=#{id}) and p.state=1
</select>
<select id="ShowUserRole" resultType="com.junmp.jyzb.api.bean.dto.UserRoleDto">
select
s1.user_id as userId,
s1.account as account,
s1.nick_name as nickName,
s1.real_name as realName,
s1.avatar as avatar,
s1.birthday as birthday,
s1.sex as sex,
s1.email as email,
s1.phone as phone,
s1.tel as tel,
s1.status_flag as statusFlag,
s2.org_id as orgId,
s3.org_code as orgCode,
s2.position_id as positionId,
s4.role_id as roleId
from sys_user s1
left join sys_user_org s2 on s1.user_id = s2.user_id
left join pub_org s3 on s2.org_id = s3.org_id
left join sys_user_role s4 on s1.user_id=s4.user_id
<where>
<if test="null != req.realName and '' != req.realName">
and s1.real_name like concat('%',#{req.realName},'%')
</if>
<if test="null != req.account and '' != req.account">
and s1.account like concat('%',#{req.account},'%')
</if>
<if test="null != req.statusFlag and '' != req.statusFlag">
and s1.status_flag like concat('%',#{req.statusFlag},'%')
</if>
<if test="null != req.phone and '' != req.phone">
and s1.phone like concat('%',#{req.phone},'%')
</if>
<if test="null != req.sex and '' != req.sex">
and s1.sex like concat('%',#{req.sex},'%')
</if>
<if test="null != req.orgId and '' != req.orgId">
and s2.org_id = #{req.orgId}
</if>
AND EXISTS (
SELECT 1 FROM sys_user_role s5 WHERE s5.user_id = s1.user_id
<if test="null != req.grantRoleIdList and req.grantRoleIdList.size() > 0">
AND (
SELECT COUNT(*)
FROM sys_user_role s5
WHERE s5.user_id = s1.user_id
AND s5.role_id IN
<foreach collection="req.grantRoleIdList" item="roleId" open="(" separator="," close=")">
#{roleId}
</foreach>
) = #{numRoles}
</if>
)
and s1.del_flag = 0
order by s1.create_time desc
</where>
</select>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论