瀏覽代碼

优化我的审批单查询

java110 6 年之前
父節點
當前提交
c8d305037b

+ 41 - 9
CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java

@@ -5,7 +5,9 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.smo.common.IResourceEntryStoreInnerServiceSMO;
 import com.java110.core.smo.common.IResourceEntryStoreInnerServiceSMO;
+import com.java110.core.smo.purchaseApply.IPurchaseApplyInnerServiceSMO;
 import com.java110.dto.PageDto;
 import com.java110.dto.PageDto;
+import com.java110.dto.complaint.ComplaintDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.purchaseApply.PurchaseApplyDto;
 import com.java110.dto.resourceStore.ResourceOrderDto;
 import com.java110.dto.resourceStore.ResourceOrderDto;
 import com.java110.entity.audit.AuditUser;
 import com.java110.entity.audit.AuditUser;
@@ -37,6 +39,9 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
     @Autowired
     @Autowired
     private TaskService taskService;
     private TaskService taskService;
 
 
+    @Autowired
+    private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
+
 
 
     /**
     /**
      * 启动流程
      * 启动流程
@@ -91,17 +96,44 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
             list = query.list();
             list = query.list();
         }
         }
 
 
-        List<PurchaseApplyDto> purchaseApplyDtos = new ArrayList<>();
-
+//        List<PurchaseApplyDto> purchaseApplyDtos = new ArrayList<>();
+//
+//        for (Task task : list) {
+//            String id = task.getId();
+//            //System.out.println("tasks:" + JSONObject.toJSONString(task));
+//            PurchaseApplyDto purchaseApplyDto = (PurchaseApplyDto) taskService.getVariable(id, "purchaseApplyDto");
+//            purchaseApplyDto.setTaskId(id);
+//            purchaseApplyDto.setProcessInstanceId(task.getProcessInstanceId());
+//            purchaseApplyDtos.add(purchaseApplyDto);
+//        }
+//        return purchaseApplyDtos;
+
+        List<String> applyOrderIds = new ArrayList<>();
+        Map<String, String> taskBusinessKeyMap = new HashMap<>();
         for (Task task : list) {
         for (Task task : list) {
-            String id = task.getId();
-            //System.out.println("tasks:" + JSONObject.toJSONString(task));
-            PurchaseApplyDto purchaseApplyDto = (PurchaseApplyDto) taskService.getVariable(id, "purchaseApplyDto");
-            purchaseApplyDto.setTaskId(id);
-            purchaseApplyDto.setProcessInstanceId(task.getProcessInstanceId());
-            purchaseApplyDtos.add(purchaseApplyDto);
+            String processInstanceId = task.getProcessInstanceId();
+            //3.使用流程实例,查询
+            ProcessInstance pi = runtimeService.createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
+            //4.使用流程实例对象获取BusinessKey
+            String business_key = pi.getBusinessKey();
+            applyOrderIds.add(business_key);
+            taskBusinessKeyMap.put(business_key, task.getId());
+        }
+
+        if (applyOrderIds == null || applyOrderIds.size() == 0) {
+            return new ArrayList<>();
+        }
+
+        //查询 投诉信息
+        PurchaseApplyDto purchaseApplyDto = new PurchaseApplyDto();
+        purchaseApplyDto.setStoreId(user.getStoreId());
+        purchaseApplyDto.setApplyOrderIds(applyOrderIds.toArray(new String[applyOrderIds.size()]));
+        List<PurchaseApplyDto> tmpPurchaseApplyDtos = purchaseApplyInnerServiceSMOImpl.queryPurchaseApplyAndDetails(purchaseApplyDto);
+
+        for (PurchaseApplyDto tmpPurchaseApplyDto : tmpPurchaseApplyDtos) {
+            tmpPurchaseApplyDto.setTaskId(taskBusinessKeyMap.get(tmpPurchaseApplyDto.getApplyOrderId()));
         }
         }
-        return purchaseApplyDtos;
+        return tmpPurchaseApplyDtos;
     }
     }
 
 
     public boolean agreeCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto) {
     public boolean agreeCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto) {

+ 9 - 0
java110-bean/src/main/java/com/java110/dto/purchaseApply/PurchaseApplyDto.java

@@ -20,6 +20,7 @@ public class PurchaseApplyDto extends PageDto implements Serializable {
     private String resOrderType;
     private String resOrderType;
     private String description;
     private String description;
     private String applyOrderId;
     private String applyOrderId;
+    private String[] applyOrderIds;
     private String bId;
     private String bId;
     private String state;
     private String state;
     private String storeId;
     private String storeId;
@@ -223,4 +224,12 @@ public class PurchaseApplyDto extends PageDto implements Serializable {
     public void setStaffTel(String staffTel) {
     public void setStaffTel(String staffTel) {
         this.staffTel = staffTel;
         this.staffTel = staffTel;
     }
     }
+
+    public String[] getApplyOrderIds() {
+        return applyOrderIds;
+    }
+
+    public void setApplyOrderIds(String[] applyOrderIds) {
+        this.applyOrderIds = applyOrderIds;
+    }
 }
 }