Просмотр исходного кода

加入审核通过和审核不通过接口

wuxw лет назад: 6
Родитель
Сommit
0d72a5c3b5

+ 25 - 0
CommonService/src/main/java/com/java110/common/activity/resourceEnter/ResourceEnterToBuyerListener.java

@@ -1,14 +1,39 @@
 package com.java110.common.activity.resourceEnter;
 
+import com.java110.core.smo.auditUser.IAuditUserInnerServiceSMO;
+import com.java110.dto.auditUser.AuditUserDto;
+import com.java110.dto.resourceStore.ResourceOrderDto;
+import com.java110.entity.audit.AuditUser;
+import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.utils.util.BeanConvertUtil;
 import org.activiti.engine.delegate.DelegateTask;
 import org.activiti.engine.delegate.TaskListener;
 
+import java.util.List;
+
 /**
  * 采购人员采购
  */
 public class ResourceEnterToBuyerListener implements TaskListener {
+
+    private IAuditUserInnerServiceSMO auditUserInnerServiceSMOImpl;
+
     @Override
     public void notify(DelegateTask delegateTask) {
 
+        auditUserInnerServiceSMOImpl = ApplicationContextFactory.getBean("auditUserInnerServiceSMOImpl", IAuditUserInnerServiceSMO.class);
+        AuditUserDto auditUserDto = new AuditUserDto();
+        ResourceOrderDto resourceOrderDto = (ResourceOrderDto)delegateTask.getVariable("resourceOrderDto");
+        auditUserDto.setStoreId(resourceOrderDto.getStoreId());
+        auditUserDto.setObjCode("resourceEntry");
+        auditUserDto.setAuditLink("809003");
+        List<AuditUserDto> auditUserDtos = auditUserInnerServiceSMOImpl.queryAuditUsers(auditUserDto);
+
+        for (AuditUserDto tmpAuditUser : auditUserDtos) {
+            AuditUser auditUser = BeanConvertUtil.covertBean(tmpAuditUser, AuditUser.class);
+
+            delegateTask.setVariable(auditUser.getUserId(), auditUser);
+
+        }
     }
 }

+ 22 - 8
CommonService/src/main/java/com/java110/common/activity/resourceEnter/ResourceEnterToDepartmentListener.java

@@ -1,26 +1,40 @@
 package com.java110.common.activity.resourceEnter;
 
 import com.alibaba.fastjson.JSONObject;
+import com.java110.core.smo.auditUser.IAuditUserInnerServiceSMO;
+import com.java110.dto.auditUser.AuditUserDto;
+import com.java110.dto.resourceStore.ResourceOrderDto;
 import com.java110.entity.audit.AuditUser;
+import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.utils.util.BeanConvertUtil;
 import org.activiti.engine.delegate.DelegateTask;
 import org.activiti.engine.delegate.TaskListener;
 
+import java.util.List;
+
 /**
  * 部门领导 监听类
  */
 public class ResourceEnterToDepartmentListener implements TaskListener {
+
+    private IAuditUserInnerServiceSMO auditUserInnerServiceSMOImpl;
+
     @Override
     public void notify(DelegateTask delegateTask) {
 
-        //查询相应的相应审核人员
+        auditUserInnerServiceSMOImpl = ApplicationContextFactory.getBean("auditUserInnerServiceSMOImpl", IAuditUserInnerServiceSMO.class);
+        AuditUserDto auditUserDto = new AuditUserDto();
+        ResourceOrderDto resourceOrderDto = (ResourceOrderDto)delegateTask.getVariable("resourceOrderDto");
+        auditUserDto.setStoreId(resourceOrderDto.getStoreId());
+        auditUserDto.setObjCode("resourceEntry");
+        auditUserDto.setAuditLink("809001");
+        List<AuditUserDto> auditUserDtos = auditUserInnerServiceSMOImpl.queryAuditUsers(auditUserDto);
+
+        for (AuditUserDto tmpAuditUser : auditUserDtos) {
+            AuditUser auditUser = BeanConvertUtil.covertBean(tmpAuditUser, AuditUser.class);
 
-        System.out.println("打印 对象 delegateTask:" + JSONObject.toJSONString(delegateTask));
+            delegateTask.setVariable(auditUser.getUserId(), auditUser);
 
-        AuditUser user = new AuditUser();
-        user.setUserId("1234567890");
-        user.setUserName("吴学文");
-        user.setAuditLink("department");
-        user.setObjCode("ResourceEnter");
-        delegateTask.setVariable(user.getUserId(), user);
+        }
     }
 }

