瀏覽代碼

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

jz.kai 5 年之前
父節點
當前提交
287322bfc4

+ 21 - 0
common/src/main/java/com/jpsoft/smart/modules/base/dao/CompanyDeviceRelationDAO.java

@@ -0,0 +1,21 @@
+package com.jpsoft.smart.modules.base.dao;
+
+import java.util.List;
+
+import com.jpsoft.smart.modules.base.entity.DeviceInfo;
+import org.springframework.stereotype.Repository;
+import com.jpsoft.smart.modules.base.entity.CompanyDeviceRelation;
+import java.util.Map;
+import com.jpsoft.smart.modules.common.dto.Sort;
+
+@Repository
+public interface CompanyDeviceRelationDAO {
+	int insert(CompanyDeviceRelation entity);
+	int update(CompanyDeviceRelation entity);
+	int exist(String id);
+	CompanyDeviceRelation get(String id);
+	int delete(String id);
+	List<CompanyDeviceRelation> list();
+	List<CompanyDeviceRelation> search(Map<String,Object> searchParams,List<Sort> sortList);
+    List<DeviceInfo> findDeviceByCompanyId(String companyId);
+}

+ 63 - 0
common/src/main/java/com/jpsoft/smart/modules/base/entity/CompanyDeviceRelation.java

@@ -0,0 +1,63 @@
+package com.jpsoft.smart.modules.base.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.text.SimpleDateFormat;
+import java.math.BigDecimal;
+import org.springframework.format.annotation.DateTimeFormat;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+  描述:base_company_device_relation的实体类
+ */
+@Data
+@ApiModel(value = "base_company_device_relation的实体类")
+public class CompanyDeviceRelation {
+	/**
+	 *编号
+	 */
+        @ApiModelProperty(value = "编号")
+	private String id;
+	/**
+	 *单位编号
+	 */
+        @ApiModelProperty(value = "单位编号")
+	private String companyId;
+	/**
+	 *设备编号
+	 */
+        @ApiModelProperty(value = "设备编号")
+	private String deviceId;
+	/**
+	 *创建人
+	 */
+        @ApiModelProperty(value = "创建人")
+	private String createBy;
+	/**
+	 *创建时间
+	 */
+    	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "创建时间")
+	private Date createTime;
+	/**
+	 *更新人
+	 */
+        @ApiModelProperty(value = "更新人")
+	private String updateBy;
+	/**
+	 *更新时间
+	 */
+    	@DateTimeFormat(pattern="yyyy-MM-dd HH:mm")
+	@JsonFormat(pattern = "yyyy-MM-dd HH:mm",timezone ="GMT+8")
+	    @ApiModelProperty(value = "更新时间")
+	private Date updateTime;
+	/**
+	 *是否删除
+	 */
+        @ApiModelProperty(value = "是否删除")
+	private Boolean delFlag;
+}

+ 19 - 0
common/src/main/java/com/jpsoft/smart/modules/base/service/CompanyDeviceRelationService.java

@@ -0,0 +1,19 @@
+package com.jpsoft.smart.modules.base.service;
+
+import java.util.List;
+import java.util.Map;
+import com.jpsoft.smart.modules.base.entity.CompanyDeviceRelation;
+import com.github.pagehelper.Page;
+import com.jpsoft.smart.modules.base.entity.DeviceInfo;
+import com.jpsoft.smart.modules.common.dto.Sort;
+
+public interface CompanyDeviceRelationService {
+	CompanyDeviceRelation get(String id);
+	boolean exist(String id);
+	int insert(CompanyDeviceRelation model);
+	int update(CompanyDeviceRelation model);
+	int delete(String id);
+	List<CompanyDeviceRelation> list();
+	Page<CompanyDeviceRelation> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
+	List<DeviceInfo> findDeviceByCompanyId(String companyId);
+}

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

