【admin】新增&优化# 1、新增查询未被客户绑定设备接口 2、新增校验设备编码是否唯一接口 3、优化设备管理列表 4、用户管理添加性别,年龄,邮箱,技术等级字段 5、系统配置添加客服电话字段

dev
renfan 2024-08-18 16:39:19 +08:00
parent dbffe38772
commit 8470822914
16 changed files with 190 additions and 18 deletions

View File

@ -64,6 +64,9 @@ public class EquipmentController {
@Log(title = "设备管理新增")
@PostMapping("/add")
public Object add(@Validated(value = EquipmentParam.create.class) @RequestBody EquipmentParam equipmentParam) {
if (!iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) {
return AjaxResult.success("新增设备失败,设备编号已存在");
}
iEquipmentService.add(equipmentParam);
return AjaxResult.success();
}
@ -78,6 +81,9 @@ public class EquipmentController {
@Log(title = "设备管理编辑")
@PostMapping("/edit")
public Object edit(@Validated(value = EquipmentParam.update.class) @RequestBody EquipmentParam equipmentParam) {
if (!iEquipmentService.checkEquipmentNumberUnique(equipmentParam)) {
return AjaxResult.success("修改设备失败,设备编号已存在");
}
iEquipmentService.edit(equipmentParam);
return AjaxResult.success();
}
@ -134,4 +140,18 @@ public class EquipmentController {
iEquipmentService.relevancyClient(equipmentParam);
return AjaxResult.success();
}
/**
*
* @author hcy
* @param pageParam
* @param params
* @return Object
*/
@GetMapping("/selectClientEquipment")
public Object selectClientEquipment(@Validated PageParam pageParam,
@RequestParam Map<String, String> params) {
PageResult<EquipmentListVo> list = iEquipmentService.selectClientEquipment(pageParam, params);
return AjaxResult.success(list);
}
}

View File

@ -68,4 +68,20 @@ public interface IEquipmentService {
* @param equipmentParam
*/
void relevancyClient(EquipmentParam equipmentParam);
/**
*
* @param pageParam
* @param params
* @return
*/
PageResult<EquipmentListVo> selectClientEquipment(PageParam pageParam, Map<String, String> params);
/**
*
*
* @param bo
* @return
*/
Boolean checkEquipmentNumberUnique(EquipmentParam bo);
}

View File

@ -1,5 +1,7 @@
package com.hcy.admin.service.client.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -8,10 +10,14 @@ import com.hcy.admin.validate.common.PageParam;
import com.hcy.admin.validate.client.EquipmentParam;
import com.hcy.admin.vo.client.EquipmentListVo;
import com.hcy.admin.vo.client.EquipmentDetailVo;
import com.hcy.admin.vo.sparePart.SparePartListVo;
import com.hcy.common.core.PageResult;
import com.hcy.common.entity.client.Client;
import com.hcy.common.entity.client.Equipment;
import com.hcy.common.enums.equipment.EquipmentStateEnum;
import com.hcy.common.mapper.client.ClientMapper;
import com.hcy.common.mapper.client.EquipmentMapper;
import com.hcy.common.utils.StringUtil;
import com.hcy.common.utils.TimeUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -29,6 +35,9 @@ public class EquipmentServiceImpl implements IEquipmentService {
@Resource
EquipmentMapper equipmentMapper;
@Resource
ClientMapper clientMapper;
/**
*
*
@ -49,6 +58,8 @@ public class EquipmentServiceImpl implements IEquipmentService {
equipmentMapper.setSearch(queryWrapper, params, new String[]{
"like:number:str",
"like:name:str",
"=:clientId@client_id:int",
"like:clientName@client_name:str",
"=:deviceStatus@device_status:int",
"datetime:createTimeStart-createTimeEnd@create_time:str",
});
@ -59,6 +70,7 @@ public class EquipmentServiceImpl implements IEquipmentService {
for(Equipment item : iPage.getRecords()) {
EquipmentListVo vo = new EquipmentListVo();
BeanUtils.copyProperties(item, vo);
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
list.add(vo);
}
@ -99,6 +111,15 @@ public class EquipmentServiceImpl implements IEquipmentService {
Equipment model = new Equipment();
model.setNumber(equipmentParam.getNumber());
model.setClientId(equipmentParam.getClientId());//客户id
Client client = clientMapper.selectOne(
new QueryWrapper<Client>()
.eq("id", equipmentParam.getClientId())
.eq("is_delete", 0)
.last("limit 1"));
if (client != null){
model.setClientName(client.getClientName());
}
model.setName(equipmentParam.getName());
model.setModel(equipmentParam.getModel()); // 设备型号
model.setManufacturers(equipmentParam.getManufacturers()); // 设备厂家
@ -135,6 +156,14 @@ public class EquipmentServiceImpl implements IEquipmentService {
model.setId(equipmentParam.getId());
model.setClientId(equipmentParam.getClientId());
Client client = clientMapper.selectOne(
new QueryWrapper<Client>()
.eq("id", equipmentParam.getClientId())
.eq("is_delete", 0)
.last("limit 1"));
if (client != null){
model.setClientName(client.getClientName());
}
model.setModuleId(equipmentParam.getModuleId());
model.setNumber(equipmentParam.getNumber());
model.setName(equipmentParam.getName());
@ -209,16 +238,102 @@ public class EquipmentServiceImpl implements IEquipmentService {
*/
@Override
public void relevancyClient(EquipmentParam equipmentParam) {
Equipment model = equipmentMapper.selectOne(
List<Equipment> modelList = equipmentMapper.selectList(
new QueryWrapper<Equipment>()
.eq("id", equipmentParam.getId())
.eq("is_delete", 0)
.last("limit 1"));
.in("id", equipmentParam.getIds())
.eq("is_delete", 0));
Assert.notNull(modelList, "数据不存在!");
Assert.notNull(model, "数据不存在!");
model.setClientId(equipmentParam.getClientId());//用户id
model.setUpdateTime(System.currentTimeMillis() / 1000);
equipmentMapper.updateById(model);
for (Equipment equipment : modelList) {
equipment.setClientId(equipmentParam.getClientId());//客户id
Client client = clientMapper.selectOne(
new QueryWrapper<Client>()
.eq("id", equipment.getClientId())
.eq("is_delete", 0)
.last("limit 1"));
if (client != null){
equipment.setClientName(client.getClientName());
}
equipment.setUpdateTime(System.currentTimeMillis() / 1000);
equipmentMapper.updateById(equipment);
}
}
/**
*
*
* @param pageParam
* @param params
* @return
*/
@Override
public PageResult<EquipmentListVo> selectClientEquipment(PageParam pageParam, Map<String, String> params) {
Integer page = pageParam.getPageNo();
Integer limit = pageParam.getPageSize();
QueryWrapper<Equipment> queryWrapper = new QueryWrapper<>();
// 取得查询页的条件
SparePartListVo pageDto = new SparePartListVo();
// 取得查询页的条件 (设备编号/名称)
if (StringUtil.isNotEmpty(params.get("likeWork"))) {
pageDto.setLikeWork(params.get("likeWork"));
queryWrapper.like("number", pageDto.getLikeWork());
queryWrapper.or();
queryWrapper.like("name", pageDto.getLikeWork());
}
queryWrapper.isNull("client_id");
queryWrapper.eq("is_delete", 0);
queryWrapper.orderByDesc("id");
equipmentMapper.setSearch(queryWrapper, params, new String[]{
"like:number:str",
"like:name:str",
"=:deviceStatus@device_status:int",
"datetime:createTimeStart-createTimeEnd@create_time:str",
});
IPage<Equipment> iPage = equipmentMapper.selectPage(new Page<>(page, limit), queryWrapper);
List<EquipmentListVo> list = new LinkedList<>();
for(Equipment item : iPage.getRecords()) {
EquipmentListVo vo = new EquipmentListVo();
BeanUtils.copyProperties(item, vo);
Client model = clientMapper.selectOne(
new QueryWrapper<Client>()
.eq("id", item.getClientId())
.eq("is_delete", 0)
.last("limit 1"));
if (model != null){
vo.setClientName(model.getClientName());
}
vo.setCreateTime(TimeUtil.timestampToDate(item.getCreateTime()));
list.add(vo);
}
return PageResult.iPageHandle(iPage.getTotal(), iPage.getCurrent(), iPage.getSize(), list);
}
/**
*
*
* @param bo
* @return
*/
@Override
public Boolean checkEquipmentNumberUnique(EquipmentParam bo) {
List<Equipment> equipment = equipmentMapper.selectList(new LambdaQueryWrapper<Equipment>()
.eq(Equipment::getNumber, bo.getNumber())
.ne(ObjectUtil.isNotNull(bo.getId()), Equipment::getId, bo.getId()));
boolean exist = true;
if(equipment != null){
exist = true;
}else{
exist = false;
}
return !exist;
}
}

View File

@ -75,6 +75,7 @@ public class SystemConfigurationServiceImpl implements ISystemConfigurationServi
model.setMaintenanceAutoOrderTime(systemConfigurationParam.getMaintenanceAutoOrderTime());
model.setMaintenanceRemind(systemConfigurationParam.getMaintenanceRemind());
model.setMaintenanceCommissionRate(systemConfigurationParam.getMaintenanceCommissionRate());
model.setServicePhone(systemConfigurationParam.getServicePhone());
systemConfigurationMapper.updateById(model);
}

