Commit 92cbd5b2 by 李小惠

根据条件查询账号和角色接口

parent 0000deb4
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;
}
......
......@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论