Преглед изворни кода

投诉单加入首节点提交功能

wuxw пре 6 година
родитељ
комит
e255228e64

+ 2 - 0
Api/src/main/java/com/java110/api/listener/complaint/SaveComplaintListener.java

@@ -43,6 +43,7 @@ public class SaveComplaintListener extends AbstractServiceApiListener {
         Assert.hasKeyAndValue(reqJson, "roomId", "必填,请选择房屋编号");
         Assert.hasKeyAndValue(reqJson, "complaintName", "必填,请填写投诉人");
         Assert.hasKeyAndValue(reqJson, "tel", "必填,请填写投诉电话");
+        Assert.hasKeyAndValue(reqJson, "userId", "必填,请填写用户信息");
         //Assert.hasKeyAndValue(reqJson, "state", "必填,请填写投诉状态");
         Assert.hasKeyAndValue(reqJson, "context", "必填,请填写投诉内容");
 
@@ -69,6 +70,7 @@ public class SaveComplaintListener extends AbstractServiceApiListener {
 
         if(HttpStatus.OK == responseEntity.getStatusCode()){
             ComplaintDto complaintDto = BeanConvertUtil.covertBean(reqJson, ComplaintDto.class);
+            complaintDto.setCurrentUserId(reqJson.getString("userId"));
             complaintUserInnerServiceSMOImpl.startProcess(complaintDto);
         }
 

+ 24 - 1
CommonService/src/main/java/com/java110/common/smo/impl/ComplaintUserInnerServiceSMOImpl.java

@@ -7,6 +7,7 @@ import com.java110.dto.PageDto;
 import com.java110.dto.auditMessage.AuditMessageDto;
 import com.java110.dto.complaint.ComplaintDto;
 import com.java110.entity.audit.AuditUser;
+import com.java110.utils.util.Assert;
 import org.activiti.engine.ProcessEngine;
 import org.activiti.engine.RuntimeService;
 import org.activiti.engine.TaskService;
@@ -56,10 +57,32 @@ public class ComplaintUserInnerServiceSMOImpl extends BaseServiceSMO implements
         // System.out.println("流程开启成功.......实例流程id:" + processInstanceId);
 
         complaintDto.setProcessInstanceId(processInstanceId);
-
+        //第一个节点自动提交
+        autoFinishFirstTask(complaintDto);
         return complaintDto;
     }
 
+    /**
+     * 自动提交第一步
+     */
+    private void autoFinishFirstTask(ComplaintDto complaintDto){
+        Task task = null;
+        TaskQuery query = taskService.createTaskQuery().taskCandidateOrAssigned(complaintDto.getCurrentUserId()).active();
+        List<Task> todoList = query.list();//获取申请人的待办任务列表
+        for (Task tmp : todoList) {
+            if(tmp.getProcessInstanceId().equals(complaintDto.getProcessInstanceId())){
+                task = tmp;//获取当前流程实例,当前申请人的待办任务
+                break;
+            }
+        }
+        Assert.notNull(task, "未找到当前用户任务userId = "+ complaintDto.getCurrentUserId());
+        complaintDto.setTaskId(task.getId());
+        complaintDto.setAuditCode("10000");
+        complaintDto.setAuditMessage("提交");
+        completeTask(complaintDto);
+
+    }
+
     /**
      * 查询用户任务数
      *

+ 1 - 0
WebService/src/main/java/com/java110/web/smo/complaint/impl/AddComplaintSMOImpl.java

@@ -49,6 +49,7 @@ public class AddComplaintSMOImpl extends AbstractComponentSMO implements IAddCom
         ResponseEntity<String> responseEntity = null;
         ComponentValidateResult result = super.validateStoreStaffCommunityRelationship(pd, restTemplate);
         paramIn.put("storeId", result.getStoreId());
+        paramIn.put("userId", result.getUserId());
         responseEntity = this.callCenterService(restTemplate, pd, paramIn.toJSONString(),
                 ServiceConstant.SERVICE_API_URL + "/api/complaint.saveComplaint",
                 HttpMethod.POST);