@@ -0,0 +1,77 @@
+package com.jpsoft.smart.modules.base.service.impl;
+
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+import javax.annotation.Resource;
+
+import com.jpsoft.smart.modules.base.entity.DeviceInfo;
+import org.springframework.stereotype.Component;
+import org.springframework.transaction.annotation.Transactional;
+import com.jpsoft.smart.modules.base.dao.CompanyDeviceRelationDAO;
+import com.jpsoft.smart.modules.base.entity.CompanyDeviceRelation;
+import com.jpsoft.smart.modules.base.service.CompanyDeviceRelationService;
+import com.github.pagehelper.Page;
+import com.jpsoft.smart.modules.common.dto.Sort;
+import com.github.pagehelper.PageHelper;
+
+@Transactional
+@Component(value="companyDeviceRelationService")
+public class CompanyDeviceRelationServiceImpl implements CompanyDeviceRelationService {
+	@Resource(name="companyDeviceRelationDAO")
+	private CompanyDeviceRelationDAO companyDeviceRelationDAO;
+
+	@Override
+	public CompanyDeviceRelation get(String id) {
+		// TODO Auto-generated method stub
+		return companyDeviceRelationDAO.get(id);
+	}
+
+	@Override
+	public int insert(CompanyDeviceRelation model) {
+		// TODO Auto-generated method stub
+		//model.setId(UUID.randomUUID().toString());
+		
+		return companyDeviceRelationDAO.insert(model);
+	}
+
+	@Override
+	public int update(CompanyDeviceRelation model) {
+		// TODO Auto-generated method stub
+		return companyDeviceRelationDAO.update(model);		
+	}
+
+	@Override
+	public int delete(String id) {
+		// TODO Auto-generated method stub
+		return companyDeviceRelationDAO.delete(id);
+	}
+
+	@Override
+	public boolean exist(String id) {
+		// TODO Auto-generated method stub
+		int count = companyDeviceRelationDAO.exist(id);
+		
+		return count > 0 ? true : false;
+	}
+	
+	@Override
+	public List<CompanyDeviceRelation> list() {
+		// TODO Auto-generated method stub
+		return companyDeviceRelationDAO.list();
+	}
+		
+	@Override
+	public Page<CompanyDeviceRelation> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {
+        Page<CompanyDeviceRelation> page = PageHelper.startPage(pageNumber,pageSize,count).doSelectPage(()->{
+            companyDeviceRelationDAO.search(searchParams,sortList);
+        });
+        
+        return page;
+	}
+
+	@Override
+	public List<DeviceInfo> findDeviceByCompanyId(String companyId) {
+		return companyDeviceRelationDAO.findDeviceByCompanyId(companyId);
+	}
+}

+ 96 - 0
common/src/main/resources/mapper/base/CompanyDeviceRelation.xml

@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- namespace必须指向DAO接口 -->
+<mapper namespace="com.jpsoft.smart.modules.base.dao.CompanyDeviceRelationDAO">
+    <resultMap id="CompanyDeviceRelationMap" type="com.jpsoft.smart.modules.base.entity.CompanyDeviceRelation">
+        <id property="id" column="id_"/>
+        <result property="companyId" column="company_id"/>
+        <result property="deviceId" column="device_id"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="delFlag" column="del_flag"/>
+    </resultMap>
+    <insert id="insert" parameterType="com.jpsoft.smart.modules.base.entity.CompanyDeviceRelation">
+        <!--
+        <selectKey resultType="java.lang.String" order="BEFORE" keyProperty="id">
+            select sys_guid() from dual
+        </selectKey>
+        -->
+        <![CDATA[
+		insert into base_company_device_relation
+	    (id_,company_id,device_id,create_by,create_time,update_by,update_time,del_flag)
+		values
+		(
+			#{id,jdbcType=VARCHAR}
+			,#{companyId,jdbcType=VARCHAR}
+			,#{deviceId,jdbcType=VARCHAR}
+			,#{createBy,jdbcType=VARCHAR}
+			,#{createTime,jdbcType= TIMESTAMP }
+			,#{updateBy,jdbcType=VARCHAR}
+			,#{updateTime,jdbcType= TIMESTAMP }
+			,#{delFlag,jdbcType= NUMERIC }
+		)
+	]]>
+    </insert>
+    <delete id="delete" parameterType="string">
+        delete from base_company_device_relation where id_=#{id,jdbcType=VARCHAR}
+    </delete>
+    <update id="update" parameterType="com.jpsoft.smart.modules.base.entity.CompanyDeviceRelation">
+        update base_company_device_relation
+        <set>
+            <if test="companyId!=null">
+                company_id=#{companyId,jdbcType=VARCHAR},
+            </if>
+            <if test="deviceId!=null">
+                device_id=#{deviceId,jdbcType=VARCHAR},
+            </if>
+            <if test="createBy!=null">
+                create_by=#{createBy,jdbcType=VARCHAR},
+            </if>
+            <if test="createTime!=null">
+                create_time=#{createTime,jdbcType= TIMESTAMP },
+            </if>
+            <if test="updateBy!=null">
+                update_by=#{updateBy,jdbcType=VARCHAR},
+            </if>
+            <if test="updateTime!=null">
+                update_time=#{updateTime,jdbcType= TIMESTAMP },
+            </if>
+            <if test="delFlag!=null">
+                del_flag=#{delFlag,jdbcType= NUMERIC },
+            </if>
+        </set>
+        where id_=#{id}
+    </update>
+    <select id="get" parameterType="string" resultMap="CompanyDeviceRelationMap">
+        select
+        id_,company_id,device_id,create_by,create_time,update_by,update_time,del_flag from base_company_device_relation
+        where id_=#{0}
+    </select>
+    <select id="exist" parameterType="string" resultType="int">
+        select count(*) from base_company_device_relation where id_=#{0}
+    </select>
+    <select id="list" resultMap="CompanyDeviceRelationMap">
+        select * from base_company_device_relation
+    </select>
+    <select id="search" parameterType="hashmap" resultMap="CompanyDeviceRelationMap">
+        <![CDATA[
+			select * from base_company_device_relation
+		]]>
+        <where>
+            <if test="searchParams.id != null">
+                and ID_ like #{searchParams.id}
+            </if>
+        </where>
+        <foreach item="sort" collection="sortList" open="order by" separator=",">
+            ${sort.name} ${sort.order}
+        </foreach>
+    </select>
+    <select id="findDeviceByCompanyId" resultMap="com.jpsoft.smart.modules.base.dao.DeviceInfoDAO.DeviceInfoMap">
+        select b.* from base_company_device_relation a,base_device_info b
+        where a.device_id=b.id_ and a.company_id=#{0} order by b.create_time asc
+    </select>
+</mapper>