View File

@ -321,6 +321,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
model.setIsDisable(systemAuthAdminParam.getIsDisable());
model.setCreateTime(System.currentTimeMillis() / 1000);
model.setUpdateTime(System.currentTimeMillis() / 1000);
model.setSex(systemAuthAdminParam.getSex());
model.setAge(systemAuthAdminParam.getAge());
model.setEmail(systemAuthAdminParam.getEmail());
model.setTechnicalGrade(systemAuthAdminParam.getTechnicalGrade());
systemAuthAdminMapper.insert(model);
}
@ -374,6 +378,10 @@ public class SystemAuthAdminServiceImpl implements ISystemAuthAdminService {
model.setIsMultipoint(systemAuthAdminParam.getIsMultipoint());
model.setIsDisable(systemAuthAdminParam.getIsDisable());
model.setUpdateTime(System.currentTimeMillis() / 1000);
model.setSex(systemAuthAdminParam.getSex());
model.setAge(systemAuthAdminParam.getAge());
model.setEmail(systemAuthAdminParam.getEmail());
model.setTechnicalGrade(systemAuthAdminParam.getTechnicalGrade());
if (systemAuthAdminParam.getPassword() != null && !systemAuthAdminParam.getPassword().equals("")) {
if (systemAuthAdminParam.getPassword().length() < 6 || systemAuthAdminParam.getPassword().length() > 20) {

View File

@ -31,7 +31,6 @@ public class EquipmentParam implements Serializable {
@DecimalMin(value = "0", message = "moduleId参数值不能少于0", groups = {create.class, update.class})
private Long moduleId;
@Length(max = 255, message = "number参数不能超出255个字符", groups = {create.class, update.class})
private String number;
@Length(max = 255, message = "name参数不能超出255个字符", groups = {create.class, update.class})
@ -77,4 +76,5 @@ public class EquipmentParam implements Serializable {
private String deviceCode;
private List<Integer> ids; //批量停用
private String clientName; // 客户名称
}

View File

@ -63,5 +63,6 @@ public class SystemConfigurationParam implements Serializable {
@NotNull(message = "maintenanceCommissionRate参数缺失", groups = {create.class, update.class})
@DecimalMin(value = "0", message = "maintenanceCommissionRate参数值不能少于0", groups = {create.class, update.class})
private Integer maintenanceCommissionRate;
private String servicePhone; // 客服电话
}

View File

@ -73,5 +73,8 @@ public class SystemAuthAdminParam implements Serializable {
private Long provinceId; //省id
private Long cityId; //市id
private Long districtId; //区id
private Integer sex; // 性别 0-男 1-女
private Integer age; // 年龄
private String email; // 邮箱
private String technicalGrade; // 技术等级
}

View File

@ -13,7 +13,7 @@ public class EquipmentDetailVo implements Serializable {
private static final long serialVersionUID = 1L;
private Long id; // 主键id
private Long clientId; // 户id
private Long clientId; // 户id
private Long moduleId; // 模块id
private String number; // 设备编号
private String name; // 设备名称
@ -30,5 +30,5 @@ public class EquipmentDetailVo implements Serializable {
private Integer inspectionCycle; // 巡检周期方式0=天数间隔1=固定日期)
private Integer dailyAudit; // 每隔几天巡检
private String deviceCode; // 设备码
private String clientName; // 客户名称
}

View File

@ -31,5 +31,5 @@ public class EquipmentListVo implements Serializable {
private Integer dailyAudit; // 每隔几天巡检
private String deviceCode; // 设备码
private String createTime; // 创建时间
private String clientName; // 客户名称
}

View File

@ -23,5 +23,6 @@ public class SystemConfigurationDetailVo implements Serializable {
private Integer maintenanceAutoOrderTime; // 维修员自动抢单时间(分钟)
private Integer maintenanceRemind; // 维修员系统提现客服0=开启1-关闭)
private Integer maintenanceCommissionRate; // 维修员提成比例
private String servicePhone; // 客服电话
}

View File

@ -36,5 +36,8 @@ public class SystemAuthAdminVo implements Serializable {
private String updateTime; // 更新时间
private String plantName; //工厂名
private Integer sex; // 性别 0-男 1-女
private Integer age; // 年龄
private String email; // 邮箱
private String technicalGrade; // 技术等级
}

View File

@ -37,5 +37,5 @@ public class Equipment implements Serializable {
private Long createTime; // 创建时间
private Long updateTime; // 更新时间
private Long deleteTime; // 删除时间
private String clientName; // 客户名称
}

View File

@ -26,5 +26,6 @@ public class SystemConfiguration implements Serializable {
private Integer maintenanceAutoOrderTime; // 维修员自动抢单时间(分钟)
private Integer maintenanceRemind; // 维修员系统提现客服0=开启1-关闭)
private Integer maintenanceCommissionRate; // 维修员提成比例
private String servicePhone; // 客服电话
}

View File

@ -38,5 +38,8 @@ public class SystemAuthAdmin implements Serializable {
private Long createTime; // 创建时间
private Long updateTime; // 更新时间
private Long deleteTime; // 删除时间
private Integer sex; // 性别 0-男 1-女
private Integer age; // 年龄
private String email; // 邮箱
private String technicalGrade; // 技术等级
}

View File

@ -1,10 +1,10 @@
package com.hcy.common.mapper.client;
import com.hcy.common.core.basics.IBaseMapper;
import com.hcy.common.entity.client.Equipment;
import org.apache.ibatis.annotations.Mapper;
/**
* Mapper
*/