Pārlūkot izejas kodu

日志台账列表查询调整权限

yanliming 5 gadi atpakaļ
vecāks
revīzija
4971744236

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

@@ -61,8 +61,11 @@
 		]]>
         <where>
             and a.del_flag = false and b.del_flag=false
-            <if test="searchParams.deviceIds != null">
-                and b.id_ in #{searchParams.deviceIds}
+            <if test="searchParams.deviceIdList != null">
+                and b.id_ in
+                <foreach item="item" collection="searchParams.deviceIdList"  open="('" separator="," close="')">
+                    ${item}
+                </foreach>
             </if>
             <if test="searchParams.deviceNo != null">
                 and a.device_no like #{searchParams.deviceNo}

+ 18 - 10
web/src/main/java/com/jpsoft/smart/modules/base/controller/PersonDeviceLogController.java

@@ -89,14 +89,12 @@ public class PersonDeviceLogController {
             String companyId = user.getCompanyId();
 
             List<DeviceInfo> deviceInfoList = deviceInfoService.findByCompanyId(companyId);
-            String deviceIds ="";
+            List<String> deviceIdList = new ArrayList<String>();
             for (DeviceInfo deviceInfo:deviceInfoList) {
-                deviceIds += deviceInfo.getId()+",";
-            }
-            if(StringUtil.isNotEmpty(deviceIds)){
-                deviceIds = deviceIds.substring(0,deviceIds.lastIndexOf(","));
-                searchParams.put("deviceIds","("+deviceIds+")");
+                deviceIdList.add(deviceInfo.getId());
             }
+
+            searchParams.put("deviceIdList",deviceIdList);
         }
         if(StringUtil.isNotEmpty(deviceNo)){
             searchParams.put("deviceNo","%"+deviceNo+"%");
@@ -159,7 +157,6 @@ public class PersonDeviceLogController {
     @ApiOperation(value="导出日志台账")
     @PostMapping("exportXls")
     @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"),
@@ -167,7 +164,6 @@ public class PersonDeviceLogController {
             @ApiImplicitParam(name = "temperatureRanges",value = "温度范围", paramType = "query")
     })
     public MessageResult<String> exportXls(
-                                String companyId,
                                 String deviceNo,String aliasName,String personName,
                                 String timeRanges,String temperatureRanges,
                                 @RequestAttribute String subject) {
@@ -201,9 +197,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);
+                List<String> deviceIdList = new ArrayList<String>();
+                for (DeviceInfo deviceInfo:deviceInfoList) {
+                    deviceIdList.add(deviceInfo.getId());
+                }
+
+                searchParams.put("deviceIdList",deviceIdList);
             }
+
             if(StringUtil.isNotEmpty(deviceNo)){
                 searchParams.put("deviceNo","%"+deviceNo+"%");
             }