瀏覽代碼

日志台账添加管理员角色查询

yanliming 5 年之前
父節點
當前提交
ba70cbf737

+ 1 - 0
common/src/main/java/com/jpsoft/smart/modules/base/dao/DeviceInfoDAO.java

@@ -15,6 +15,7 @@ public interface DeviceInfoDAO {
 	DeviceInfo getByDeviceNo(String deviceNo);
 	int delete(String id);
 	List<DeviceInfo> list();
+	List<DeviceInfo> findByCompanyId(String companyId);
 	List<DeviceInfo> search(Map<String, Object> searchParams, List<Sort> sortList);
 
 	DeviceInfo findByDeviceNo(String deviceNo);

+ 1 - 0
common/src/main/java/com/jpsoft/smart/modules/base/service/DeviceInfoService.java

@@ -14,6 +14,7 @@ public interface DeviceInfoService {
 	int delete(String id);
 	List<DeviceInfo> list();
 	DeviceInfo getByDeviceNo(String deviceNo);
+	List<DeviceInfo> findByCompanyId(String companyId);
 	Page<DeviceInfo> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize,boolean count, List<Sort> sortList);
 	void updateByDeviceNo(String deviceNo, String ip);
 }

+ 5 - 0
common/src/main/java/com/jpsoft/smart/modules/base/service/impl/DeviceInfoServiceImpl.java

@@ -66,6 +66,11 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
 		return deviceInfoDAO.getByDeviceNo(deviceNo);
 	}
 
+	@Override
+	public List<DeviceInfo> findByCompanyId(String companyId){
+		return deviceInfoDAO.findByCompanyId(companyId);
+	}
+
 	@Override
 	public Page<DeviceInfo> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {
         Page<DeviceInfo> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{

+ 4 - 0
common/src/main/resources/mapper/base/DeviceInfo.xml

@@ -165,5 +165,9 @@ id_, header_,device_no,alias_name,address_,is_online,company_id,unlock_password,
 	<select id="findByDeviceNo" parameterType="string" resultMap="DeviceInfoMap">
 			select * from base_device_info where device_no = #{0} and del_flag=false
 	</select>
+	<select id="findByCompanyId" parameterType="string" resultMap="DeviceInfoMap">
+			select * from base_device_info where company_id = #{0} and del_flag=false
+	</select>
+
 
 </mapper>

+ 2 - 2
common/src/main/resources/mapper/base/PersonDeviceLog.xml

@@ -61,8 +61,8 @@
 		]]>
         <where>
             and a.del_flag = false and b.del_flag=false
-            <if test="searchParams.companyId != null">
-                and c.company_id = #{searchParams.companyId}
+            <if test="searchParams.deviceIds != null">
+                and b.id_ in #{searchParams.deviceIds}
             </if>
             <if test="searchParams.deviceNo != null">
                 and a.device_no like #{searchParams.deviceNo}

+ 27 - 4
web/src/main/java/com/jpsoft/smart/modules/base/controller/PersonDeviceLogController.java

@@ -4,12 +4,18 @@ package com.jpsoft.smart.modules.base.controller;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.util.StringUtil;
 import com.jpsoft.smart.config.OSSConfig;
+import com.jpsoft.smart.modules.base.entity.DeviceInfo;
 import com.jpsoft.smart.modules.base.entity.PersonDeviceLog;
+import com.jpsoft.smart.modules.base.service.DeviceInfoService;
 import com.jpsoft.smart.modules.base.service.PersonDeviceLogService;
 import com.jpsoft.smart.modules.common.dto.MessageResult;
 import com.jpsoft.smart.modules.common.dto.Sort;
 import com.jpsoft.smart.modules.common.utils.OSSUtil;
 import com.jpsoft.smart.modules.common.utils.PojoUtils;
+import com.jpsoft.smart.modules.sys.entity.Role;
+import com.jpsoft.smart.modules.sys.entity.User;
+import com.jpsoft.smart.modules.sys.service.RoleService;
+import com.jpsoft.smart.modules.sys.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -43,10 +49,15 @@ public class PersonDeviceLogController {
     @Autowired
     private OSSConfig ossConfig;
 
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private DeviceInfoService deviceInfoService;
+
     @ApiOperation(value="列表")
     @RequestMapping(value = "pageList",method = RequestMethod.POST)
     @ApiImplicitParams({
-            @ApiImplicitParam(name = "companyId",value = "企业ID", paramType = "query"),
             @ApiImplicitParam(name = "deviceNo",value = "设备编号", paramType = "query"),
             @ApiImplicitParam(name = "aliasName",value = "设备别名", paramType = "query"),
             @ApiImplicitParam(name = "personName",value = "人员姓名", paramType = "query"),
@@ -55,7 +66,6 @@ public class PersonDeviceLogController {
 
     })
     public MessageResult<Map> pageList(
-            String companyId,
             String deviceNo,String aliasName,String personName,
             String timeRanges,String temperatureRanges,
             @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
@@ -72,8 +82,21 @@ public class PersonDeviceLogController {
         List<Sort> sortList = new ArrayList<>();
         sortList.add(new Sort("a.record_time","desc"));
 
-        if(StringUtil.isNotEmpty(companyId)){
-            searchParams.put("companyId",companyId);
+        //为公司管理员
+        boolean is_admin = userService.hasRole(subject,"ADMIN");
+        if(is_admin){
+            User user = userService.get(subject);
+            String companyId = user.getCompanyId();
+
+            List<DeviceInfo> deviceInfoList = deviceInfoService.findByCompanyId(companyId);
+            String deviceIds ="";
+            for (DeviceInfo deviceInfo:deviceInfoList) {
+                deviceIds += deviceInfo.getId()+",";
+            }
+            if(StringUtil.isNotEmpty(deviceIds)){
+                deviceIds = deviceIds.substring(0,deviceIds.lastIndexOf(","));
+                searchParams.put("deviceIds","("+deviceIds+")");
+            }
         }
         if(StringUtil.isNotEmpty(deviceNo)){
             searchParams.put("deviceNo","%"+deviceNo+"%");