+ 25 - 0
CommonService/src/main/java/com/java110/common/activity/resourceEnter/ResourceEnterToFinanceListener.java

@@ -1,14 +1,39 @@
 package com.java110.common.activity.resourceEnter;
 
+import com.java110.core.smo.auditUser.IAuditUserInnerServiceSMO;
+import com.java110.dto.auditUser.AuditUserDto;
+import com.java110.dto.resourceStore.ResourceOrderDto;
+import com.java110.entity.audit.AuditUser;
+import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.utils.util.BeanConvertUtil;
 import org.activiti.engine.delegate.DelegateTask;
 import org.activiti.engine.delegate.TaskListener;
 
+import java.util.List;
+
 /**
  * 财务审核 监听类
  */
 public class ResourceEnterToFinanceListener implements TaskListener {
+
+    private IAuditUserInnerServiceSMO auditUserInnerServiceSMOImpl;
+
     @Override
     public void notify(DelegateTask delegateTask) {
 
+        auditUserInnerServiceSMOImpl = ApplicationContextFactory.getBean("auditUserInnerServiceSMOImpl", IAuditUserInnerServiceSMO.class);
+        AuditUserDto auditUserDto = new AuditUserDto();
+        ResourceOrderDto resourceOrderDto = (ResourceOrderDto)delegateTask.getVariable("resourceOrderDto");
+        auditUserDto.setStoreId(resourceOrderDto.getStoreId());
+        auditUserDto.setObjCode("resourceEntry");
+        auditUserDto.setAuditLink("809002");
+        List<AuditUserDto> auditUserDtos = auditUserInnerServiceSMOImpl.queryAuditUsers(auditUserDto);
+
+        for (AuditUserDto tmpAuditUser : auditUserDtos) {
+            AuditUser auditUser = BeanConvertUtil.covertBean(tmpAuditUser, AuditUser.class);
+
+            delegateTask.setVariable(auditUser.getUserId(), auditUser);
+
+        }
     }
 }

+ 16 - 0
CommonService/src/main/java/com/java110/common/smo/impl/ResourceEntryStoreInnerServiceSMOImpl.java

@@ -80,6 +80,22 @@ public class ResourceEntryStoreInnerServiceSMOImpl extends BaseServiceSMO implem
         return resourceOrderDtos;
     }
 
