dcs 7 ヶ月 前
コミット
5e55e0bf59

+ 10 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemTargetRoomController.java

@@ -96,6 +96,16 @@ public class ProjectItemTargetRoomController {
         room.setOpenState(2);
         room.setCoordinates(projectItemTargetRoom.getCoordinates());
         room.setTagIds(projectItemTargetRoom.getTagIds());
+        if (projectItemTargetRoom.getAddressCode() != null) {
+            List<Long> projectIds = projectItemTargetRoomService.getProjectAddressCode(projectItemTargetRoom.getAddressCode());
+            if (projectIds.size() > 0) {
+                room.setProjectIds(projectIds);
+            } else {
+                long id = -1;
+                projectIds.add(id);
+                room.setProjectIds(projectIds);
+            }
+        }
         return getResponse(currPage, pageSize, room);
     }
 

+ 2 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectDao.java

@@ -32,4 +32,6 @@ public interface ProjectDao {
 
     List<Project> fuzzyName(Project project);
 
+    List<Project> getAddressCode(String addressCode);
+
 }

+ 13 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/Project.java

@@ -50,6 +50,11 @@ public class Project {
      */
     private String address;
 
+    /**
+     * 位置code
+     */
+    private String addressCode;
+
     /**
      * 照片
      */
@@ -161,6 +166,14 @@ public class Project {
         this.address = address;
     }
 
+    public String getAddressCode() {
+        return addressCode;
+    }
+
+    public void setAddressCode(String addressCode) {
+        this.addressCode = addressCode;
+    }
+
     public String getPicture() {
         return picture;
     }

+ 26 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItemTargetRoom.java

@@ -9,6 +9,11 @@ public class ProjectItemTargetRoom {
 
     private long id;
 
+    /**
+     * DTO-位置code
+     */
+    private String addressCode;
+
     /**
      * 编码
      */
@@ -19,6 +24,11 @@ public class ProjectItemTargetRoom {
      */
     private long projectId;
 
+    /**
+     * DTO-项目ids
+     */
+    private List<Long> projectIds;
+
     private String projectName;
 
     /**
@@ -189,6 +199,14 @@ public class ProjectItemTargetRoom {
         this.id = id;
     }
 
+    public String getAddressCode() {
+        return addressCode;
+    }
+
+    public void setAddressCode(String addressCode) {
+        this.addressCode = addressCode;
+    }
+
     public String getCode() {
         return code;
     }
@@ -205,6 +223,14 @@ public class ProjectItemTargetRoom {
         this.projectId = projectId;
     }
 
+    public List<Long> getProjectIds() {
+        return projectIds;
+    }
+
+    public void setProjectIds(List<Long> projectIds) {
+        this.projectIds = projectIds;
+    }
+
     public String getProjectName() {
         return projectName;
     }

+ 11 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemTargetRoomService.java

@@ -282,5 +282,16 @@ public class ProjectItemTargetRoomService {
         return map;
     }
 
+    /**
+     * 根据addressCode字段返回项目ids
+     */
+    public List<Long> getProjectAddressCode(String addressCode) {
+        List<Long> ids = new ArrayList<>();
+        List<Project> list = projectDao.getAddressCode(addressCode);
+        if (list != null && list.size() > 0) {
+            list.forEach(ls -> ids.add(ls.getId()));
+        }
+        return ids;
+    }
 
 }

+ 12 - 0
virgo.api/src/main/resources/mapper/ProjectItemTargetRoomMapper.xml

@@ -95,6 +95,12 @@
             <if test="projectId != 0">
                 and projectId = #{projectId}
             </if>
+            <if test="projectIds != null">
+                and projectId in
+                <foreach collection="projectIds" open="(" separator="," close=")" item="id">
+                    #{id}
+                </foreach>
+            </if>
             <if test="projectItemId != 0">
                 and projectItemId = #{projectItemId}
             </if>
@@ -160,6 +166,12 @@
             <if test="p.projectId != 0">
                 and a.projectId = #{p.projectId}
             </if>
+            <if test="p.projectIds != null">
+                and a.projectId in
+                <foreach collection="p.projectIds" open="(" separator="," close=")" item="id">
+                    #{id}
+                </foreach>
+            </if>
             <if test="p.projectItemId != 0">
                 and a.projectItemId = #{p.projectItemId}
             </if>

+ 9 - 2
virgo.api/src/main/resources/mapper/ProjectMapper.xml

@@ -11,6 +11,7 @@
 		<result column="organizationId" property="organizationId"/>
 		<result column="organizationName" property="organizationName"/>
 		<result column="address" property="address"/>
+		<result column="addressCode" property="addressCode"/>
 		<result column="picture" property="picture"/>
 		<result column="tagIds" property="tagIds"/>
 		<result column="comment" property="comment"/>
@@ -27,6 +28,7 @@
 		<result column="createDate" property="createDate"/>
 		<result column="organizationId" property="organizationId"/>
 		<result column="address" property="address"/>
+		<result column="addressCode" property="addressCode"/>
 		<result column="picture" property="picture"/>
 		<result column="tagIds" property="tagIds"/>
 		<result column="comment" property="comment"/>
@@ -91,8 +93,8 @@
 	</select>
 
 	<insert id="insert" parameterType="com.bosshand.virgo.api.model.Project" useGeneratedKeys="true" keyProperty="id">
-		INSERT INTO project(`generateWeeklyDate`, `type`, `name`, `createDate`, `organizationId`, `address`, `picture`, `tagIds`, `comment`, `coordinates`, `supportingFacilities`, `data`)
-		VALUES (#{generateWeeklyDate}, #{type}, #{name}, now(), #{organizationId}, #{address}, #{picture}, #{tagIds}, #{comment}, #{coordinates}, #{supportingFacilities}, #{data})
+		INSERT INTO project(`generateWeeklyDate`, `type`, `name`, `createDate`, `organizationId`, `address`, `addressCode`, `picture`, `tagIds`, `comment`, `coordinates`, `supportingFacilities`, `data`)
+		VALUES (#{generateWeeklyDate}, #{type}, #{name}, now(), #{organizationId}, #{address}, #{addressCode}, #{picture}, #{tagIds}, #{comment}, #{coordinates}, #{supportingFacilities}, #{data})
 	</insert>
 
 	<update id="delete">
@@ -107,6 +109,7 @@
 			<if test="createDate!=null">createDate=#{createDate},</if>
 			<if test="organizationId!=0">organizationId=#{organizationId},</if>
 			<if test="address!=null">address=#{address},</if>
+			<if test="addressCode!=null">addressCode=#{addressCode},</if>
 			<if test="picture!=null">picture=#{picture},</if>
 			<if test="tagIds!=null">tagIds=#{tagIds},</if>
 			<if test="comment!=null">comment=#{comment},</if>
@@ -150,4 +153,8 @@
 		limit #{currIndex} , #{pageSize}
 	</select>
 
+	<select id="getAddressCode" resultMap="result">
+		SELECT id FROM project WHERE addressCode=#{addressCode}
+	</select>
+
 </mapper>