+ 32 - 22
common/src/main/resources/mapper/base/DeviceInfo.xml

@@ -36,25 +36,25 @@
 	    (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,default_face_library_id)
 		values
 		(
-#{id,jdbcType=VARCHAR}
-,#{header,jdbcType=VARCHAR}
-,#{deviceNo,jdbcType=VARCHAR}
-,#{aliasName,jdbcType=VARCHAR}
-,#{address,jdbcType=VARCHAR}
-,#{isOnline,jdbcType= NUMERIC }
-,#{companyId,jdbcType=VARCHAR}
-,#{unlockPassword,jdbcType=VARCHAR}
-,#{codeAddress,jdbcType=VARCHAR}
-,#{ipAddress,jdbcType=VARCHAR}
-,#{port,jdbcType=VARCHAR}
-,#{type,jdbcType=VARCHAR}
-,#{isAutoUpdate,jdbcType=NUMERIC}
-,#{delFlag,jdbcType= NUMERIC }
-,#{createBy,jdbcType=VARCHAR}
-,#{createTime,jdbcType= TIMESTAMP }
-,#{updateBy,jdbcType=VARCHAR}
-,#{updateTime,jdbcType= TIMESTAMP }
-,#{defaultFaceLibraryId,jdbcType=VARCHAR}
+			#{id,jdbcType=VARCHAR}
+			,#{header,jdbcType=VARCHAR}
+			,#{deviceNo,jdbcType=VARCHAR}
+			,#{aliasName,jdbcType=VARCHAR}
+			,#{address,jdbcType=VARCHAR}
+			,#{isOnline,jdbcType= NUMERIC }
+			,#{companyId,jdbcType=VARCHAR}
+			,#{unlockPassword,jdbcType=VARCHAR}
+			,#{codeAddress,jdbcType=VARCHAR}
+			,#{ipAddress,jdbcType=VARCHAR}
+			,#{port,jdbcType=VARCHAR}
+			,#{type,jdbcType=VARCHAR}
+			,#{isAutoUpdate,jdbcType=NUMERIC}
+			,#{delFlag,jdbcType= NUMERIC }
+			,#{createBy,jdbcType=VARCHAR}
+			,#{createTime,jdbcType= TIMESTAMP }
+			,#{updateBy,jdbcType=VARCHAR}
+			,#{updateTime,jdbcType= TIMESTAMP }
+			,#{defaultFaceLibraryId,jdbcType=VARCHAR}
 		)
 	]]>
 	</insert>
@@ -178,8 +178,18 @@ id_, header_,device_no,alias_name,address_,is_online,company_id,unlock_password,
 			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
+		<![CDATA[
+			select * from base_device_info a where
+			(
+				a.company_id = #{0}
+				or
+				a.id_ in(
+					select b.device_id from base_company_device_relation b
+					where b.device_id=a.id_ and b.company_id=#{0}
+				)
+			)
+			and del_flag=0
+			order by create_time asc
+		]]>
 	</select>
-
-
 </mapper>