分配设备
This commit is contained in:
@ -35,9 +35,17 @@ public class Device extends BaseEntity implements Serializable {
|
||||
@ApiModelProperty(value = "客户号")
|
||||
private Long customerId;
|
||||
|
||||
/**
|
||||
* 当前所有者
|
||||
* current_owner_id
|
||||
*/
|
||||
@ApiModelProperty(value = "当前所有者")
|
||||
private Long currentOwnerId;
|
||||
|
||||
/**
|
||||
* 原始所有者(创建者)
|
||||
* original_owner_id
|
||||
*/
|
||||
@ApiModelProperty(value = "原始所有者(创建者)")
|
||||
private Long originalOwnerId;
|
||||
|
||||
|
@ -25,6 +25,9 @@ public class DeviceQueryCriteria {
|
||||
@ApiModelProperty(value = "设备MAC")
|
||||
private String deviceMac;
|
||||
|
||||
@ApiModelProperty(value = "设备IMEI")
|
||||
private String deviceImei;
|
||||
|
||||
@ApiModelProperty(value = "设备SN")
|
||||
private String deviceSn;
|
||||
|
||||
|
@ -97,8 +97,8 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||
|
||||
// 只能看到自己的创建的设备,以及被分配的设备。
|
||||
if (onlineuser.getTenantId() != null && !onlineuser.getTenantId().equals(UserConstants.SUPER_ADMIN_ID)) {
|
||||
// criteria.setTenantId(onlineuser.getTenantId());
|
||||
criteria.setCurrentOwnerId(onlineuser.getId());
|
||||
criteria.setTenantId(onlineuser.getTenantId());
|
||||
// criteria.setCurrentOwnerId(onlineuser.getId());
|
||||
}
|
||||
|
||||
IPage<Device> devices = deviceMapper.findAll(criteria, page);
|
||||
@ -242,13 +242,12 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||
|
||||
|
||||
/**
|
||||
* 分配客户
|
||||
* 分配客户 历史记录版本
|
||||
*
|
||||
* @param customerVo
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void assignCustomer(CustomerVo customerVo) {
|
||||
|
||||
public void assignCustomer1(CustomerVo customerVo) {
|
||||
|
||||
// 防止管理员误操作
|
||||
User currentUser = userService.findById(SecurityUtils.getCurrentUserId());
|
||||
@ -296,7 +295,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||
|
||||
// -- 更新设备所有者
|
||||
device.setCurrentOwnerId(customerVo.getCustomerId());
|
||||
devices.add( device);
|
||||
devices.add(device);
|
||||
});
|
||||
|
||||
deviceAssignmentsService.saveBatch(assignments);
|
||||
@ -307,11 +306,13 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||
|
||||
|
||||
/**
|
||||
* 分配客户代码复制
|
||||
* 分配客户
|
||||
*
|
||||
* @param customerVo
|
||||
*/
|
||||
public void assignCustomer1(CustomerVo customerVo) {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void assignCustomer(CustomerVo customerVo) {
|
||||
|
||||
// 防止管理员误操作
|
||||
User currentUser = userService.findById(SecurityUtils.getCurrentUserId());
|
||||
@ -330,6 +331,7 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||
this.updateBatchById(devices);
|
||||
|
||||
// 批量更新设备状态
|
||||
List<DeviceTypeGrants> deviceTypeGrants = new ArrayList<>();
|
||||
for (Device device : devices) {
|
||||
// 获取当前用户的所有祖先用户
|
||||
List<User> ancestorsById = userMapper.findAncestorsById(currentUser.getId());
|
||||
@ -349,7 +351,24 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme
|
||||
|
||||
// 根据条件批量更新
|
||||
deviceMapper.update(updateDevice, wrapper);
|
||||
|
||||
// 自定义16位id
|
||||
Long generatedId = NanoId.generate(16);
|
||||
// -- 授权设备类型给客户
|
||||
// QueryWrapper<DeviceTypeGrants> deviceTypeGrantsQueryWrapper = new QueryWrapper<>();
|
||||
// Long count = deviceTypeGrantsMapper.selectCount(deviceTypeGrantsQueryWrapper);
|
||||
DeviceTypeGrants deviceTypeGrant = new DeviceTypeGrants();
|
||||
deviceTypeGrant.setGrantedAt(new Date());
|
||||
// 设备类型
|
||||
deviceTypeGrant.setDeviceTypeId(device.getDeviceType());
|
||||
deviceTypeGrant.setAssignmentId(generatedId);
|
||||
// 被授权的客户
|
||||
deviceTypeGrant.setCustomerId(customerVo.getCustomerId());
|
||||
// 授权方客户
|
||||
deviceTypeGrant.setGrantorCustomerId(currentUser.getId());
|
||||
deviceTypeGrants.add(deviceTypeGrant);
|
||||
}
|
||||
deviceTypeGrantsService.saveBatch(deviceTypeGrants);
|
||||
|
||||
// 批量分配
|
||||
Set<DeviceType> deviceTypes = new HashSet<>();
|
||||
|
@ -39,11 +39,12 @@
|
||||
<!-- 分页查询设备 -->
|
||||
<select id="findAll" resultType="com.fuyuanshen.modules.system.domain.Device">
|
||||
select
|
||||
<include refid="device_Column_List"/>,
|
||||
t.type_name as typeName
|
||||
d.id, d.customer_id, d.customer_name, d.device_name,
|
||||
d.device_pic, d.device_mac, d.device_sn, d.create_by, d.update_by,d.device_imei,
|
||||
d.create_time, d.update_time, d.device_type, d.remark, d.device_status, d.binding_status,t.type_name
|
||||
from device d
|
||||
left join device_type t on d.device_type = t.id
|
||||
left join device_assignments da on d.current_owner_id = da.from_customer_id
|
||||
left join device_type t
|
||||
on d.device_type = t.id
|
||||
<where>
|
||||
<!-- 时间范围等其他条件保持原样 -->
|
||||
<if test="criteria.deviceName != null and criteria.deviceName.trim() != ''">
|
||||
@ -52,8 +53,8 @@
|
||||
<if test="criteria.deviceMac != null">
|
||||
and d.device_mac = #{criteria.deviceMac}
|
||||
</if>
|
||||
<if test="criteria.deviceSn != null">
|
||||
and d.device_sn = #{criteria.deviceSn}
|
||||
<if test="criteria.deviceImei != null">
|
||||
and d.device_imei = #{criteria.deviceImei}
|
||||
</if>
|
||||
<if test="criteria.deviceType != null">
|
||||
and d.device_type = #{criteria.deviceType}
|
||||
@ -65,8 +66,8 @@
|
||||
and d.create_time between #{criteria.createTime[0]} and #{criteria.createTime[1]}
|
||||
</if>
|
||||
|
||||
<if test="criteria.currentOwnerId != null">
|
||||
AND (current_owner_id = #{criteria.currentOwnerId} OR da.from_customer_id = #{criteria.currentOwnerId})
|
||||
<if test="criteria.tenantId != null">
|
||||
AND tenant_id = #{criteria.tenantId}
|
||||
</if>
|
||||
|
||||
|
||||
@ -80,8 +81,6 @@
|
||||
<!-- <if test="criteria.customerId == null"> -->
|
||||
<!-- AND tenant_id = #{criteria.tenantId} -->
|
||||
<!-- </if> -->
|
||||
|
||||
|
||||
</where>
|
||||
|
||||
order by d.id desc
|
||||
|
Reference in New Issue
Block a user