dcs hace 1 año
padre
commit
f1a8db3175

+ 14 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ContractController.java

@@ -40,9 +40,20 @@ public class ContractController {
     public Response getList(@RequestBody Contract contract) {
         List<Contract> list = contractService.getList(contract);
         tags(list);
+        rooms(list);
         return Response.ok(list);
     }
 
+    private void rooms(List<Contract> list) {
+        Map<Long, String> rooms = new HashMap();
+        for (Contract ct : list) {
+            rooms.clear();
+            if (StringUtil.notBlank(ct.getProjectItemTargetRoomIds())) {
+                ct.setRoomMap(projectItemTargetRoomService.getRoomLevel(rooms, ct.getProjectItemTargetRoomIds()));
+            }
+        }
+    }
+
     private void tags(List<Contract> list) {
         List<Tag> tags = new ArrayList<>();
         for (Contract ct : list) {
@@ -62,6 +73,7 @@ public class ContractController {
         int totalCount = contractService.getTotalCount(contract);
         List<Contract> dataList = contractService.getLimit(contract, currPage, pageSize);
         tags(dataList);
+        rooms(dataList);
         Map<String, Object> result = new HashMap<>();
         result.put("dataList", dataList);
         result.put("totalCount", totalCount);
@@ -101,6 +113,8 @@ public class ContractController {
             }
         }
         contract.setTagList(tags);
+        Map<Long, String> rooms = new HashMap();
+        contract.setRoomMap(projectItemTargetRoomService.getRoomLevel(rooms, contract.getProjectItemTargetRoomIds()));
         return Response.ok(contract);
     }
 

+ 11 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/model/Contract.java

@@ -4,6 +4,7 @@ import com.fasterxml.jackson.annotation.JsonFormat;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 合同管理
@@ -156,6 +157,8 @@ public class Contract {
      */
     private String projectItemTargetRoomIds;
 
+    private Map<Long, String> roomMap;
+
     /**
      * 附件
      */
@@ -416,6 +419,14 @@ public class Contract {
         this.projectItemTargetRoomIds = projectItemTargetRoomIds;
     }
 
+    public Map<Long, String> getRoomMap() {
+        return roomMap;
+    }
+
+    public void setRoomMap(Map<Long, String> roomMap) {
+        this.roomMap = roomMap;
+    }
+
     public String getAttachment() {
         return attachment;
     }

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

@@ -2,6 +2,7 @@ package com.bosshand.virgo.api.service;
 
 import com.bosshand.virgo.api.dao.*;
 import com.bosshand.virgo.api.model.*;
+import com.bosshand.virgo.core.utils.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -143,5 +144,19 @@ public class ProjectItemTargetRoomService {
         return project;
     }
 
+    public Map getRoomLevel(Map<Long, String> map, String projectItemTargetRoomIds) {
+        if(StringUtil.notBlank(projectItemTargetRoomIds)){
+            String[] split = projectItemTargetRoomIds.split(",");
+            for(String i : split){
+                long id = Long.parseLong(i);
+                ProjectItemTargetRoom room = getProjectItemTargetRoom(id);
+                ProjectItemTarget target = getProjectItemTarget(room.getProjectItemTargetId());
+                ProjectItem item = getProjectItem(target.getProjectItemId());
+                map.put(id, item.getName()+"-"+target.getName()+"-"+room.getRoomNumber());
+            }
+        }
+        return map;
+    }
+
 
 }