dcs 1 năm trước cách đây
mục cha
commit
1c3cad3dc9
21 tập tin đã thay đổi với 753 bổ sung1018 xóa
  1. 44 63
      virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectController.java
  2. 17 105
      virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemController.java
  3. 40 0
      virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemTargetController.java
  4. 46 0
      virgo.api/src/main/java/com/bosshand/virgo/api/controller/TagController.java
  5. 7 7
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectDao.java
  6. 1 11
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectItemDao.java
  7. 16 9
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectItemTargetDao.java
  8. 19 0
      virgo.api/src/main/java/com/bosshand/virgo/api/dao/TagDao.java
  9. 62 126
      virgo.api/src/main/java/com/bosshand/virgo/api/model/Project.java
  10. 93 106
      virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItem.java
  11. 91 83
      virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItemTarget.java
  12. 58 0
      virgo.api/src/main/java/com/bosshand/virgo/api/model/Tag.java
  13. 6 138
      virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemService.java
  14. 26 0
      virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemTargetService.java
  15. 13 113
      virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectService.java
  16. 33 0
      virgo.api/src/main/java/com/bosshand/virgo/api/service/TagService.java
  17. 40 83
      virgo.api/src/main/resources/mapper/ProjectItemMapper.xml
  18. 33 59
      virgo.api/src/main/resources/mapper/ProjectItemTargetMapper.xml
  19. 53 113
      virgo.api/src/main/resources/mapper/ProjectMapper.xml
  20. 52 0
      virgo.api/src/main/resources/mapper/TagMapper.xml
  21. 3 2
      virgo.core/src/main/java/com/bosshand/virgo/core/controller/UserContextController.java

+ 44 - 63
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectController.java

@@ -1,11 +1,9 @@
 package com.bosshand.virgo.api.controller;
 
-import com.alibaba.fastjson.JSONObject;
 import com.bosshand.virgo.api.model.Project;
 import com.bosshand.virgo.api.service.ProjectService;
-import com.bosshand.virgo.core.model.MgrUser;
 import com.bosshand.virgo.core.response.Response;
-import com.bosshand.virgo.core.utils.ContextUtils;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -16,71 +14,54 @@ import java.util.Map;
 
 @RestController
 @RequestMapping("project")
+@Api(tags = {"项目管理"})
 public class ProjectController {
-	
-	@Autowired
-	ProjectService projectService;
 
-	@ApiOperation(value = "项目管理", notes = "项目列表")
-	@RequestMapping(value = "/list", method = RequestMethod.POST)
-	public Response getProjectList(@RequestBody JSONObject parameter) {
-		List<Project> list = projectService.getProjectList(parameter);
-		int totalCount = projectService.getTotalCount(parameter);
-		Map<String, Object> result = new HashMap<String, Object>();
-		result.put("dataList", list);
-		result.put("totalCount", totalCount);
-		return Response.ok(result);
-	}
+    @Autowired
+    ProjectService projectService;
 
-	@ApiOperation(value = "项目管理", notes = "项目修改")
-	@RequestMapping(value = "/update", method = RequestMethod.PUT)
-	public Response updateProject(@RequestBody Project project) {
-		projectService.updateProject(project);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "项目管理", notes = "项目删除")
-	@RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
-	public Response deleteProject(@PathVariable long id) {
-		projectService.deleteProject(id);
-		return Response.ok();
-	}
+    @ApiOperation("获取")
+    @RequestMapping(value = "/{currPage}/{pageSize}", method = RequestMethod.POST)
+    public Response list(@RequestBody Project project, @PathVariable int currPage, @PathVariable int pageSize) {
+        int totalCount = projectService.getTotalCount(project);
+        List<Project> dataList = projectService.getLimit(project, currPage, pageSize);
+        Map<String, Object> result = new HashMap<>();
+        result.put("dataList", dataList);
+        result.put("totalCount", totalCount);
+        return Response.ok(result);
+    }
 
-	@ApiOperation(value = "项目管理", notes = "项目详情")
-	@RequestMapping(value = "/{organizationId}/{id}", method = RequestMethod.GET)
-	public Response getProject(@PathVariable long organizationId, @PathVariable long id) {
-		Project project = projectService.get(id);
-		return Response.ok(project);
-	}
+    @ApiOperation("详情")
+    @RequestMapping(value = "/getProject/{id}", method = RequestMethod.GET)
+    public Response getProject(@PathVariable long id) {
+        return Response.ok(projectService.get(id));
+    }
 
-	@ApiOperation(value = "项目管理", notes = "获取项目")
-	@RequestMapping(value = "/getProject/{id}", method = RequestMethod.GET)
-	public Response getProject(@PathVariable long id) {
-		return Response.ok(projectService.getProject(id));
-	}
+    @ApiOperation("根据组织获取项目列表")
+    @RequestMapping(value = "/getOrganization/{organizationId}", method = RequestMethod.GET)
+    public Response getProjectByOrganizationId(@PathVariable long organizationId) {
+        return Response.ok(projectService.getProjectByOrganizationId(organizationId));
+    }
 
-	@ApiOperation(value = "项目管理", notes = "项目新增")
-	@RequestMapping(value = "/{organizationId}/", method = RequestMethod.POST)
-	public Response insertProject(@PathVariable long organizationId, @RequestBody Project project) {
-		project.setOrganizationId(organizationId);
-		projectService.insert(project);
-		return Response.ok(project);
-	}
-	
-	@ApiOperation(value = "根据组织获取项目", notes = "根据组织获取项目列表")
-	@RequestMapping(value = "/{organizationId}/", method = RequestMethod.GET)
-	public Response getProjectByOrganizationId(@PathVariable long organizationId) {
-		List<Project> list = projectService.getProjectByOrganizationId(organizationId);
-		return Response.ok(list);
-	}
-	
-	@ApiOperation(value="切换用户项目", notes="切换项目")
-	@RequestMapping(value = "/", method = RequestMethod.POST)
-	public Response saveLastProject(@RequestBody Project project) {
-		MgrUser user = ContextUtils.getCurrentUser();
-		user.setLastProjectId(project.getId());
-		//save user
-		return Response.ok();
-	}
+    @ApiOperation("新增")
+    @RequestMapping(value = "", method = RequestMethod.POST)
+    public Response insertProject(@RequestBody Project project) {
+        projectService.insert(project);
+        return Response.ok();
+    }
+
+    @ApiOperation("删除")
+    @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
+    public Response deleteProject(@PathVariable long id) {
+        projectService.deleteProject(id);
+        return Response.ok();
+    }
+
+    @ApiOperation("修改")
+    @RequestMapping(value = "/update", method = RequestMethod.PUT)
+    public Response updateProject(@RequestBody Project project) {
+        projectService.update(project);
+        return Response.ok();
+    }
 
 }

+ 17 - 105
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemController.java

@@ -1,141 +1,53 @@
 package com.bosshand.virgo.api.controller;
 
 import com.bosshand.virgo.api.model.ProjectItem;
-import com.bosshand.virgo.api.model.ProjectItemTarget;
-import com.bosshand.virgo.api.model.ProjectItemTargetRoom;
 import com.bosshand.virgo.api.service.ProjectItemService;
-import com.bosshand.virgo.api.service.ProjectService;
 import com.bosshand.virgo.core.response.Response;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 @RestController
 @RequestMapping("projectItem")
