فهرست منبع

设备列表信息根据所在公司设备查询

yanliming 5 سال پیش
والد
کامیت
5224c731bd

+ 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> findByDeviceIdList(List<String> deviceIdList);
 	List<DeviceInfo> findByCompanyId(String companyId);
 	List<DeviceInfo> search(Map<String, Object> searchParams, List<Sort> sortList);
 

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

@@ -13,6 +13,7 @@ public interface DeviceInfoService {
 	int update(DeviceInfo model);
 	int delete(String id);
 	List<DeviceInfo> list();
+	List<DeviceInfo> findByDeviceIdList(List<String> deviceIdList);
 	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);

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

@@ -61,6 +61,11 @@ public class DeviceInfoServiceImpl implements DeviceInfoService {
 		return deviceInfoDAO.list();
 	}
 
+	@Override
+	public List<DeviceInfo> findByDeviceIdList(List<String> deviceIdList){
+		return deviceInfoDAO.findByDeviceIdList(deviceIdList);
+	}
+
 	@Override
 	public DeviceInfo getByDeviceNo(String deviceNo){
 		return deviceInfoDAO.getByDeviceNo(deviceNo);

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

@@ -135,6 +135,12 @@ id_, header_,device_no,alias_name,address_,is_online,company_id,unlock_password,
 	<select id="list" resultMap="DeviceInfoMap">
 		select * from base_device_info where del_flag=false
 	</select>
+	<select id="findByDeviceIdList"  resultMap="DeviceInfoMap">
+		select * from base_device_info where del_flag=false and id_ in
+		<foreach item="item" collection="list"  open="(" separator="," close=")">
+			#{item}
+		</foreach>
+	</select>
 	<select id="search" parameterType="hashmap" resultMap="DeviceInfoMap">
 		<![CDATA[
 			select

+ 22 - 1
web/src/main/java/com/jpsoft/smart/modules/base/controller/DeviceInfoController.java

@@ -8,7 +8,9 @@ import com.jpsoft.smart.modules.common.dto.MessageResult;
 import com.jpsoft.smart.modules.base.entity.DeviceInfo;
 import com.jpsoft.smart.modules.base.service.DeviceInfoService;
 import com.jpsoft.smart.modules.lapi.service.ILapiService;
+import com.jpsoft.smart.modules.sys.entity.User;
 import com.jpsoft.smart.modules.sys.service.DataDictionaryService;
+import com.jpsoft.smart.modules.sys.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -38,6 +40,9 @@ public class DeviceInfoController {
     @Autowired
     private ILapiService lapiService;
 
+    @Autowired
+    private UserService userService;
+
     @ApiOperation(value="添加设备")
     @PostMapping("add")
     public MessageResult<DeviceInfo> add(@RequestBody DeviceInfo deviceInfo,@RequestAttribute String subject){
@@ -306,7 +311,23 @@ public class DeviceInfoController {
     public MessageResult<List<DeviceInfo>> list(@RequestAttribute String subject) {
         MessageResult<List<DeviceInfo>> msgResult = new MessageResult<>();
         try {
-            List<DeviceInfo> list = deviceInfoService.list();
+            List<DeviceInfo> list = new ArrayList<>();
+            //为公司管理员
+            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());
+                }
+                list = deviceInfoService.findByDeviceIdList(deviceIdList);
+            }
+            else{
+                list = deviceInfoService.list();
+            }
 
             for (DeviceInfo deviceInfo:list) {
                 String typeN = dataDictionaryService.findParentId("ddf2ecbe-84a6-4f0d-a84f-2fc6917f5856",deviceInfo.getType());