+    public boolean agreeCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto) {
+        TaskService taskService = processEngine.getTaskService();
+        Map<String, Object> variables = new HashMap<String, Object>();
+        variables.put("auditFlag", true);
+        taskService.complete(resourceOrderDto.getTaskId(), variables);
+        return true;
+    }
+
+    public boolean refuteCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto) {
+        TaskService taskService = processEngine.getTaskService();
+        Map<String, Object> variables = new HashMap<String, Object>();
+        variables.put("auditFlag", true);
+        taskService.complete(resourceOrderDto.getTaskId(), variables);
+        return true;
+    }
+
     /**
      * 审核 当前任务
      *

+ 57 - 5
CommonService/src/main/resources/processes/resourceEnter.bpmn

@@ -10,10 +10,34 @@
     <userTask activiti:exclusive="true" id="_4" name="finance"/>
     <endEvent id="_5" name="EndEvent"/>
     <sequenceFlow id="_6" sourceRef="_2" targetRef="_3"/>
-    <sequenceFlow id="_7" sourceRef="_3" targetRef="_4"/>
+    <sequenceFlow id="_7" sourceRef="_3" targetRef="_4">
+      <conditionExpression xsi:type="tFormalExpression">
+        <![CDATA[${auditFlag==true}]]>
+      </conditionExpression>
+    </sequenceFlow>
     <userTask activiti:exclusive="true" id="_9" name="buyer"/>
-    <sequenceFlow id="_10" sourceRef="_4" targetRef="_9"/>
+    <sequenceFlow id="_10" sourceRef="_4" targetRef="_9">
+      <conditionExpression xsi:type="tFormalExpression">
+        <![CDATA[${auditFlag==true}]]>
+      </conditionExpression>
+    </sequenceFlow>
     <sequenceFlow id="_11" sourceRef="_9" targetRef="_5"/>
+    <sequenceFlow id="_8" sourceRef="_3" targetRef="_5">
+      <conditionExpression xsi:type="tFormalExpression">
+        <![CDATA[${auditFlag == false}]]>
+      </conditionExpression>
+    </sequenceFlow>
+    <sequenceFlow id="_12" sourceRef="_4" targetRef="_5">
+      <conditionExpression xsi:type="tFormalExpression">
+        <![CDATA[${auditFlag==false}]]>
+      </conditionExpression>
+    </sequenceFlow>
+    <textAnnotation id="_13" textFormat="text/plain">
+      <text>fail</text>
+    </textAnnotation>
+    <textAnnotation id="_14" textFormat="text/plain">
+      <text>fail</text>
+    </textAnnotation>
   </process>
   <bpmndi:BPMNDiagram documentation="background=#FFFFFF;count=1;horizontalcount=1;orientation=0;width=842.4;height=1195.2;imageableWidth=832.4;imageableHeight=1185.2;imageableX=5.0;imageableY=5.0" id="Diagram-_1" name="New Diagram">
     <bpmndi:BPMNPlane bpmnElement="resourceEntry">
@@ -24,7 +48,7 @@
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
       <bpmndi:BPMNShape bpmnElement="_3" id="Shape-_3">
-        <omgdc:Bounds height="55.0" width="85.0" x="220.0" y="150.0"/>
+        <omgdc:Bounds height="55.0" width="85.0" x="205.0" y="150.0"/>
         <bpmndi:BPMNLabel>
           <omgdc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>
         </bpmndi:BPMNLabel>
@@ -47,6 +71,26 @@
           <omgdc:Bounds height="55.0" width="85.0" x="0.0" y="0.0"/>
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="_13" id="Shape-_13">
+        <omgdc:Bounds height="55.0" width="100.0" x="405.0" y="305.0"/>
+        <bpmndi:BPMNLabel>
+          <omgdc:Bounds height="55.0" width="100.0" x="0.0" y="0.0"/>
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNShape bpmnElement="_14" id="Shape-_14">
+        <omgdc:Bounds height="55.0" width="100.0" x="120.0" y="330.0"/>
+        <bpmndi:BPMNLabel>
+          <omgdc:Bounds height="55.0" width="100.0" x="0.0" y="0.0"/>
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNShape>
+      <bpmndi:BPMNEdge bpmnElement="_12" id="BPMNEdge__12" sourceElement="_4" targetElement="_5">
+        <omgdi:waypoint x="215.0" y="292.5"/>
+        <omgdi:waypoint x="160.0" y="390.0"/>
+        <omgdi:waypoint x="250.0" y="486.0"/>
+        <bpmndi:BPMNLabel>
+          <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="_6" id="BPMNEdge__6" sourceElement="_2" targetElement="_3">
         <omgdi:waypoint x="261.0" y="87.0"/>
         <omgdi:waypoint x="261.0" y="150.0"/>
@@ -55,8 +99,16 @@
         </bpmndi:BPMNLabel>
       </bpmndi:BPMNEdge>
       <bpmndi:BPMNEdge bpmnElement="_7" id="BPMNEdge__7" sourceElement="_3" targetElement="_4">
-        <omgdi:waypoint x="260.0" y="205.0"/>
-        <omgdi:waypoint x="260.0" y="265.0"/>
+        <omgdi:waypoint x="252.5" y="205.0"/>
+        <omgdi:waypoint x="252.5" y="265.0"/>
+        <bpmndi:BPMNLabel>
+          <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
+        </bpmndi:BPMNLabel>
+      </bpmndi:BPMNEdge>
+      <bpmndi:BPMNEdge bpmnElement="_8" id="BPMNEdge__8" sourceElement="_3" targetElement="_5">
+        <omgdi:waypoint x="290.0" y="177.5"/>
+        <omgdi:waypoint x="375.0" y="345.0"/>
+        <omgdi:waypoint x="282.0" y="486.0"/>
         <bpmndi:BPMNLabel>
           <omgdc:Bounds height="0.0" width="0.0" x="0.0" y="0.0"/>
         </bpmndi:BPMNLabel>

+ 21 - 0
java110-bean/src/main/java/com/java110/dto/resourceStore/ResourceOrderDto.java

@@ -26,6 +26,11 @@ public class ResourceOrderDto extends PageDto implements Serializable {
     // 资源状态
     private String state;
 
+    //
+    private String auditCode;
+
+    private String auditMessage;
+
 
     public String getProcessInstanceId() {
         return processInstanceId;
@@ -74,4 +79,20 @@ public class ResourceOrderDto extends PageDto implements Serializable {
     public void setTaskId(String taskId) {
         this.taskId = taskId;
     }
+
+    public String getAuditCode() {
+        return auditCode;
+    }
+
+    public void setAuditCode(String auditCode) {
+        this.auditCode = auditCode;
+    }
+
+    public String getAuditMessage() {
+        return auditMessage;
+    }
+
+    public void setAuditMessage(String auditMessage) {
+        this.auditMessage = auditMessage;
+    }
 }

+ 17 - 0
java110-core/src/main/java/com/java110/core/smo/common/IResourceEntryStoreInnerServiceSMO.java

@@ -32,6 +32,23 @@ public interface IResourceEntryStoreInnerServiceSMO {
     @RequestMapping(value = "/getUserTasks", method = RequestMethod.POST)
     public List<ResourceOrderDto> getUserTasks(@RequestBody AuditUser user);
 
+    /**
+     * 同意
+     * @param resourceOrderDto
+     * @return
+     */
+    @RequestMapping(value = "/agreeCompleteTask", method = RequestMethod.POST)
+    public boolean agreeCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto);
+
+
+    /**
+     * 反驳
+     * @param resourceOrderDto
+     * @return
+     */
+    @RequestMapping(value = "/refuteCompleteTask", method = RequestMethod.POST)
+    public boolean refuteCompleteTask(@RequestBody ResourceOrderDto resourceOrderDto);
+
     /**
      * 完成任务
      * @param resourceOrderDto

+ 28 - 0
java110-db/db/CommonService/create_auditMessage.sql

@@ -0,0 +1,28 @@
+create table audit_message(
+  `audit_message_id` varchar(30) NOT NULL COMMENT '审核ID',
+  `b_id` varchar(30) NOT NULL COMMENT '业务Id',
+  `store_id` varchar(30) NOT NULL COMMENT '商户ID,用来做分区',
+  `user_id` varchar(100) NOT NULL COMMENT '审核用户ID',
+  `user_name` varchar(100) NOT NULL COMMENT '审核用户名称',
+  `audit_order_id` varchar(64) NOT NULL COMMENT '审核环节,审核订单ID ',
+  `audit_order_type` varchar(64) NOT NULL COMMENT '审核工单类型,如采购,小区入驻审核 详看t_dict表',
+  state varchar(12) not null comment '审核状态 ,10000 同意 20000 反驳,详见t_dict表',
+  message longtext not null comment '审核描述',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `status_cd` varchar(2) NOT NULL DEFAULT '0' COMMENT '数据状态,详细参考t_dict表,0, 在用 1失效',
+  KEY `idx_audit_message_id` (`audit_message_id`)
+);
+
+CREATE TABLE `business_audit_user` (
+    `audit_message_id` varchar(30) NOT NULL COMMENT '审核ID',
+  `b_id` varchar(30) NOT NULL COMMENT '业务Id',
+  `store_id` varchar(30) NOT NULL COMMENT '商户ID,用来做分区',
+  `user_id` varchar(100) NOT NULL COMMENT '审核用户ID',
+  `user_name` varchar(100) NOT NULL COMMENT '审核用户名称',
+  `audit_order_id` varchar(64) NOT NULL COMMENT '审核环节,审核订单ID ',
+  `audit_order_type` varchar(64) NOT NULL COMMENT '审核工单类型,如采购,小区入驻审核 详看t_dict表',
+  state varchar(12) not null comment '审核状态 ,10000 同意 20000 反驳,详见t_dict表',
+  message longtext not null comment '审核描述',
+  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
+  `operate` varchar(4) NOT NULL COMMENT '数据状态,添加ADD,修改MOD 删除DEL'
+);