+@Api(tags = {"单位工程管理"})
 public class ProjectItemController {
-	
-	@Autowired
-	ProjectService projectService;
-	
+
 	@Autowired
 	ProjectItemService projectItemService;
-	
-	@ApiOperation(value = "单位工程管理", notes = "单位工程新增")
-	@RequestMapping(value = "/{projectId}", method = RequestMethod.POST)
-	public Response insertProjectItem(@PathVariable long projectId, @RequestBody ProjectItem projectItem) {
-		projectItem.setProjectId(projectId);
+
+	@ApiOperation("新增")
+	@RequestMapping(value = "", method = RequestMethod.POST)
+	public Response insertProjectItem(@RequestBody ProjectItem projectItem) {
 		projectItemService.insert(projectItem);
 		return Response.ok();
 	}
-	
-	@ApiOperation(value = "单位工程管理", notes = "单位工程删除")
+
+	@ApiOperation("删除")
 	@RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
 	public Response deleteProjectItem(@PathVariable long id) {
 		projectItemService.delete(id);
 		return Response.ok();
 	}
 	
-	@ApiOperation(value = "单位工程管理", notes = "单位工程修改")
+	@ApiOperation("修改")
 	@RequestMapping(value = "/update", method = RequestMethod.PUT)
 	public Response updateProjectItem(@RequestBody ProjectItem projectItem) {
 		projectItemService.update(projectItem);
 		return Response.ok();
 	}
 
-	@ApiOperation(value = "根据项目获取单位工程列表", notes = "根据项目获取单位工程列表")
-	@RequestMapping(value = "/{projectId}", method = RequestMethod.GET)
+	@ApiOperation("根据项目获取单位工程列表")
+	@RequestMapping(value = "/getProject/{projectId}", method = RequestMethod.GET)
 	public Response getProjectItemList(@PathVariable long projectId) {
-		return Response.ok(projectItemService.getProjectItemList(projectId));
+		return Response.ok(projectItemService.getByProjectId(projectId));
 	}
 
-	@ApiOperation(value = "单位工程管理", notes = "单位工程信息")
-	@RequestMapping(value = "/projectItem/{projectItemId}", method = RequestMethod.GET)
-	public Response getProjectItem(@PathVariable long projectItemId) {
-		return Response.ok(projectItemService.getProjectItem(projectItemId));
+	@ApiOperation("详情")
+	@RequestMapping(value = "/{id}", method = RequestMethod.GET)
+	public Response get(@PathVariable long id) {
+		return Response.ok(projectItemService.get(id));
 	}
 
-	@ApiOperation(value = "获取指定项目中所有organizationId", notes = "获取指定项目中所有organizationId")
-	@RequestMapping(value = "/organization/{projectId}", method = RequestMethod.GET)
-	public Response getOrganizationIds(@PathVariable long projectId) {
-		return Response.ok(projectItemService.getOrganizationIds(projectId));
-	}
-	
-	@ApiOperation(value = "获取指定单位工程中所有organizationId", notes = "获取指定单位工程中所有organizationId")
-	@RequestMapping(value = "/organizationToYui/{yuiProjectItemId}", method = RequestMethod.GET)
-	public Response getOrganizationIdsByYuiProjectItemId(@PathVariable long yuiProjectItemId) {
-		return Response.ok(projectItemService.getOrganizationIdsByYuiProjectItemId(yuiProjectItemId));
-	}
-	
-	@ApiOperation(value = "楼层新增", notes = "楼层新增")
-	@RequestMapping(value = "/projectItemTarget", method = RequestMethod.POST)
-	public Response insertProjectItemTarget(@RequestBody ProjectItemTarget projectItemTarget) {
-		projectItemService.insertProjectItemTarget(projectItemTarget);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "楼层删除", notes = "楼层删除")
-	@RequestMapping(value = "/projectItemTarget/{id}", method = RequestMethod.DELETE)
-	public Response deleteProjectItemTarget(@PathVariable long id) {
-		projectItemService.deleteProjectItemTarget(id);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "楼层修改", notes = "楼层修改")
-	@RequestMapping(value = "/projectItemTarget", method = RequestMethod.PUT)
-	public Response updateProjectItemTarget(@RequestBody ProjectItemTarget projectItemTarget) {
-		projectItemService.updateProjectItemTarget(projectItemTarget);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "楼层查询", notes = "楼层查询")
-	@RequestMapping(value = "/projectItemTarget/{projectItemId}", method = RequestMethod.GET)
-	public Response getProjectItemTargetList(@PathVariable long projectItemId) {
-		return Response.ok(projectItemService.getByProjectItemId(projectItemId));
-	}
-	
-	@ApiOperation(value = "楼层详情", notes = "楼层详情")
-	@RequestMapping(value = "/projectItemTarget/details/{id}", method = RequestMethod.GET)
-	public Response getProjectItemTarget(@PathVariable long id) {
-		return Response.ok(projectItemService.getByProjectItemTargetId(id));
-	}
-
-	@ApiOperation(value = "房间新增", notes = "房间新增")
-	@RequestMapping(value = "/projectItemTargetRoom", method = RequestMethod.POST)
-	public Response insertProjectItemTargetRoom(@RequestBody ProjectItemTargetRoom projectItemTargetRoom) {
-		projectItemService.insertProjectItemTargetRoom(projectItemTargetRoom);
-		return Response.ok();
-	}
-
-	@ApiOperation(value = "房间删除", notes = "房间删除")
-	@RequestMapping(value = "/projectItemTargetRoom/{id}", method = RequestMethod.DELETE)
-	public Response deleteProjectItemTargetRoom(@PathVariable long id) {
-		projectItemService.deleteProjectItemTargetRoom(id);
-		return Response.ok();
-	}
-
-	@ApiOperation(value = "房间修改", notes = "房间修改")
-	@RequestMapping(value = "/projectItemTargetRoom", method = RequestMethod.PUT)
-	public Response updateProjectItemTargetRoom(@RequestBody ProjectItemTargetRoom projectItemTargetRoom) {
-		projectItemService.updateProjectItemTargetRoom(projectItemTargetRoom);
-		return Response.ok();
-	}
-
-	@ApiOperation(value = "房间查询", notes = "房间查询")
-	@RequestMapping(value = "/projectItemTargetRoom/query", method = RequestMethod.POST)
-	public Response getProjectItemTargetRoom(@RequestBody ProjectItemTargetRoom projectItemTargetRoom) {
-		return Response.ok(projectItemService.getProjectItemTargetRoom(projectItemTargetRoom));
-	}
-
-	@ApiOperation(value = "房间查询", notes = "房间查询")
-	@RequestMapping(value = "/projectItemTargetRoom/{projectItemTargetId}", method = RequestMethod.GET)
-	public Response getProjectItemTargetRoomList(@PathVariable long projectItemTargetId) {
-		return Response.ok(projectItemService.getProjectItemTargetId(projectItemTargetId));
-	}
-
-	@ApiOperation(value = "房间详情", notes = "房间详情")
-	@RequestMapping(value = "/projectItemTargetRoom/details/{id}", method = RequestMethod.GET)
-	public Response getProjectItemTargetRoom(@PathVariable long id) {
-		return Response.ok(projectItemService.getByProjectItemTargetRootId(id));
-	}
 
 }

+ 40 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemTargetController.java

@@ -0,0 +1,40 @@
+package com.bosshand.virgo.api.controller;
+
+import com.bosshand.virgo.api.model.ProjectItemTarget;
+import com.bosshand.virgo.api.service.ProjectItemTargetService;
+import com.bosshand.virgo.core.response.Response;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("projectItemTarget")
+@Api(tags = {"楼层管理"})
+public class ProjectItemTargetController {
+
+    @Autowired
+    ProjectItemTargetService projectItemTargetService;
+
+    @ApiOperation("新增")
+    @RequestMapping(value = "", method = RequestMethod.POST)
+    public Response insert(@RequestBody ProjectItemTarget projectItemTarget) {
+        projectItemTargetService.insert(projectItemTarget);
+        return Response.ok();
+    }
+
+    @ApiOperation("删除")
+    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
+    public Response delete(@PathVariable long id) {
+        projectItemTargetService.delete(id);
+        return Response.ok();
+    }
+
+    @ApiOperation("修改")
+    @RequestMapping(value = "", method = RequestMethod.PUT)
+    public Response update(@RequestBody ProjectItemTarget projectItemTarget) {
+        projectItemTargetService.update(projectItemTarget);
+        return Response.ok();
+    }
+
+}

+ 46 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/TagController.java

@@ -0,0 +1,46 @@
+package com.bosshand.virgo.api.controller;
+
+import com.bosshand.virgo.api.model.Tag;
+import com.bosshand.virgo.api.service.TagService;
+import com.bosshand.virgo.core.response.Response;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping({"tag"})
+@Api(tags = {"标签管理"})
+public class TagController {
+
+    @Autowired
+    TagService tagService;
+
+    @ApiOperation("保存")
+    @RequestMapping(value = "", method = RequestMethod.POST)
+    public Response insert(@RequestBody Tag tag) {
+        tagService.insert(tag);
+        return Response.ok();
+    }
+
+    @ApiOperation("获取")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public Response getList(@RequestBody Tag tag) {
+        return Response.ok(tagService.getList(tag));
+    }
+
+    @ApiOperation("更新")
+    @RequestMapping(value = "/update", method = RequestMethod.PUT)
+    public Response update(@RequestBody Tag tag) {
+        tagService.update(tag);
+        return Response.ok();
+    }
+
+    @ApiOperation("删除")
+    @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
+    public Response delete(@PathVariable long id) {
+        tagService.delete(id);
+        return Response.ok();
+    }
+
+}

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

@@ -2,9 +2,9 @@ package com.bosshand.virgo.api.dao;
 
 import com.bosshand.virgo.api.model.Project;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
-import java.util.Map;
 
 
 @Mapper
@@ -12,16 +12,16 @@ public interface ProjectDao {
 
     int insert(Project project);
 
-    Project get(long id);
+    int update(Project project);
 
-    int getTotalCount(Map<String, Object> data);
+    int delete(long id);
 
-    List<Project> getList(Map<String, Object> data);
+    Project get(long id);
 
-    int update(Project project);
+    List<Project> getProjectByOrganizationId(long organizationId);
 
-    int delete(long id);
+    int getTotalCount(Project project);
 
-    List<Project> getProjectIds(List<Long> ids);
+    List<Project> getLimit(@Param("p") Project p, @Param("currIndex") int currIndex, @Param("pageSize") int pageSize);
 
 }

+ 1 - 11
virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectItemDao.java

@@ -8,25 +8,15 @@ import java.util.List;
 @Mapper
 public interface ProjectItemDao {
 
-    ProjectItem get(long id);
-
-    ProjectItem getByYuiProjectItemId(long projectItemIdFromYui);
-
-    List<ProjectItem> getDoneStatus();
-
     int insert(ProjectItem projectItem);
 
     int update(ProjectItem projectItem);
 
-    int updateTargets(ProjectItem projectItem);
-
     int delete(long id);
 
     int deleteByProjectId(long projectId);
 
-    int saveList(List<ProjectItem> list);
-
-    List<ProjectItem> getByProjectIds(List<Long> ids);
+    ProjectItem get(long id);
 
     List<ProjectItem> getByProjectId(long projectId);
 

+ 16 - 9
virgo.api/src/main/java/com/bosshand/virgo/api/dao/ProjectItemTargetDao.java

@@ -1,18 +1,25 @@
 package com.bosshand.virgo.api.dao;
 
-import java.util.List;
-
+import com.bosshand.virgo.api.model.ProjectItemTarget;
 import org.apache.ibatis.annotations.Mapper;
 
-import com.bosshand.virgo.api.model.ProjectItemTarget;
+import java.util.List;
 
 @Mapper
 public interface ProjectItemTargetDao {
 	
-	public ProjectItemTarget get(long id);
-	public List<ProjectItemTarget> getProjectItemId(long projectItemId);
-	public List<ProjectItemTarget> getProjectItemIds(List<Long> itemIds);
-	public int insert(ProjectItemTarget projectItemTarget);
-	public int update(ProjectItemTarget projectItemTarget);
-	public int delete(long id);
+	ProjectItemTarget get(long id);
+
+	List<ProjectItemTarget> getProjectItemId(long projectItemId);
+
+	List<ProjectItemTarget> getProjectItemIds(List<Long> itemIds);
+
+	int insert(ProjectItemTarget projectItemTarget);
+
+	int update(ProjectItemTarget projectItemTarget);
+
+	int delete(long id);
+
+	int deleteByProjectId(long id);
+
 }

+ 19 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/TagDao.java

@@ -0,0 +1,19 @@
+package com.bosshand.virgo.api.dao;
+
+import com.bosshand.virgo.api.model.Tag;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface TagDao {
+
+    int insert(Tag tag);
+
+    int update(Tag tag);
+
+    List<Tag> getList(Tag tag);
+
+    int delete(long id);
+
+}

+ 62 - 126
virgo.api/src/main/java/com/bosshand/virgo/api/model/Project.java

@@ -5,86 +5,55 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 import java.util.Date;
 import java.util.List;
 
+/**
+ * 项目
+ */
 public class Project {
 	
 	private long id;
 
-	private String projectName;
-
-	private String description;
-
+	/**
+	 * 创建时间
+	 */
 	@JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
 	private Date createDate;
 
-	private int status;
-
-	private String typeId;
-	
+	/**
+	 * 组织id
+	 */
 	private long organizationId;
 
-	private long operateOrganizationId;
-
-	private String projectMetaData;
-
-	private List<ProjectItem> projectItemList;
-	
-	private String enableFlow;
-	
-	private int isLead;
-	
-	private String leadUrl;
-	
-	private long yuiProjectId;
-	
-	private int isUseFace = 1;
-	
-	private int isUseChain = 1;
-	
-	private int isUseBim = 1;
-
-	private int generateWeeklyDate;
-
-	private String version;
-
-	public String getVersion() {
-		return version;
-	}
-
-	public void setVersion(String version) {
-		this.version = version;
-	}
-
-	public int getGenerateWeeklyDate() {
-		return generateWeeklyDate;
-	}
+	/**
+	 * 名称
+	 */
+	private String name;
 
-	public void setGenerateWeeklyDate(int generateWeeklyDate) {
-		this.generateWeeklyDate = generateWeeklyDate;
-	}
+	/**
+	 * 位置
+	 */
+	private String address;
 
-	public int getIsUseFace() {
-		return isUseFace;
-	}
+	/**
+	 * 照片
+	 */
+	private String picture;
 
-	public void setIsUseFace(int isUseFace) {
-		this.isUseFace = isUseFace;
-	}
+	/**
+	 * 标签id
+	 */
+	private long tagId;
 
-	public int getIsUseChain() {
-		return isUseChain;
-	}
-
-	public void setIsUseChain(int isUseChain) {
-		this.isUseChain = isUseChain;
-	}
+	/**
+	 * 描述
+	 */
+	private String comment;
 
-	public int getIsUseBim() {
-		return isUseBim;
-	}
+	/**
+	 * 自定义字段
+	 */
+	private String data;
 
-	public void setIsUseBim(int isUseBim) {
-		this.isUseBim = isUseBim;
-	}
+	private List<ProjectItem> projectItemList;
 
 	public long getId() {
 		return id;
@@ -94,22 +63,6 @@ public class Project {
 		this.id = id;
 	}
 
-	public String getProjectName() {
-		return projectName;
-	}
-
-	public void setProjectName(String projectName) {
-		this.projectName = projectName;
-	}
-
-	public String getDescription() {
-		return description;
-	}
-
-	public void setDescription(String description) {
-		this.description = description;
-	}
-
 	public Date getCreateDate() {
 		return createDate;
 	}
@@ -118,22 +71,6 @@ public class Project {
 		this.createDate = createDate;
 	}
 
-	public int getStatus() {
-		return status;
-	}
-
-	public void setStatus(int status) {
-		this.status = status;
-	}
-
-	public String getTypeId() {
-		return typeId;
-	}
-
-	public void setTypeId(String typeId) {
-		this.typeId = typeId;
-	}
-
 	public long getOrganizationId() {
 		return organizationId;
 	}
@@ -142,60 +79,59 @@ public class Project {
 		this.organizationId = organizationId;
 	}
 
-	public long getOperateOrganizationId() {
-		return operateOrganizationId;
+	public String getName() {
+		return name;
 	}
 
-	public void setOperateOrganizationId(long operateOrganizationId) {
-		this.operateOrganizationId = operateOrganizationId;
+	public void setName(String name) {
+		this.name = name;
 	}
 
-	public String getProjectMetaData() {
-		return projectMetaData;
+	public String getAddress() {
+		return address;
 	}
 
-	public void setProjectMetaData(String projectMetaData) {
-		this.projectMetaData = projectMetaData;
+	public void setAddress(String address) {
+		this.address = address;
 	}
 
-	public List<ProjectItem> getProjectItemList() {
-		return projectItemList;
+	public String getPicture() {
+		return picture;
 	}
 
-	public void setProjectItemList(List<ProjectItem> projectItemList) {
-		this.projectItemList = projectItemList;
+	public void setPicture(String picture) {
+		this.picture = picture;
 	}
 
-	public String getEnableFlow() {
-		return enableFlow;
+	public long getTagId() {
+		return tagId;
 	}
 
-	public void setEnableFlow(String enableFlow) {
-		this.enableFlow = enableFlow;
+	public void setTagId(long tagId) {
+		this.tagId = tagId;
 	}
 
-	public int getIsLead() {
-		return isLead;
+	public String getComment() {
+		return comment;
 	}
 
-	public void setIsLead(int isLead) {
-		this.isLead = isLead;
+	public void setComment(String comment) {
+		this.comment = comment;
 	}
 
-	public String getLeadUrl() {
-		return leadUrl;
+	public String getData() {
+		return data;
 	}
 
-	public void setLeadUrl(String leadUrl) {
-		this.leadUrl = leadUrl;
+	public void setData(String data) {
+		this.data = data;
 	}
 
-	public long getYuiProjectId() {
-		return yuiProjectId;
+	public List<ProjectItem> getProjectItemList() {
+		return projectItemList;
 	}
 
-	public void setYuiProjectId(long yuiProjectId) {
-		this.yuiProjectId = yuiProjectId;
+	public void setProjectItemList(List<ProjectItem> projectItemList) {
+		this.projectItemList = projectItemList;
 	}
-	
 }

+ 93 - 106
virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItem.java

@@ -4,160 +4,147 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 
 import java.util.Date;
 import java.util.List;
-import java.util.Map;
 
+/**
+ * 单位工程
+ */
 public class ProjectItem {
 	
 	private long id;
-	
+
+	/**
+	 * 项目id
+	 */
 	private long projectId;
-	
+
+	/**
+	 * 名称
+	 */
 	private String name;
-	
+
+	/**
+	 * 创建时间
+	 */
 	@JsonFormat(shape=JsonFormat.Shape.STRING,pattern="yyyy-MM-dd",timezone="GMT+8")
 	private Date createDate;
-	
-	private Map<String, Object> organizationMap;
-	
-	private int status; //0- not set, 1 set done.
-	
-	private long yuiProjectItemId;
-	
-	private String yuiProjectItemTargets;
-	
-	private int bim;
-	
-	private String bimIntegrateId;
 
-	private String securityBimIntegrateId;
-	
-	private int bimIntegrateNumber;
-	
-	private String number;
-	
-	private String type;
+	/**
+	 * 面积
+	 */
+	private String area;
 
-	private String code;
+	/**
+	 * 位置
+	 */
+	private String address;
 
-	private String roamAngle;
+	/**
+	 * 照片
+	 */
+	private String picture;
 
-	public String getRoamAngle() {
-		return roamAngle;
-	}
+	/**
+	 * 产权证书/不动产权证号
+	 */
+	private String propertyCertificateNumber;
 
-	public void setRoamAngle(String roamAngle) {
-		this.roamAngle = roamAngle;
-	}
+	/**
+	 * 标签id
+	 */
+	private long tagId;
 
-	private List<ProjectItemTarget> projectItemTargetList;
+	/**
+	 * 自定义字段
+	 */
+	private String data;
 
-	public List<ProjectItemTarget> getProjectItemTargetList() {
-		return projectItemTargetList;
-	}
-
-	public void setProjectItemTargetList(List<ProjectItemTarget> projectItemTargetList) {
-		this.projectItemTargetList = projectItemTargetList;
-	}
-
-	public int getBim() {
-		return bim;
-	}
-	public void setBim(int bim) {
-		this.bim = bim;
-	}
-	public String getBimIntegrateId() {
-		return bimIntegrateId;
-	}
-	public void setBimIntegrateId(String bimIntegrateId) {
-		this.bimIntegrateId = bimIntegrateId;
-	}
-
-	public String getSecurityBimIntegrateId() {
-		return securityBimIntegrateId;
-	}
-
-	public void setSecurityBimIntegrateId(String securityBimIntegrateId) {
-		this.securityBimIntegrateId = securityBimIntegrateId;
-	}
+	private List<ProjectItemTarget> projectItemTargetList;
 
-	public int getBimIntegrateNumber() {
-		return bimIntegrateNumber;
-	}
-	public void setBimIntegrateNumber(int bimIntegrateNumber) {
-		this.bimIntegrateNumber = bimIntegrateNumber;
-	}
-	public String getNumber() {
-		return number;
-	}
-	public void setNumber(String number) {
-		this.number = number;
-	}
-	public String getType() {
-		return type;
-	}
-	public void setType(String type) {
-		this.type = type;
-	}
-	public String getCode() {
-		return code;
-	}
-	public void setCode(String code) {
-		this.code = code;
-	}
 	public long getId() {
 		return id;
 	}
+
 	public void setId(long id) {
 		this.id = id;
 	}
+
 	public long getProjectId() {
 		return projectId;
 	}
+
 	public void setProjectId(long projectId) {
 		this.projectId = projectId;
 	}
+
 	public String getName() {
 		return name;
 	}
+
 	public void setName(String name) {
 		this.name = name;
 	}
+
 	public Date getCreateDate() {
 		return createDate;
 	}
+
 	public void setCreateDate(Date createDate) {
 		this.createDate = createDate;
 	}
-	public Map<String, Object> getOrganizationMap() {
-		return organizationMap;
+
+	public String getArea() {
+		return area;
+	}
+
+	public void setArea(String area) {
+		this.area = area;
+	}
+
+	public String getAddress() {
+		return address;
+	}
+
+	public void setAddress(String address) {
+		this.address = address;
 	}
-	public void setOrganizationMap(Map<String, Object> organizationMap) {
-		this.organizationMap = organizationMap;
+
+	public String getPicture() {
+		return picture;
 	}
-	public int getStatus() {
-		return status;
+
+	public void setPicture(String picture) {
+		this.picture = picture;
 	}
-	public void setStatus(int status) {
-		this.status = status;
+
+	public String getPropertyCertificateNumber() {
+		return propertyCertificateNumber;
 	}
-	public long getYuiProjectItemId() {
-		return yuiProjectItemId;
+
+	public void setPropertyCertificateNumber(String propertyCertificateNumber) {
+		this.propertyCertificateNumber = propertyCertificateNumber;
+	}
+
+	public long getTagId() {
+		return tagId;
 	}
-	public void setYuiProjectItemId(long yuiProjectItemId) {
-		this.yuiProjectItemId = yuiProjectItemId;
+
+	public void setTagId(long tagId) {
+		this.tagId = tagId;
 	}
-	public String getYuiProjectItemTargets() {
-		return yuiProjectItemTargets;
+
+	public String getData() {
+		return data;
 	}
-	public void setYuiProjectItemTargets(String yuiProjectItemTargets) {
-		this.yuiProjectItemTargets = yuiProjectItemTargets;
+
+	public void setData(String data) {
+		this.data = data;
 	}
-	
-	@Override
-	public String toString() {
-		return "ProjectItem [id=" + id + ", projectId=" + projectId + ", name=" + name + ", createDate=" + createDate
-				+ ", organizationMap=" + organizationMap + ", status=" + status + ", yuiProjectItemId="
-				+ yuiProjectItemId + ", yuiProjectItemTargets=" + yuiProjectItemTargets + "]";
+
+	public List<ProjectItemTarget> getProjectItemTargetList() {
+		return projectItemTargetList;
 	}
 
+	public void setProjectItemTargetList(List<ProjectItemTarget> projectItemTargetList) {
+		this.projectItemTargetList = projectItemTargetList;
+	}
 }

+ 91 - 83
virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItemTarget.java

@@ -1,87 +1,95 @@
 package com.bosshand.virgo.api.model;
 
-import java.util.List;
-
+/**
+ * 楼层
+ */
 public class ProjectItemTarget {
-	
-	private long id;
-	
-	private String name;
-	
-	private long projectItemId;
-	
-	private String value;
-	
-	private int sequence;
-	
-	private String elevation;
-
-	private String bims;
-
-	private List<ProjectItemTargetRoom> projectItemTargetRoomList;
-
-	public List<ProjectItemTargetRoom> getProjectItemTargetRoomList() {
-		return projectItemTargetRoomList;
-	}
-
-	public void setProjectItemTargetRoomList(List<ProjectItemTargetRoom> projectItemTargetRoomList) {
-		this.projectItemTargetRoomList = projectItemTargetRoomList;
-	}
-
-	public String getBims() {
-		return bims;
-	}
-
-	public void setBims(String bims) {
-		this.bims = bims;
-	}
-
-	public long getId() {
-		return id;
-	}
-
-	public void setId(long id) {
-		this.id = id;
-	}
-
-	public String getName() {
-		return name;
-	}
-
-	public void setName(String name) {
-		this.name = name;
-	}
-
-	public long getProjectItemId() {
-		return projectItemId;
-	}
-
-	public void setProjectItemId(long projectItemId) {
-		this.projectItemId = projectItemId;
-	}
-
-	public String getValue() {
-		return value;
-	}
-
-	public void setValue(String value) {
-		this.value = value;
-	}
-
-	public int getSequence() {
-		return sequence;
-	}
-
-	public void setSequence(int sequence) {
-		this.sequence = sequence;
-	}
-
-	public String getElevation() {
-		return elevation;
-	}
-
-	public void setElevation(String elevation) {
-		this.elevation = elevation;
-	}
-	
+
+    private long id;
+
+    /**
+     * 名称
+     */
+    private String name;
+
+    /**
+     * 项目id
+     */
+    private long projectId;
+
+    /**
+     * 单位工程id
+     */
+    private long projectItemId;
+
+    /**
+     * 排序字段
+     */
+    private int sequence;
+
+    /**
+     * 产权证书/不动产权证号
+     */
+    private String propertyCertificateNumber;
+
+    /**
+     * 房源数量
+     */
+    private String roomNumber;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public long getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(long projectId) {
+        this.projectId = projectId;
+    }
+
+    public long getProjectItemId() {
+        return projectItemId;
+    }
+
+    public void setProjectItemId(long projectItemId) {
+        this.projectItemId = projectItemId;
+    }
+
+    public int getSequence() {
+        return sequence;
+    }
+
+    public void setSequence(int sequence) {
+        this.sequence = sequence;
+    }
+
+    public String getPropertyCertificateNumber() {
+        return propertyCertificateNumber;
+    }
+
+    public void setPropertyCertificateNumber(String propertyCertificateNumber) {
+        this.propertyCertificateNumber = propertyCertificateNumber;
+    }
+
+    public String getRoomNumber() {
+        return roomNumber;
+    }
+
+    public void setRoomNumber(String roomNumber) {
+        this.roomNumber = roomNumber;
+    }
 }

+ 58 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/Tag.java

@@ -0,0 +1,58 @@
+package com.bosshand.virgo.api.model;
+
+
+/**
+ * 标签
+ */
+public class Tag {
+
+    private long id;
+
+    private String  name;
+
+    private long projectId;
+
+    private long projectItemId;
+
+    private long projectItemTargetRoomId;
+
+    public long getId() {
+        return id;
+    }
+
+    public void setId(long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public long getProjectId() {
+        return projectId;
+    }
+
+    public void setProjectId(long projectId) {
+        this.projectId = projectId;
+    }
+
+    public long getProjectItemId() {
+        return projectItemId;
+    }
+
+    public void setProjectItemId(long projectItemId) {
+        this.projectItemId = projectItemId;
+    }
+
+    public long getProjectItemTargetRoomId() {
+        return projectItemTargetRoomId;
+    }
+
+    public void setProjectItemTargetRoomId(long projectItemTargetRoomId) {
+        this.projectItemTargetRoomId = projectItemTargetRoomId;
+    }
+}

+ 6 - 138
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemService.java

@@ -1,40 +1,23 @@
 package com.bosshand.virgo.api.service;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.bosshand.virgo.api.dao.*;
-import com.bosshand.virgo.api.model.*;
+import com.bosshand.virgo.api.dao.ProjectItemDao;
+import com.bosshand.virgo.api.model.ProjectItem;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.util.*;
+import java.util.List;
 
 @Service
 public class ProjectItemService {
 
 	@Autowired
 	private ProjectItemDao projectItemDao;
-	
-	@Autowired
-	private ProjectItemTargetDao projectItemTargetDao;
-
-	@Autowired
-	private ProjectItemTargetRoomDao projectItemTargetRoomDao;
 
 	public int insert(ProjectItem projectItem) {
-		String num = projectItem.getNumber();
-		long time = new Date().getTime();
-		projectItem.setNumber(Long.toString(time) + projectItem.getProjectId() + num);
 		return projectItemDao.insert(projectItem);
 	}
 
 	public int update(ProjectItem projectItem) {
-		String num = projectItem.getNumber();
-		if (num != null) {
-			long time = new Date().getTime();
-			projectItem.setNumber(Long.toString(time) + projectItem.getProjectId() + num);
-		}
 		return projectItemDao.update(projectItem);
 	}
 
@@ -42,127 +25,12 @@ public class ProjectItemService {
 		return projectItemDao.delete(id);
 	}
 	
-	public ProjectItem getProjectItem(long projectItemId) {
-		return projectItemDao.get(projectItemId);
+	public ProjectItem get(long id) {
+		return projectItemDao.get(id);
 	}
 
-	public List<ProjectItem> getProjectItemList(long projectId) {
+	public List<ProjectItem> getByProjectId(long projectId) {
 		return projectItemDao.getByProjectId(projectId);
 	}
 
-	@Transactional
-	public List<ProjectItem> syncProjectItem(long projectId, String result) {
-		List<ProjectItem> list = new ArrayList<ProjectItem>();
-		String projectItems = JSONObject.parseObject(result).getString("projectItems");
-		JSONArray json = JSONArray.parseArray(projectItems);
-		if (json.size() > 0) {
-			for (int i = 0; i < json.size(); i++) {
-				JSONObject job = json.getJSONObject(i);
-				ProjectItem projectItem = new ProjectItem();
-				projectItem.setName(job.getString("name"));
-				projectItem.setCreateDate(job.getDate("start_time"));
-				projectItem.setProjectId(projectId);
-				projectItem.setOrganizationMap(new HashMap<String, Object>());
-				projectItem.setYuiProjectItemId(job.getLong("id"));
-				projectItem.setYuiProjectItemTargets(job.getString("projectItemTargets"));
-				list.add(projectItem);
-			}
-			List<ProjectItem> items = projectItemDao.getByProjectId(projectId);
-			if (items == null) {
-				projectItemDao.saveList(list);
-				return list;
-			}
-			for (int i = 0; i < list.size(); i++) {
-				for (int j = 0; j < items.size(); j++) {
-					if (list.get(i).getYuiProjectItemId() == items.get(j).getYuiProjectItemId()) {
-						ProjectItem projectItem = items.get(j);
-						projectItem.setYuiProjectItemTargets(list.get(i).getYuiProjectItemTargets());
-						projectItemDao.updateTargets(projectItem);
-						list.remove(i);
-					}
-				}
-			}
-			if (list.size() > 0) {
-				projectItemDao.saveList(list);
-			}
-		}
-		return projectItemDao.getByProjectId(projectId);
-	}
-	
-	public List<Long> getOrganizationIds(long projectId) {
-		List<ProjectItem> list = projectItemDao.getByProjectId(projectId);
-		Set<Long> ids = new HashSet<>();
-		list.forEach(ls -> {
-			if (ls.getOrganizationMap() != null) {
-				for (String key : ls.getOrganizationMap().keySet()) {
-					ids.add(Long.valueOf(String.valueOf(ls.getOrganizationMap().get(key))));
-				}
-			}
-		});
-		List<Long> result = new ArrayList<>(ids);
-		return result;
-	}
-
-	public List<Long> getOrganizationIdsByYuiProjectItemId(long yuiProjectItemId) {
-		ProjectItem projectItem = projectItemDao.getByYuiProjectItemId(yuiProjectItemId);
-		Set<Long> ids = new HashSet<>();
-		if (projectItem.getOrganizationMap() != null) {
-			for (String key : projectItem.getOrganizationMap().keySet()) {
-				ids.add(Long.valueOf(String.valueOf(projectItem.getOrganizationMap().get(key))));
-			}
-		}
-		List<Long> result = new ArrayList<>(ids);
-		return result;
-	}
-	
-	//***************************************************************************************************
-	// ProjectItemTarget
-	
-	public int insertProjectItemTarget(ProjectItemTarget projectItemTarget) {
-		return projectItemTargetDao.insert(projectItemTarget);
-	}
-
-	public int updateProjectItemTarget(ProjectItemTarget projectItemTarget) {
-		return projectItemTargetDao.update(projectItemTarget);
-	}
-
-	public int deleteProjectItemTarget(long id) {
-		return projectItemTargetDao.delete(id);
-	}
-	
-	public List<ProjectItemTarget> getByProjectItemId(long projectItemId) {
-		return projectItemTargetDao.getProjectItemId(projectItemId);
-	}
-	
-	public ProjectItemTarget getByProjectItemTargetId(long id) {
-		return projectItemTargetDao.get(id);
-	}
-
-	//***************************************************************************************************
-	// ProjectItemTargetRoom
-
-	public int insertProjectItemTargetRoom(ProjectItemTargetRoom projectItemTargetRoom) {
-		return projectItemTargetRoomDao.insert(projectItemTargetRoom);
-	}
-
-	public int updateProjectItemTargetRoom(ProjectItemTargetRoom projectItemTargetRoom) {
-		return projectItemTargetRoomDao.update(projectItemTargetRoom);
-	}
-
-	public int deleteProjectItemTargetRoom(long id) {
-		return projectItemTargetRoomDao.delete(id);
-	}
-
-	public List<ProjectItemTargetRoom> getProjectItemTargetId(long projectItemTargetId) {
-		return projectItemTargetRoomDao.getProjectItemTargetId(projectItemTargetId);
-	}
-
-	public List<ProjectItemTargetRoom> getProjectItemTargetRoom(ProjectItemTargetRoom projectItemTargetRoom) {
-		return projectItemTargetRoomDao.getProjectItemTargetRoom(projectItemTargetRoom);
-	}
-
-	public ProjectItemTargetRoom getByProjectItemTargetRootId(long id) {
-		return projectItemTargetRoomDao.get(id);
-	}
-
 }

+ 26 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemTargetService.java

@@ -0,0 +1,26 @@
+package com.bosshand.virgo.api.service;
+
+import com.bosshand.virgo.api.dao.ProjectItemTargetDao;
+import com.bosshand.virgo.api.model.ProjectItemTarget;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class ProjectItemTargetService {
+
+    @Autowired
+    private ProjectItemTargetDao projectItemTargetDao;
+
+    public int insert(ProjectItemTarget projectItemTarget) {
+        return projectItemTargetDao.insert(projectItemTarget);
+    }
+
+    public int delete(long id) {
+        return projectItemTargetDao.delete(id);
+    }
+
+    public int update(ProjectItemTarget projectItemTarget) {
+        return projectItemTargetDao.update(projectItemTarget);
+    }
+
+}

+ 13 - 113
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectService.java

@@ -1,17 +1,13 @@
 package com.bosshand.virgo.api.service;
 
-import com.alibaba.fastjson.JSONObject;
 import com.bosshand.virgo.api.dao.ProjectDao;
 import com.bosshand.virgo.api.dao.ProjectItemDao;
 import com.bosshand.virgo.api.dao.ProjectItemTargetDao;
 import com.bosshand.virgo.api.model.Project;
-import com.bosshand.virgo.api.model.ProjectItem;
-import com.bosshand.virgo.api.model.ProjectItemTarget;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
 
-import java.util.*;
+import java.util.List;
 
 @Service
 public class ProjectService {
@@ -29,127 +25,31 @@ public class ProjectService {
 		return projectDao.get(id);
 	}
 
-	public Project getProject(long id) {
-		Project project = projectDao.get(id);
-		List<ProjectItem> items = projectItemDao.getByProjectId(id);
-		for (ProjectItem item : items) {
-			List<ProjectItemTarget> targets = projectItemTargetDao.getProjectItemId(item.getId());
-			item.setProjectItemTargetList(targets);
-		}
-		project.setProjectItemList(items);
-		return project;
-	}
-
 	public int insert(Project project) {
 		return projectDao.insert(project);
 	}
 
-	public int updateProject(Project project) {
+	public int update(Project project) {
 		return projectDao.update(project);
 	}
 
-	@Transactional
-	public void deleteProject(long id) {
-		projectDao.delete(id);
-		projectItemDao.deleteByProjectId(id);
+	public int getTotalCount(Project project) {
+		return projectDao.getTotalCount(project);
 	}
 
-	public List<Project> getProjectByOrganizationId(long organizationId) {
-		Set<ProjectItem> setByOrganizationId = new HashSet<>();
-		List<ProjectItem> list = projectItemDao.getDoneStatus();
-		if (list != null && list.size() > 0) {
-			for (ProjectItem projectItem : list) {
-				Map<String, Object> organizationMap = projectItem.getOrganizationMap();
-				if (organizationMap != null && organizationMap.size() > 0) {
-					if(organizationMap.values() != null) {
-						for (Object value : organizationMap.values()) {
-							if (organizationId == (Integer)value) {
-								setByOrganizationId.add(projectItem);
-							}
-						}
-					}
-				}
-			}
-		}
-		if (setByOrganizationId.size() > 0) {
-			Set<Long> projectIds = new HashSet<>();
-			for (ProjectItem projectItem : setByOrganizationId) {
-				projectIds.add(projectItem.getProjectId());
-			}
-			List<Project> projectList = projectDao.getProjectIds(new ArrayList<>(projectIds));
-			for (Project project : projectList) {
-				List<ProjectItem> items = new ArrayList<>();
-				for (ProjectItem projectItem : setByOrganizationId) {
-					if (projectItem.getProjectId() == project.getId()) {
-						items.add(projectItem);
-					}
-				}
-				project.setProjectItemList(items);
-			}
-			return projectList;
-		}
-		return null;
+	public List<Project> getLimit(Project project, int currPage, int pageSize) {
+		int currIndex = (currPage - 1) * pageSize;
+		return projectDao.getLimit(project, currIndex, pageSize);
 	}
 
-	public int getTotalCount(JSONObject parameter) {
-		Map<String, Object> data = new HashMap<String, Object>();
-		if (parameter.containsKey("organizationId")) {
-			data.put("organizationId", parameter.getInteger("organizationId"));
-		}
-		if (parameter.containsKey("operateOrganizationId")) {
-			data.put("operateOrganizationId", parameter.getInteger("operateOrganizationId"));
-		}
-		if (parameter.containsKey("projectName")) {
-			data.put("projectName", parameter.getString("projectName"));
-		}
-		if (parameter.containsKey("createDate")) {
-			data.put("createDate", parameter.getString("createDate"));
-		}
-		if (parameter.containsKey("status")) {
-			data.put("status", parameter.getInteger("status"));
-		}
-		return projectDao.getTotalCount(data);
+	public void deleteProject(long id) {
+		projectDao.delete(id);
+		projectItemDao.deleteByProjectId(id);
+		projectItemTargetDao.deleteByProjectId(id);
 	}
 
-	public List<Project> getProjectList(JSONObject parameter) {
-		Map<String, Object> data = new HashMap<String, Object>();
-		int currPage = parameter.getIntValue("currPage");
-		int pageSize = parameter.getIntValue("pageSize");
-		data.put("currIndex", (currPage - 1) * pageSize);
-		data.put("pageSize", pageSize);
-		if (parameter.containsKey("organizationId")) {
-			data.put("organizationId", parameter.getInteger("organizationId"));
-		}
-		if (parameter.containsKey("operateOrganizationId")) {
-			data.put("operateOrganizationId", parameter.getInteger("operateOrganizationId"));
-		}
-		if (parameter.containsKey("projectName")) {
-			data.put("projectName", parameter.getString("projectName"));
-		}
-		if (parameter.containsKey("createDate")) {
-			data.put("createDate", parameter.getString("createDate"));
-		}
-		if (parameter.containsKey("status")) {
-			data.put("status", parameter.getInteger("status"));
-		}
-		List<Project> list = projectDao.getList(data);
-		if (list != null && list.size() > 0) {
-			List<Long> ids = new ArrayList<Long>();
-			list.forEach(ls -> ids.add(ls.getId()));
-			List<ProjectItem> items = projectItemDao.getByProjectIds(ids);
-			Map<Long, List<ProjectItem>> map = new HashMap<Long, List<ProjectItem>>();
-			ids.forEach(ls -> {
-				List<ProjectItem> pis = new ArrayList<ProjectItem>();
-				for (ProjectItem projectItem : items) {
-					if (ls == projectItem.getProjectId()) {
-						pis.add(projectItem);
-					}
-				}
-				map.put(ls, pis);
-			});
-			list.forEach(ls -> ls.setProjectItemList(map.get(ls.getId())));
-		}
-		return list;
+	public List<Project> getProjectByOrganizationId(long organizationId) {
+		return projectDao.getProjectByOrganizationId(organizationId);
 	}
 
 }

+ 33 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/service/TagService.java

@@ -0,0 +1,33 @@
+package com.bosshand.virgo.api.service;
+
+import com.bosshand.virgo.api.dao.TagDao;
+import com.bosshand.virgo.api.model.Tag;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class TagService {
+
+    @Autowired
+    TagDao tagDao;
+
+    public int insert(Tag tag) {
+        return tagDao.insert(tag);
+    }
+
+    public int update(Tag tag) {
+        return tagDao.update(tag);
+    }
+
+    public List<Tag> getList(Tag tag) {
+        return tagDao.getList(tag);
+    }
+
+    public int delete(long id) {
+        return tagDao.delete(id);
+    }
+
+
+}

+ 40 - 83
virgo.api/src/main/resources/mapper/ProjectItemMapper.xml

@@ -9,81 +9,59 @@
 			<result column="projectId" property="projectId"/>
 			<result column="name" property="name"/>
 			<result column="createDate" property="createDate"/>
-			<result column="organizationMap" property="organizationMap" javaType="java.util.Map" typeHandler="com.bosshand.virgo.core.typehandler.JsonTypeHandler"/>
-			<result column="status" property="status"/>
-			<result column="yuiProjectItemId" property="yuiProjectItemId"/>
-			<result column="yuiProjectItemTargets" property="yuiProjectItemTargets"/>
-			<result column="bim" property="bim"/>
-			<result column="bimIntegrateId" property="bimIntegrateId"/>
-			<result column="securityBimIntegrateId" property="securityBimIntegrateId"/>
-			<result column="bimIntegrateNumber" property="bimIntegrateNumber"/>
-			<result column="number" property="number"/>
-			<result column="type" property="type"/>
-			<result column="code" property="code"/>
-			<result column="roamAngle" property="roamAngle"/>
+			<result column="area" property="area"/>
+			<result column="address" property="address"/>
+			<result column="picture" property="picture"/>
+			<result column="propertyCertificateNumber" property="propertyCertificateNumber"/>
+			<result column="tagId" property="tagId"/>
+			<result column="data" property="data"/>
 	</resultMap>
-	
-	<sql id="ProjectItemQuery">
-		SELECT * FROM project_item
-	</sql>
 
-	<select id="get" resultMap="projectItemResult">
-		<include refid="ProjectItemQuery"/>
-		where id=#{id}
-	</select>
-	
-	<select id="getByYuiProjectItemId" resultMap="projectItemResult">
-		<include refid="ProjectItemQuery"/>
-		where yuiProjectItemId=#{yuiProjectItemId}
-	</select>
-	
-	<select id="getByProjectIds" parameterType="list" resultMap="projectItemResult">
-        select * from project_item where projectId in (
-          <trim>
-	        <if test="list.size > 0">
-	        	<foreach collection="list" item="item" index="index" separator=",">
-		            #{item}
-		        </foreach>
-	        </if>
-         </trim>
-         )
-    </select>
-	
-	<select id="getAll" resultMap="projectItemResult">
-		<include refid="ProjectItemQuery"/>
-	</select>
+	<resultMap type="com.bosshand.virgo.api.model.ProjectItem" id="result">
+		<id column="id" property="id"/>
+		<result column="projectId" property="projectId"/>
+		<result column="name" property="name"/>
+		<result column="createDate" property="createDate"/>
+		<result column="area" property="area"/>
+		<result column="address" property="address"/>
+		<result column="picture" property="picture"/>
+		<result column="propertyCertificateNumber" property="propertyCertificateNumber"/>
+		<result column="tagId" property="tagId"/>
+		<result column="data" property="data"/>
+		<collection property="projectItemTargetList" ofType="com.bosshand.virgo.api.model.ProjectItemTarget" resultMap="com.bosshand.virgo.api.dao.ProjectItemTargetDao.projectItemTargetResult" columnPrefix="projectItemTarget_"/>
+	</resultMap>
 
-	<select id="getIntegrateId" resultMap="projectItemResult">
-		<include refid="ProjectItemQuery"/>
-		where bimIntegrateId=#{integrateId} or securityBimIntegrateId=#{integrateId}
-	</select>
+	<sql id="query">
+		SELECT
+			p.*,
+			pi.id as projectItemTarget_id,
+			pi.name as projectItemTarget_name,
+			pi.projectId as projectItemTarget_projectId,
+			pi.sequence as projectItemTarget_area,
+			pi.propertyCertificateNumber as projectItemTarget_propertyCertificateNumber,
+			pi.roomNumber as projectItemTarget_roomNumber
+		FROM project_item p
+	    left join project_item_target pi on p.id = pi.projectItemId
+	</sql>
 
-	<select id="getDoneStatus" resultMap="projectItemResult">
-		<include refid="ProjectItemQuery"/>
-		where status=1
+	<select id="get" resultMap="result">
+		<include refid="query"/>
+		where p.id=#{id}
 	</select>
-	
+
 	<select id="getByProjectId" resultMap="projectItemResult">
-		<include refid="ProjectItemQuery"/>
-		where projectId=#{projectId}
+		SELECT * FROM project_item where projectId=#{projectId}
 	</select>
 	
 	<insert id="insert" useGeneratedKeys="true" keyProperty="id">
-		INSERT INTO project_item(projectId, name, createDate, organizationMap, status, yuiProjectItemId, type, code, bim, number, roamAngle) VALUES (#{projectId}, #{name}, #{createDate}, #{organizationMap, typeHandler=com.bosshand.virgo.core.typehandler.JsonTypeHandler}, #{status}, #{yuiProjectItemId}, #{type}, #{code}, #{bim}, #{number}, #{roamAngle})
+		INSERT INTO project_item(`projectId`, `name`, `createDate`, `area`, `address`, `picture`, `propertyCertificateNumber`, `tagId`, `data`)
+		VALUES (#{projectId}, #{name}, now(), #{area}, #{address}, #{picture}, #{propertyCertificateNumber}, #{tagId}, #{data})
 	</insert>
 
-	<insert id="saveList" parameterType="com.bosshand.virgo.api.model.ProjectItem" useGeneratedKeys="true" keyProperty="id">		
-        INSERT INTO project_item(projectId, name, createDate, organizationMap, status, yuiProjectItemId, yuiProjectItemTargets) 
-        VALUES
-        <foreach collection="list" item="node" separator="," index="index">
-			(#{node.projectId}, #{node.name}, #{node.createDate}, #{node.organizationMap, typeHandler=com.bosshand.virgo.core.typehandler.JsonTypeHandler}, #{node.status}, #{node.yuiProjectItemId}, #{node.yuiProjectItemTargets})
-		</foreach>
-	</insert>
-	
 	<delete id="delete">
 		DELETE FROM project_item WHERE id=#{id}
 	</delete>
-	
+
 	<delete id="deleteByProjectId">
 		DELETE FROM project_item WHERE projectId=#{projectId}
 	</delete>
@@ -92,30 +70,9 @@
 		UPDATE project_item
 		<trim prefix="set" suffixOverrides=",">
 			<if test="name!=null">name=#{name},</if>
-			<if test="createDate!=null">createDate=#{createDate},</if>
-			<if test="organizationMap!=null">organizationMap=#{organizationMap, typeHandler=com.bosshand.virgo.core.typehandler.JsonTypeHandler},</if>
-			<if test="bim!=-1">bim=#{bim},</if>
-			<if test="bimIntegrateId!=null">bimIntegrateId=#{bimIntegrateId},</if>
-			<if test="securityBimIntegrateId!=null">securityBimIntegrateId=#{securityBimIntegrateId},</if>
-			<if test="type!=null">type=#{type},</if>
-			<if test="code!=null">code=#{code},</if>
-			<if test="number!=null">number=#{number},</if>
-			<if test="bimIntegrateNumber!=0">bimIntegrateNumber=#{bimIntegrateNumber},</if>
-			<if test="roamAngle!=null">roamAngle=#{roamAngle},</if>
 		</trim>
 		WHERE id=#{id}
 	</update>
-	
-	<update id="updateTargets" parameterType="com.bosshand.virgo.api.model.ProjectItem">
-		UPDATE project_item
-		<trim prefix="set" suffixOverrides=",">
-			<if test="yuiProjectItemTargets!=null">yuiProjectItemTargets=#{yuiProjectItemTargets},</if>
-		</trim>
-		WHERE id=#{id}
-	</update>
-	
-	<update id="updateStatus" parameterType="com.bosshand.virgo.api.model.ProjectItem">
-		UPDATE project_item set status=1 WHERE id=#{id}
-	</update>
+
 
 </mapper>

+ 33 - 59
virgo.api/src/main/resources/mapper/ProjectItemTargetMapper.xml

@@ -1,65 +1,39 @@
 <!DOCTYPE mapper
-    PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-    "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- 
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
 <mapper namespace="com.bosshand.virgo.api.dao.ProjectItemTargetDao">
 
-	<resultMap type="com.bosshand.virgo.api.model.ProjectItemTarget" id="projectItemTargetResult">
-			<id column="id" property="id"/>
-			<result column="name" property="name"/>
-			<result column="projectItemId" property="projectItemId"/>
-			<result column="value" property="value"/>
-			<result column="elevation" property="elevation"/>
-			<result column="sequence" property="sequence"/>
-	</resultMap>
-	
-	<sql id="ProjectItemTargetQuery">
-		SELECT * FROM project_item_target
-	</sql>
+    <resultMap type="com.bosshand.virgo.api.model.ProjectItemTarget" id="projectItemTargetResult">
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="projectId" property="projectId"/>
+        <result column="projectItemId" property="projectItemId"/>
+        <result column="sequence" property="sequence"/>
+        <result column="propertyCertificateNumber" property="propertyCertificateNumber"/>
+        <result column="roomNumber" property="roomNumber"/>
+    </resultMap>
+
+    <insert id="insert" useGeneratedKeys="true" keyProperty="id">
+        INSERT INTO project_item_target(name, projectId, projectItemId, sequence, propertyCertificateNumber, roomNumber)
+        VALUES (#{name}, #{projectId}, #{projectItemId}, #{sequence}, #{propertyCertificateNumber}, #{roomNumber})
+    </insert>
+
+    <delete id="delete">
+        DELETE FROM project_item_target WHERE id = #{id}
+    </delete>
 
-	<select id="get" resultMap="projectItemTargetResult">
-		<include refid="ProjectItemTargetQuery"/>
-		where id=#{id}
-	</select>
-	
-	<select id="getProjectItemId" resultMap="projectItemTargetResult">
-		<include refid="ProjectItemTargetQuery"/>
-		where projectItemId=#{projectItemId} order by sequence
-	</select>
+    <update id="update" parameterType="com.bosshand.virgo.api.model.ProjectItemTarget">
+        UPDATE project_item_target
+        <trim prefix="set" suffixOverrides=",">
+            <if test="name!=null">name=#{name},</if>
+            <if test="projectId!=0">projectId=#{projectId},</if>
+            <if test="projectItemId!=0">projectItemId=#{projectItemId},</if>
+            <if test="sequence!=0">sequence=#{sequence},</if>
+            <if test="propertyCertificateNumber!=null">propertyCertificateNumber=#{propertyCertificateNumber},</if>
+            <if test="roomNumber!=0">roomNumber=#{roomNumber},</if>
+        </trim>
+        WHERE id=#{id}
+    </update>
 
-	<select id="getProjectItemIds" resultMap="projectItemTargetResult">
-		SELECT id, name, projectItemId FROM project_item_target
-		<choose>
-			<when test="list.size > 0">
-				where projectItemId in (
-				<foreach collection="list" item="item" index="index" separator=",">
-					#{item}
-				</foreach>
-				)
-			</when>
-			<otherwise>
-				where 1=0
-			</otherwise>
-		</choose>
-	</select>
-	
-	<insert id="insert" useGeneratedKeys="true" keyProperty="id">
-		INSERT INTO project_item_target(name, projectItemId, value, sequence, elevation) VALUES (#{name}, #{projectItemId}, #{value}, #{sequence}, #{elevation})
-	</insert>
-	
-	<delete id="delete">
-		DELETE FROM project_item_target WHERE id=#{id}
-	</delete>
-	
-	<update id="update" parameterType="com.bosshand.virgo.api.model.ProjectItemTarget">
-		UPDATE project_item_target
-		<trim prefix="set" suffixOverrides=",">
-			<if test="name!=null">name=#{name},</if>
-			<if test="value!=null">value=#{value},</if>
-			<if test="sequence!=0">sequence=#{sequence},</if>
-			<if test="elevation!=null">elevation=#{elevation},</if>
-		</trim>
-		WHERE id=#{id}
-	</update>
-	
 </mapper>

+ 53 - 113
virgo.api/src/main/resources/mapper/ProjectMapper.xml

@@ -2,86 +2,59 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="com.bosshand.virgo.api.dao.ProjectDao">
 
-	<resultMap type="com.bosshand.virgo.api.model.Project" id="projectResult">
+	<resultMap type="com.bosshand.virgo.api.model.Project" id="result">
 		<id column="id" property="id"/>
-		<result column="projectName" property="projectName"/>
-		<result column="description" property="description"/>
+		<result column="name" property="name"/>
 		<result column="createDate" property="createDate"/>
-		<result column="status" property="status"/>
-		<result column="typeId" property="typeId"/>
-		<result column="projectMetaData" property="projectMetaData"/>
 		<result column="organizationId" property="organizationId"/>
-		<result column="operateOrganizationId" property="operateOrganizationId"/>
-		<result column="enableFlow" property="enableFlow"/>
-		<result column="isLead" property="isLead"/>
-		<result column="isUseFace" property="isUseFace"/>
-		<result column="isUseChain" property="isUseChain"/>
-		<result column="isUseBim" property="isUseBim"/>
-		<result column="leadUrl" property="leadUrl"/>
-		<result column="yuiProjectId" property="yuiProjectId"/>
-		<result column="generateWeeklyDate" property="generateWeeklyDate"/>
-		<result column="version" property="version"/>
-		<collection property="projectItemList" ofType="com.bosshand.virgo.api.model.ProjectItem" resultMap="com.bosshand.virgo.api.dao.ProjectItemDao.projectItemResult" columnPrefix="projectItem_"/>
+		<result column="address" property="address"/>
+		<result column="picture" property="picture"/>
+		<result column="tagId" property="tagId"/>
+		<result column="comment" property="comment"/>
+		<result column="data" property="data"/>
 	</resultMap>
-	
-	<resultMap type="com.bosshand.virgo.api.model.Project" id="projectByOnlyResult">
+
+	<resultMap type="com.bosshand.virgo.api.model.Project" id="projectResult">
 		<id column="id" property="id"/>
-		<result column="projectName" property="projectName"/>
-		<result column="description" property="description"/>
+		<result column="name" property="name"/>
 		<result column="createDate" property="createDate"/>
-		<result column="status" property="status"/>
-		<result column="typeId" property="typeId"/>
-		<result column="projectMetaData" property="projectMetaData"/>
 		<result column="organizationId" property="organizationId"/>
-		<result column="operateOrganizationId" property="operateOrganizationId"/>
-		<result column="enableFlow" property="enableFlow"/>
-		<result column="isLead" property="isLead"/>
-		<result column="isUseFace" property="isUseFace"/>
-		<result column="isUseChain" property="isUseChain"/>
-		<result column="isUseBim" property="isUseBim"/>
-		<result column="leadUrl" property="leadUrl"/>
-		<result column="yuiProjectId" property="yuiProjectId"/>
-		<result column="version" property="version"/>
+		<result column="address" property="address"/>
+		<result column="picture" property="picture"/>
+		<result column="tagId" property="tagId"/>
+		<result column="comment" property="comment"/>
+		<result column="data" property="data"/>
+		<collection property="projectItemList" ofType="com.bosshand.virgo.api.model.ProjectItem" resultMap="com.bosshand.virgo.api.dao.ProjectItemDao.projectItemResult" columnPrefix="projectItem_"/>
 	</resultMap>
-	
+
 	<sql id="ProjectQuery">
 		SELECT
 		p.*,
 		pi.id as projectItem_id,
 		pi.name as projectItem_name,
 		pi.createDate as projectItem_createDate,
-		pi.organizationMap as projectItem_organizationMap,
-		pi.status as projectItem_status,
-		pi.yuiProjectItemId as projectItem_yuiProjectItemId,
-		pi.yuiProjectItemTargets as projectItem_yuiProjectItemTargets,
-		pi.type as projectItem_type,
-		pi.bim as projectItem_bim,
-		pi.bimIntegrateId as projectItem_bimIntegrateId,
-		pi.number as projectItem_number,
-		pi.bimIntegrateNumber as projectItem_bimIntegrateNumber
+		pi.area as projectItem_area,
+		pi.address as projectItem_address,
+		pi.picture as projectItem_picture,
+		pi.propertyCertificateNumber as projectItem_propertyCertificateNumber,
+		pi.tagId as projectItem_tagId,
+		pi.data as projectItem_data
 		FROM project p
 		left join project_item pi on p.id = pi.projectId
 	</sql>
-	
-	<sql id="ProjectQueryByOnly">
-		SELECT * FROM project
-	</sql>
-	
-	<sql id="ProjectTotalCount">
-		SELECT count(*) FROM project 
-	</sql>
-	
+
 	<select id="get" resultMap="projectResult">
 		<include refid="ProjectQuery"/>
 		where p.id=#{id}
 	</select>
-	
-	<select id="getByYuiProjectId" resultMap="projectResult">
-		SELECT * FROM project where yuiProjectId = #{yuiProjectId} and status != 1
+
+	<select id="getProjectByOrganizationId" resultMap="result">
+		select * from project where organizationId = #{organizationId}
 	</select>
-	
+
 	<insert id="insert" parameterType="com.bosshand.virgo.api.model.Project" useGeneratedKeys="true" keyProperty="id">
-		INSERT INTO project(projectName, description, createDate, status, typeId, projectMetaData, organizationId, operateOrganizationId, isLead, isUseFace, isUseChain, isUseBim, leadUrl, yuiProjectId, generateWeeklyDate, version) VALUES (#{projectName}, #{description}, now(), #{status}, #{typeId}, #{projectMetaData}, #{organizationId}, #{operateOrganizationId}, #{isLead}, #{isUseFace}, #{isUseChain}, #{isUseBim}, #{leadUrl}, #{yuiProjectId}, #{generateWeeklyDate}, #{version})
+		INSERT INTO project(`name`, `createDate`, `organizationId`, `address`, `picture`, `tagId`, `comment`, `data`)
+		VALUES (#{name}, now(), #{organizationId}, #{address}, #{picture}, #{tagId}, #{comment}, #{data})
 	</insert>
 	
 	<delete id="delete">
@@ -91,70 +64,37 @@
 	<update id="update" parameterType="com.bosshand.virgo.api.model.Project">
 		UPDATE project
 		<trim prefix="set" suffixOverrides=",">
-			<if test="projectName!=null">projectName=#{projectName},</if>
-			<if test="description!=null">description=#{description},</if>
+			<if test="name!=null">name=#{name},</if>
 			<if test="createDate!=null">createDate=#{createDate},</if>
-			<if test="status!=0">status=#{status},</if>
-			<if test="typeId!=null">typeId=#{typeId},</if>
 			<if test="organizationId!=0">organizationId=#{organizationId},</if>
-			<if test="operateOrganizationId!=0">operateOrganizationId=#{operateOrganizationId},</if>
-			<if test="projectMetaData!=null">projectMetaData=#{projectMetaData},</if>
-			<if test="enableFlow!=null">enableFlow=#{enableFlow},</if>
-			<if test="yuiProjectId!=0">yuiProjectId=#{yuiProjectId},</if>
-			<if test="isUseFace!=-1">isUseFace=#{isUseFace},</if>
-			<if test="version!=null">version=#{version},</if>
+			<if test="address!=null">address=#{address},</if>
+			<if test="picture!=null">picture=#{picture},</if>
+			<if test="tagId!=0">tagId=#{tagId},</if>
+			<if test="comment!=null">comment=#{comment},</if>
+			<if test="data!=null">data=#{data},</if>
 		</trim>
 		WHERE id=#{id}
 	</update>
-	
-	<select id="listByOrganizationId" parameterType="map" resultMap="projectResult">
-		 <include refid="ProjectQuery"/>
-		 where p.organizationId = #{organizationId} and p.status != 1
-	</select>
 
-	<select id="getOperateOrganizationId" parameterType="map" resultMap="projectResult">
-		<include refid="ProjectQuery"/>
-		where p.operateOrganizationId = #{operateOrganizationId} and p.status != 1
-	</select>
-
-	<select id="getByList" parameterType="map" resultMap="projectResult">
-		<include refid="ProjectQuery"/>
-		where operateOrganizationId == 0 and p.status != 1
-	</select>
-
-	<select id="getList" parameterType="map" resultMap="projectByOnlyResult">
-		<include refid="ProjectQueryByOnly"/>
-		<trim prefix="WHERE" prefixOverrides="AND|OR">
-			<if test="organizationId != null">and organizationId = #{organizationId}</if>
-			<if test="operateOrganizationId != null">and operateOrganizationId = #{operateOrganizationId}</if>
-			<if test="projectName != null and projectName !=''">and projectName = #{projectName}</if>
+	<select id="getTotalCount" parameterType="com.bosshand.virgo.api.model.Project" resultType="Integer">
+		SELECT count(*) FROM project
+		<where>
+			<if test="organizationId != 0">and organizationId = #{organizationId}</if>
+			<if test="tagId != 0">and tagId = #{tagId}</if>
+			<if test="name != null and name !=''">and name = #{name}</if>
 			<if test="createDate != null and createDate !=''">and createDate = #{createDate}</if>
-			and status != 1
-		</trim>	
-  		limit #{currIndex} , #{pageSize}
+		</where>
 	</select>
-	
-	<select id="getTotalCount" parameterType="map" resultType="Integer">
-		<include refid="ProjectTotalCount"/>
-		<trim prefix="WHERE" prefixOverrides="AND|OR">
-			<if test="organizationId != null">and organizationId = #{organizationId}</if>
-			<if test="operateOrganizationId != null">and operateOrganizationId = #{operateOrganizationId}</if>
-			<if test="projectName != null and projectName !=''">and projectName = #{projectName}</if>
-			<if test="createDate != null and createDate !=''">and createDate = #{createDate}</if>
-			and status != 1
-		</trim>
+
+	<select id="getLimit" resultMap="result">
+		SELECT * FROM operate_device
+		<where>
+			<if test="p.organizationId!=0">and id=#{od.organizationId}</if>
+			<if test="p.tagId != 0">and tagId = #{p.tagId}</if>
+			<if test="p.name!=null">and name=#{p.name}</if>
+			<if test="p.createDate!=null">and createDate in (${p.createDate})</if>
+		</where>
+		limit #{currIndex} , #{pageSize}
 	</select>
-	
-	<select id="getProjectIds" parameterType="list" resultType="com.bosshand.virgo.api.model.Project">
-        select * from project where id in (
-          <trim>
-	        <if test="list.size > 0">
-	        	<foreach collection="list" item="item" index="index" separator=",">
-		            #{item}
-		        </foreach>
-	        </if>
-         </trim>
-         ) and status != 1
-    </select>
 
 </mapper>

+ 52 - 0
virgo.api/src/main/resources/mapper/TagMapper.xml

@@ -0,0 +1,52 @@
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.bosshand.virgo.api.dao.TagDao">
+
+    <resultMap type="com.bosshand.virgo.api.model.Tag" id="tagResult">
+        <id column="id" property="id"/>
+        <result column="name" property="name"/>
+        <result column="projectId" property="projectId"/>
+        <result column="projectItemId" property="projectItemId"/>
+        <result column="projectItemTargetRoomId" property="projectItemTargetRoomId"/>
+    </resultMap>
+
+    <select id="getList" resultMap="tagResult">
+        select * from tag
+        <where>
+            <if test="id != 0">
+                and id = #{id}
+            </if>
+            <if test="name != null">
+                and name = #{name}
+            </if>
+            <if test="projectItemId != 0">
+                and projectItemId = #{projectItemId}
+            </if>
+            <if test="projectItemTargetRoomId != 0">
+                and projectItemTargetRoomId = #{projectItemTargetRoomId}
+            </if>
+        </where>
+    </select>
+
+    <insert id="insert" useGeneratedKeys="true" keyProperty="id">
+        INSERT INTO tag (name, projectId, projectItemId, projectItemTargetRoomId) VALUES (#{name}, #{projectId}, #{projectItemId}, #{projectItemTargetRoomId})
+    </insert>
+
+    <delete id="delete">
+        DELETE FROM tag WHERE id=#{id}
+    </delete>
+
+    <update id="update" parameterType="com.bosshand.virgo.api.model.Tag">
+        UPDATE tag
+        <trim prefix="set" suffixOverrides=",">
+            <if test="name!=null">name=#{name},</if>
+            <if test="projectId!=0">projectId=#{projectId},</if>
+            <if test="projectItemId!=0">projectItemId=#{projectItemId},</if>
+            <if test="projectItemTargetRoomId!=0">projectItemTargetRoomId=#{projectItemTargetRoomId},</if>
+        </trim>
+        WHERE id=#{id}
+    </update>
+
+</mapper>

+ 3 - 2
virgo.core/src/main/java/com/bosshand/virgo/core/controller/UserContextController.java

@@ -31,7 +31,8 @@ public class UserContextController {
 	@RequestMapping(value = "/pCode", method = RequestMethod.GET)
 	public Response getCode() {
 		ImageUtil imageUtil = new ImageUtil(120, 40, 4, 30);
-		CodeCache.setKey(imageUtil.getCode(), imageUtil.getCode());
+		String code = imageUtil.getCode().toLowerCase();
+		CodeCache.setKey(code, code);
 		Map<String, Object> result = new HashMap<String, Object>();
 		String pngBase64 = "data:image/png;base64," + imageUtil.getPngBase64();
 		result.put("pngBase64", pngBase64);
@@ -41,7 +42,7 @@ public class UserContextController {
 	@ApiOperation(value="发送短信", notes="发送短信")
 	@RequestMapping(value = "/send/{phone}/{pCode}", method = RequestMethod.GET)
 	public Response getCode(@PathVariable String phone, @PathVariable String pCode) {
-		if (CodeCache.getKey(pCode) == null){
+		if (CodeCache.getKey(pCode.toLowerCase()) == null){
 			return Response.fail(404, "图片验证码有误, 请再次刷新图片验证码");
 		}
 		if (!(phone.matches("^1[3-9]\\d{9}$"))) {