java110
2020-05-17 3dee4f5487f0f6378cd73b8742d5c4c1d695d802
CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java
@@ -5,6 +5,10 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.core.base.smo.BaseServiceSMO;
import com.java110.core.smo.common.IResourceEntryStoreInnerServiceSMO;
import com.java110.core.smo.purchaseApply.IPurchaseApplyInnerServiceSMO;
import com.java110.dto.PageDto;
import com.java110.dto.complaint.ComplaintDto;
import com.java110.dto.purchaseApply.PurchaseApplyDto;
import com.java110.dto.resourceStore.ResourceOrderDto;
import com.java110.entity.audit.AuditUser;
import org.activiti.engine.ProcessEngine;
@@ -35,6 +39,9 @@
    @Autowired
    private TaskService taskService;
    @Autowired
    private IPurchaseApplyInnerServiceSMO purchaseApplyInnerServiceSMOImpl;
    /**
     * 启动流程
@@ -57,27 +64,76 @@
    }
    /**
     * 查询用户任务数
     *
     * @param user
     * @return
     */
    public long getUserTaskCount(@RequestBody AuditUser user) {
        TaskService taskService = processEngine.getTaskService();
        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry");
        query.taskAssignee(user.getUserId());
        return query.count();
    }
    /**
     * 获取用户任务
     *
     * @param user 用户信息
     */
    public List<ResourceOrderDto> getUserTasks(@RequestBody AuditUser user) {
    public List<PurchaseApplyDto> getUserTasks(@RequestBody AuditUser user) {
        TaskService taskService = processEngine.getTaskService();
        TaskQuery query = taskService.createTaskQuery();
        TaskQuery query = taskService.createTaskQuery().processDefinitionKey("resourceEntry");
        query.taskAssignee(user.getUserId());
        query.orderByTaskCreateTime().desc();
        List<Task> list = query.list();
        List<ResourceOrderDto> resourceOrderDtos = new ArrayList<>();
        for (Task task : list) {
            String id = task.getId();
            //System.out.println("tasks:" + JSONObject.toJSONString(task));
            ResourceOrderDto resourceOrderDto = (ResourceOrderDto) taskService.getVariable(id, "resourceOrderDto");
            resourceOrderDto.setTaskId(id);
            resourceOrderDtos.add(resourceOrderDto);
        List<Task> list = null;
        if(user.getPage()  >=1){
            user.setPage(user.getPage()-1);
        }
        return resourceOrderDtos;
        if (user.getPage() != PageDto.DEFAULT_PAGE) {
            list = query.listPage(user.getPage(), user.getRow());
        }else{
            list = query.list();
        }
//        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) {
            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 tmpPurchaseApplyDtos;
    }
    public boolean agreeCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto) {