diff --git a/src/main/java/com/gaotao/modules/factory/controller/SiteController.java b/src/main/java/com/gaotao/modules/factory/controller/SiteController.java index e7e497d..ad88858 100644 --- a/src/main/java/com/gaotao/modules/factory/controller/SiteController.java +++ b/src/main/java/com/gaotao/modules/factory/controller/SiteController.java @@ -5,6 +5,7 @@ import com.gaotao.common.utils.R; import com.gaotao.modules.base.data.BuData; import com.gaotao.modules.factory.entity.Site; import com.gaotao.modules.factory.entity.vo.BusinessRoleVo; +import com.gaotao.modules.factory.entity.vo.MachineResourceVo; import com.gaotao.modules.factory.entity.vo.SiteVo; import com.gaotao.modules.factory.service.SiteService; import com.gaotao.modules.sys.entity.SysDepartmentEntity; @@ -133,4 +134,42 @@ public class SiteController { service.delUserBusinessRole(data); return R.ok(); } + + // ========================== 机台授权相关接口 ========================== + + /** + * 获取机台授权列表 + * @param data 包含用户名和站点信息 + * @return 机台列表(可选和已授权) + */ + @PostMapping("/getMachineResourceList") + public R getMachineResourceList(@RequestBody MachineResourceVo data){ + // 获取当前用户未授权的机台 + List row1 = service.getMachineResourceList1(data); + // 获取当前用户已授权的机台 + List row2 = service.getMachineResourceList2(data); + return R.ok().put("row1", row1).put("row2", row2); + } + + /** + * 添加用户机台授权 + * @param data 机台授权数据 + * @return 操作结果 + */ + @PostMapping("/addUserMachineResource") + public R addUserMachineResource(@RequestBody MachineResourceVo data) { + service.addUserMachineResource(data); + return R.ok(); + } + + /** + * 删除用户机台授权 + * @param data 机台授权数据 + * @return 操作结果 + */ + @PostMapping("/delUserMachineResource") + public R delUserMachineResource(@RequestBody MachineResourceVo data){ + service.delUserMachineResource(data); + return R.ok(); + } } diff --git a/src/main/java/com/gaotao/modules/factory/dao/SiteMapper.java b/src/main/java/com/gaotao/modules/factory/dao/SiteMapper.java index bdd236a..7620fab 100644 --- a/src/main/java/com/gaotao/modules/factory/dao/SiteMapper.java +++ b/src/main/java/com/gaotao/modules/factory/dao/SiteMapper.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.gaotao.modules.base.data.BuData; import com.gaotao.modules.factory.entity.Site; import com.gaotao.modules.factory.entity.vo.BusinessRoleVo; +import com.gaotao.modules.factory.entity.vo.MachineResourceVo; import com.gaotao.modules.factory.entity.vo.SiteVo; import com.gaotao.modules.sys.entity.SysDepartmentEntity; import org.apache.ibatis.annotations.Mapper; @@ -58,4 +59,15 @@ public interface SiteMapper extends BaseMapper { void addUserBusinessRole(BusinessRoleVo businessRoleData); void delUserBusinessRole(BusinessRoleVo businessRoleData); + + // 机台授权相关方法 + List getMachineResourceList1(MachineResourceVo data); + + List getMachineResourceList2(MachineResourceVo data); + + MachineResourceVo selectMachineResourceByUserName(MachineResourceVo machineResourceData); + + void addUserMachineResource(MachineResourceVo machineResourceData); + + void delUserMachineResource(MachineResourceVo machineResourceData); } diff --git a/src/main/java/com/gaotao/modules/factory/entity/AccessResource.java b/src/main/java/com/gaotao/modules/factory/entity/AccessResource.java new file mode 100644 index 0000000..6ef153a --- /dev/null +++ b/src/main/java/com/gaotao/modules/factory/entity/AccessResource.java @@ -0,0 +1,79 @@ +package com.gaotao.modules.factory.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; + +/** + * 用户机台访问权限实体类 + */ +@TableName("AccessResource") +public class AccessResource { + + /** + * 站点 + */ + @TableId + private String site; + + /** + * 事业部编号 + */ + private String buNo; + + /** + * 机台ID + */ + private String resourceID; + + /** + * 用户ID + */ + private String userid; + + /** + * 机台描述(不存储在数据库,用于前端显示) + */ + @TableField(exist = false) + private String resourceDesc; + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getBuNo() { + return buNo; + } + + public void setBuNo(String buNo) { + this.buNo = buNo; + } + + public String getResourceID() { + return resourceID; + } + + public void setResourceID(String resourceID) { + this.resourceID = resourceID; + } + + public String getUserid() { + return userid; + } + + public void setUserid(String userid) { + this.userid = userid; + } + + public String getResourceDesc() { + return resourceDesc; + } + + public void setResourceDesc(String resourceDesc) { + this.resourceDesc = resourceDesc; + } +} diff --git a/src/main/java/com/gaotao/modules/factory/entity/vo/MachineResourceVo.java b/src/main/java/com/gaotao/modules/factory/entity/vo/MachineResourceVo.java new file mode 100644 index 0000000..76b93fc --- /dev/null +++ b/src/main/java/com/gaotao/modules/factory/entity/vo/MachineResourceVo.java @@ -0,0 +1,87 @@ +package com.gaotao.modules.factory.entity.vo; + +import java.util.List; + +/** + * 机台授权VO类 + */ +public class MachineResourceVo { + + /** + * 用户名 + */ + private String username; + + /** + * 站点 + */ + private String site; + + /** + * 事业部编号 + */ + private String buNo; + + /** + * 机台ID + */ + private String resourceID; + + /** + * 机台描述 + */ + private String resourceDesc; + + /** + * 机台列表(用于批量操作) + */ + private List resourceList; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getSite() { + return site; + } + + public void setSite(String site) { + this.site = site; + } + + public String getBuNo() { + return buNo; + } + + public void setBuNo(String buNo) { + this.buNo = buNo; + } + + public String getResourceID() { + return resourceID; + } + + public void setResourceID(String resourceID) { + this.resourceID = resourceID; + } + + public String getResourceDesc() { + return resourceDesc; + } + + public void setResourceDesc(String resourceDesc) { + this.resourceDesc = resourceDesc; + } + + public List getResourceList() { + return resourceList; + } + + public void setResourceList(List resourceList) { + this.resourceList = resourceList; + } +} diff --git a/src/main/java/com/gaotao/modules/factory/service/SiteService.java b/src/main/java/com/gaotao/modules/factory/service/SiteService.java index 6d8da33..c71ddb3 100644 --- a/src/main/java/com/gaotao/modules/factory/service/SiteService.java +++ b/src/main/java/com/gaotao/modules/factory/service/SiteService.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.gaotao.modules.base.data.BuData; import com.gaotao.modules.factory.entity.Site; import com.gaotao.modules.factory.entity.vo.BusinessRoleVo; +import com.gaotao.modules.factory.entity.vo.MachineResourceVo; import com.gaotao.modules.factory.entity.vo.SiteVo; import com.gaotao.modules.sys.entity.SysDepartmentEntity; @@ -48,4 +49,13 @@ public interface SiteService extends IService { void addUserBusinessRole(BusinessRoleVo data); void delUserBusinessRole(BusinessRoleVo data); + + // 机台授权相关方法 + List getMachineResourceList1(MachineResourceVo data); + + List getMachineResourceList2(MachineResourceVo data); + + void addUserMachineResource(MachineResourceVo data); + + void delUserMachineResource(MachineResourceVo data); } diff --git a/src/main/java/com/gaotao/modules/factory/service/impl/SiteServiceImpl.java b/src/main/java/com/gaotao/modules/factory/service/impl/SiteServiceImpl.java index 6b79e8e..4965e62 100644 --- a/src/main/java/com/gaotao/modules/factory/service/impl/SiteServiceImpl.java +++ b/src/main/java/com/gaotao/modules/factory/service/impl/SiteServiceImpl.java @@ -5,6 +5,7 @@ import com.gaotao.modules.base.data.BuData; import com.gaotao.modules.factory.dao.SiteMapper; import com.gaotao.modules.factory.entity.Site; import com.gaotao.modules.factory.entity.vo.BusinessRoleVo; +import com.gaotao.modules.factory.entity.vo.MachineResourceVo; import com.gaotao.modules.factory.entity.vo.SiteVo; import com.gaotao.modules.factory.service.SiteService; import com.gaotao.modules.sys.entity.SysDepartmentEntity; @@ -196,4 +197,45 @@ public class SiteServiceImpl extends ServiceImpl implements Si siteMapper.delUserBusinessRole(businessRoleData); } } + + // ========================== 机台授权相关方法实现 ========================== + + @Override + public List getMachineResourceList1(MachineResourceVo data) { + List list = siteMapper.getMachineResourceList1(data); + return list; + } + + @Override + public List getMachineResourceList2(MachineResourceVo data) { + List list = siteMapper.getMachineResourceList2(data); + return list; + } + + @Override + @Transactional + public void addUserMachineResource(MachineResourceVo data) { + for (MachineResourceVo machineResourceData : data.getResourceList()) { + machineResourceData.setUsername(data.getUsername()); + // 检查该机台是否已存在该用户的授权中 + MachineResourceVo checkDetail = siteMapper.selectMachineResourceByUserName(machineResourceData); + if (checkDetail != null) { + throw new RuntimeException("机台权限已存在!"); + } + // 新增机台授权 + siteMapper.addUserMachineResource(machineResourceData); + } + } + + @Override + @Transactional + public void delUserMachineResource(MachineResourceVo data) { + for (MachineResourceVo machineResourceData : data.getResourceList()) { + machineResourceData.setUsername(data.getUsername()); + machineResourceData.setSite(machineResourceData.getSite()); + machineResourceData.setBuNo(machineResourceData.getBuNo()); + machineResourceData.setResourceID(machineResourceData.getResourceID()); + siteMapper.delUserMachineResource(machineResourceData); + } + } } diff --git a/src/main/resources/mapper/factory/SiteMapper.xml b/src/main/resources/mapper/factory/SiteMapper.xml index 9bd5afe..018be86 100644 --- a/src/main/resources/mapper/factory/SiteMapper.xml +++ b/src/main/resources/mapper/factory/SiteMapper.xml @@ -295,4 +295,61 @@ + + + + + + + + + + + + + + + INSERT INTO AccessResource (site, bu_no, ResourceID, userid) + VALUES (#{site}, + ISNULL((SELECT TOP 1 bu_no FROM AccessBu WHERE username = #{username} AND site = #{site}), ''), + #{resourceID}, + #{username}) + + + + + DELETE FROM AccessResource + WHERE userid = #{username} AND site = #{site} AND ResourceID = #{resourceID} + + \ No newline at end of file