Forráskód Böngészése

Merge remote-tracking branch 'origin/V1' into V1

xiao547607 5 éve
szülő
commit
5e38028bb3

+ 2 - 1
common/src/main/java/com/jpsoft/smart/modules/base/dao/PersonDeviceRelationDAO.java

@@ -15,6 +15,7 @@ public interface PersonDeviceRelationDAO {
 	int delete(String id);
 	List<PersonDeviceRelation> list();
 	List<PersonDeviceRelation> findByPersonId(String personId);
-    List<PersonDeviceRelation> findByDeviceId(String eviceId);
+    List<PersonDeviceRelation> findByDeviceId(String deviceId);
+    PersonDeviceRelation findByDeviceIdAndPersonId(String deviceId,String personId);
 	List<PersonDeviceRelation> search(Map<String, Object> searchParams, List<Sort> sortList);
 }

+ 12 - 0
common/src/main/java/com/jpsoft/smart/modules/base/entity/DeviceInfo.java

@@ -60,6 +60,13 @@ public class DeviceInfo {
 	 *运行状态(是否在线)
 	 */
 	private String isOnlineN;
+
+    /**
+     *公司ID
+     */
+    @ApiModelProperty(value = "公司ID")
+    private String companyId;
+
 	/**
 	 *开锁密码
 	 */
@@ -129,6 +136,10 @@ public class DeviceInfo {
 	    @ApiModelProperty(value = "更新时间")
 	private Date updateTime;
 
+
+	@ApiModelProperty(value = "是否绑定人员(只做查询作用,不写入数据库)")
+	private Boolean isBindPerson;
+
 	public String getIsOnlineN() {
 		if(isOnline!=null) {
 			if (isOnline) {
@@ -151,4 +162,5 @@ public class DeviceInfo {
 		return isAutoUpdateN;
 	}
 
+
 }

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

@@ -15,5 +15,6 @@ public interface PersonDeviceRelationService {
 	List<PersonDeviceRelation> list();
 	List<PersonDeviceRelation> findByPersonId(String personId);
 	List<PersonDeviceRelation> findByDeviceId(String deviceId);
+	PersonDeviceRelation findByDeviceIdAndPersonId(String deviceId,String personId);
 	Page<PersonDeviceRelation> 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/PersonDeviceRelationServiceImpl.java

@@ -69,6 +69,11 @@ public class PersonDeviceRelationServiceImpl implements PersonDeviceRelationServ
 		return personDeviceRelationDAO.findByDeviceId(deviceId);
 	}
 
+	@Override
+	public PersonDeviceRelation findByDeviceIdAndPersonId(String deviceId,String personId){
+		return personDeviceRelationDAO.findByDeviceIdAndPersonId(deviceId,personId);
+	}
+
 
 		
 	@Override

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

@@ -10,6 +10,7 @@
 			<result property="aliasName" column="alias_name" />
 			<result property="address" column="address_" />
 			<result property="isOnline" column="is_online" />
+			<result property="companyId" column="company_id" />
 			<result property="unlockPassword" column="unlock_password" />
 			<result property="codeAddress" column="code_address" />
 			<result property="ipAddress" column="ip_address" />
@@ -30,7 +31,7 @@
 	-->
 	<![CDATA[
 		insert into base_device_info
-	    (id_,header_,device_no,alias_name,address_,is_online,unlock_password,code_address,ip_address,port_,type_,is_auto_update,del_flag,create_by,create_time,update_by,update_time)
+	    (id_,header_,device_no,alias_name,address_,is_online,company_id,unlock_password,code_address,ip_address,port_,type_,is_auto_update,del_flag,create_by,create_time,update_by,update_time)
 		values
 		(
 #{id,jdbcType=VARCHAR}
@@ -40,6 +41,7 @@
 ,#{address,jdbcType=VARCHAR}
 ,#{isOnline,jdbcType= NUMERIC }
 ,#{unlockPassword,jdbcType=VARCHAR}
+,#{companyId,jdbcType=VARCHAR}
 ,#{codeAddress,jdbcType=VARCHAR}
 ,#{ipAddress,jdbcType=VARCHAR}
 ,#{port,jdbcType=VARCHAR}
@@ -74,6 +76,9 @@
 				<if test="isOnline!=null">
 		is_online=#{isOnline,jdbcType= NUMERIC },
 		</if>
+			<if test="companyId!=null">
+				company_id=#{companyId,jdbcType=VARCHAR},
+			</if>
 				<if test="unlockPassword!=null">
 		unlock_password=#{unlockPassword,jdbcType=VARCHAR},
 		</if>
@@ -112,7 +117,7 @@
 	</update>
 	<select id="get" parameterType="string" resultMap="DeviceInfoMap">
 		select 
-id_, header_,device_no,alias_name,address_,is_online,unlock_password,code_address,ip_address,port_,type_,is_auto_update,del_flag,create_by,create_time,update_by,update_time		from base_device_info where id_=#{0}
+id_, header_,device_no,alias_name,address_,is_online,company_id,unlock_password,code_address,ip_address,port_,type_,is_auto_update,del_flag,create_by,create_time,update_by,update_time		from base_device_info where id_=#{0}
 	</select>
 	<select id="exist" parameterType="string" resultType="int">
 		select count(*) from base_device_info where id_=#{0} and  del_flag=false
@@ -135,6 +140,9 @@ id_, header_,device_no,alias_name,address_,is_online,unlock_password,code_addres
 			<if test="searchParams.address != null">
 				and address_ like #{searchParams.address}
 			</if>
+			<if test="searchParams.companyId != null">
+				and company_id = #{searchParams.companyId}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}

+ 3 - 0
common/src/main/resources/mapper/base/PersonDeviceRelation.xml

@@ -85,6 +85,9 @@ id_,device_id,person_id,del_flag,create_by,create_time,update_by,update_time		fr
 	<select id="findByDeviceId" parameterType="string" resultMap="PersonDeviceRelationMap">
 		select * from base_person_device_relation where device_id=#{deviceId} and del_flag=false
 	</select>
+	<select id="findByDeviceIdAndPersonId" parameterType="string" resultMap="PersonDeviceRelationMap">
+		select * from base_person_device_relation where device_id=#{deviceId} and person_id=#{personId} and del_flag=false
+	</select>
 	<select id="search" parameterType="hashmap" resultMap="PersonDeviceRelationMap">
 		<![CDATA[
 			select * from base_person_device_relation

+ 51 - 0
web/src/main/java/com/jpsoft/smart/modules/base/controller/PersonDeviceRelationController.java

@@ -1,11 +1,15 @@
 package com.jpsoft.smart.modules.base.controller;
 
 import com.github.pagehelper.Page;
+import com.jpsoft.smart.modules.base.entity.DeviceInfo;
+import com.jpsoft.smart.modules.base.service.DeviceInfoService;
 import com.jpsoft.smart.modules.common.utils.PojoUtils;
 import com.jpsoft.smart.modules.common.dto.Sort;
 import com.jpsoft.smart.modules.common.dto.MessageResult;
+import com.jpsoft.smart.modules.sys.entity.User;
 import com.jpsoft.smart.modules.base.entity.PersonDeviceRelation;
 import com.jpsoft.smart.modules.base.service.PersonDeviceRelationService;
+import com.jpsoft.smart.modules.sys.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -29,6 +33,12 @@ public class PersonDeviceRelationController {
     @Autowired
     private PersonDeviceRelationService personDeviceRelationService;
 
+    @Autowired
+    private DeviceInfoService deviceInfoService;
+
+    @Autowired
+    private UserService userService;
+
     
     @ApiOperation(value="添加设备和人员绑定")
     @PostMapping("add")
@@ -297,6 +307,47 @@ public class PersonDeviceRelationController {
     }
 
 
+    @ApiOperation(value="人员查询是否绑定设备")
+    @RequestMapping(value = "isUnbindDeviceList",method = RequestMethod.POST)
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "personId",value = "人员ID",required = true ,paramType = "query")
+    })
+    public MessageResult<Map> isUnbindDeviceList(
+            String personId,
+            @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+            @RequestParam(value="pageSize",defaultValue="20") int pageSize,@RequestAttribute String subject){
+
+        MessageResult<Map> msgResult = new MessageResult<>();
+
+        User user = userService.get(subject);
+
+        Map<String,Object> searchParams = new HashMap<>();
+
+        List<Sort> sortList = new ArrayList<>();
+        sortList.add(new Sort("create_time","desc"));
+
+        searchParams.put("companyId",user.getCompanyId());
+
+        Page<DeviceInfo> page = deviceInfoService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+
+        for (DeviceInfo deviceInfo:page) {
+            PersonDeviceRelation item = personDeviceRelationService.findByDeviceIdAndPersonId(deviceInfo.getId(),personId);
+            if(item == null){
+                deviceInfo.setIsBindPerson(false);
+            }
+            else{
+                deviceInfo.setIsBindPerson(true);
+            }
+        }
+
+        msgResult.setResult(true);
+        msgResult.setData(PojoUtils.pageWrapper(page));
+
+        return msgResult;
+
+    }
+
+
 
 
 }