diff --git a/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java b/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java index 256ba12..e38d200 100644 --- a/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java +++ b/admin/src/main/java/com/hcy/admin/controller/client/EquipmentController.java @@ -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 params) { + PageResult list = iEquipmentService.selectClientEquipment(pageParam, params); + return AjaxResult.success(list); + } } diff --git a/admin/src/main/java/com/hcy/admin/service/client/IEquipmentService.java b/admin/src/main/java/com/hcy/admin/service/client/IEquipmentService.java index 154b70c..3ac4f3d 100644 --- a/admin/src/main/java/com/hcy/admin/service/client/IEquipmentService.java +++ b/admin/src/main/java/com/hcy/admin/service/client/IEquipmentService.java @@ -68,4 +68,20 @@ public interface IEquipmentService { * @param equipmentParam */ void relevancyClient(EquipmentParam equipmentParam); + + /** + * 查询还没有被这个客户绑定的设备 + * @param pageParam + * @param params + * @return + */ + PageResult selectClientEquipment(PageParam pageParam, Map params); + + /** + * 校验设备编码是否唯一 + * + * @param bo 设备信息 + * @return 结果 + */ + Boolean checkEquipmentNumberUnique(EquipmentParam bo); } diff --git a/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java index 2109110..a3186be 100644 --- a/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/client/impl/EquipmentServiceImpl.java @@ -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() + .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() + .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 modelList = equipmentMapper.selectList( new QueryWrapper() - .eq("id", equipmentParam.getId()) - .eq("is_delete", 0) - .last("limit 1")); - - Assert.notNull(model, "数据不存在!"); - model.setClientId(equipmentParam.getClientId());//用户id - model.setUpdateTime(System.currentTimeMillis() / 1000); - equipmentMapper.updateById(model); + .in("id", equipmentParam.getIds()) + .eq("is_delete", 0)); + Assert.notNull(modelList, "数据不存在!"); + + for (Equipment equipment : modelList) { + equipment.setClientId(equipmentParam.getClientId());//客户id + Client client = clientMapper.selectOne( + new QueryWrapper() + .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 selectClientEquipment(PageParam pageParam, Map params) { + Integer page = pageParam.getPageNo(); + Integer limit = pageParam.getPageSize(); + + QueryWrapper 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 iPage = equipmentMapper.selectPage(new Page<>(page, limit), queryWrapper); + + List list = new LinkedList<>(); + for(Equipment item : iPage.getRecords()) { + EquipmentListVo vo = new EquipmentListVo(); + BeanUtils.copyProperties(item, vo); + + Client model = clientMapper.selectOne( + new QueryWrapper() + .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 = equipmentMapper.selectList(new LambdaQueryWrapper() + .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; } } diff --git a/admin/src/main/java/com/hcy/admin/service/configuration/impl/SystemConfigurationServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/configuration/impl/SystemConfigurationServiceImpl.java index 38b6704..3348c43 100644 --- a/admin/src/main/java/com/hcy/admin/service/configuration/impl/SystemConfigurationServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/configuration/impl/SystemConfigurationServiceImpl.java @@ -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); } diff --git a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java index 8e9c12e..3c9f309 100644 --- a/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java +++ b/admin/src/main/java/com/hcy/admin/service/system/impl/SystemAuthAdminServiceImpl.java @@ -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) { diff --git a/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java b/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java index acc5c57..806f1df 100644 --- a/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/client/EquipmentParam.java @@ -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 ids; //批量停用 + private String clientName; // 客户名称 } diff --git a/admin/src/main/java/com/hcy/admin/validate/configuration/SystemConfigurationParam.java b/admin/src/main/java/com/hcy/admin/validate/configuration/SystemConfigurationParam.java index 95b0d7d..16aecee 100644 --- a/admin/src/main/java/com/hcy/admin/validate/configuration/SystemConfigurationParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/configuration/SystemConfigurationParam.java @@ -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; // 客服电话 } diff --git a/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java b/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java index fb83ef2..03bdd7b 100644 --- a/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java +++ b/admin/src/main/java/com/hcy/admin/validate/system/SystemAuthAdminParam.java @@ -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; // 技术等级 } diff --git a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java index e74e926..ccd8a31 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentDetailVo.java @@ -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; // 客户名称 } diff --git a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java index 7fbf991..8a3e00e 100644 --- a/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/client/EquipmentListVo.java @@ -31,5 +31,5 @@ public class EquipmentListVo implements Serializable { private Integer dailyAudit; // 每隔几天巡检 private String deviceCode; // 设备码 private String createTime; // 创建时间 - + private String clientName; // 客户名称 } diff --git a/admin/src/main/java/com/hcy/admin/vo/configuration/SystemConfigurationDetailVo.java b/admin/src/main/java/com/hcy/admin/vo/configuration/SystemConfigurationDetailVo.java index 6b9bce1..6ad6b93 100644 --- a/admin/src/main/java/com/hcy/admin/vo/configuration/SystemConfigurationDetailVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/configuration/SystemConfigurationDetailVo.java @@ -23,5 +23,6 @@ public class SystemConfigurationDetailVo implements Serializable { private Integer maintenanceAutoOrderTime; // 维修员自动抢单时间(分钟) private Integer maintenanceRemind; // 维修员系统提现客服(0=开启,1-关闭) private Integer maintenanceCommissionRate; // 维修员提成比例 + private String servicePhone; // 客服电话 } diff --git a/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthAdminVo.java b/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthAdminVo.java index 29683ef..ca43fa9 100644 --- a/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthAdminVo.java +++ b/admin/src/main/java/com/hcy/admin/vo/system/SystemAuthAdminVo.java @@ -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; // 技术等级 } diff --git a/common/src/main/java/com/hcy/common/entity/client/Equipment.java b/common/src/main/java/com/hcy/common/entity/client/Equipment.java index 0480e1e..3b71387 100644 --- a/common/src/main/java/com/hcy/common/entity/client/Equipment.java +++ b/common/src/main/java/com/hcy/common/entity/client/Equipment.java @@ -37,5 +37,5 @@ public class Equipment implements Serializable { private Long createTime; // 创建时间 private Long updateTime; // 更新时间 private Long deleteTime; // 删除时间 - + private String clientName; // 客户名称 } \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/entity/configuration/SystemConfiguration.java b/common/src/main/java/com/hcy/common/entity/configuration/SystemConfiguration.java index e9d1b89..47eef12 100644 --- a/common/src/main/java/com/hcy/common/entity/configuration/SystemConfiguration.java +++ b/common/src/main/java/com/hcy/common/entity/configuration/SystemConfiguration.java @@ -26,5 +26,6 @@ public class SystemConfiguration implements Serializable { private Integer maintenanceAutoOrderTime; // 维修员自动抢单时间(分钟) private Integer maintenanceRemind; // 维修员系统提现客服(0=开启,1-关闭) private Integer maintenanceCommissionRate; // 维修员提成比例 + private String servicePhone; // 客服电话 } \ No newline at end of file diff --git a/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java b/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java index 9ef1ee7..3323bd9 100644 --- a/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java +++ b/common/src/main/java/com/hcy/common/entity/system/SystemAuthAdmin.java @@ -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; // 技术等级 } diff --git a/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java b/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java index 5c35e52..4f215f7 100644 --- a/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java +++ b/common/src/main/java/com/hcy/common/mapper/client/EquipmentMapper.java @@ -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 */