gongdecai 2 years ago
parent
commit
502eb73810

+ 40 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/workflow/GeneralAuditInfoCheckList.java

@@ -0,0 +1,40 @@
+package com.yh.saas.plugin.yiliangyiyun.workflow;
+
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.workflow.IWorkflowTaskChecklist;
+import com.yh.saas.common.support.workflow.annotation.WorkflowTaskChecklist;
+import com.yh.saas.plugin.yiliangyiyun.entity.GeneralAuditInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.LeaveInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IGeneralAuditInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.ILeaveInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+@WorkflowTaskChecklist(name = "通用审核", group = "通用审核")
+public class GeneralAuditInfoCheckList implements IWorkflowTaskChecklist<GeneralAuditInfo> {
+
+    @Autowired
+    private IGeneralAuditInfoService generalAuditInfoService;
+
+    @Override
+    public List<GeneralAuditInfo> getRecords(List<String> ids) {
+        return ids.stream().map(id -> generalAuditInfoService.selectById(id)).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<String> getConditions() {
+        return Lists.newArrayList("businessType");
+    }
+
+    @Override
+    public Map<String, Object> getCondtionValueMap(String id) {
+        GeneralAuditInfo generalAuditInfo = generalAuditInfoService.selectById(id);
+        Map<String, Object> variableMap = new HashMap<>();
+        variableMap.put("businessType", generalAuditInfo.getBusinessType());
+        return variableMap;
+    }
+}

+ 49 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/workflow/GeneralAuditInfoListener.java

@@ -0,0 +1,49 @@
+package com.yh.saas.plugin.yiliangyiyun.workflow;
+
+import com.yh.saas.common.support.workflow.AbstractWorkflowTaskListener;
+import com.yh.saas.common.support.workflow.annotation.WorkflowTaskListener;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.GeneralAuditInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.PurchasePrice;
+import com.yh.saas.plugin.yiliangyiyun.service.IGeneralAuditInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@WorkflowTaskListener(name = "通用审核", group = "通用审核")
+public class GeneralAuditInfoListener extends AbstractWorkflowTaskListener {
+
+    private static final long serialVersionUID = 4103656734835351132L;
+
+    @Autowired
+    private IGeneralAuditInfoService generalAuditInfoService;
+
+    @Override
+    public void handleStatusChanged(String businessKey, String status, String statusEn, boolean processIsEnd) {
+        GeneralAuditInfo generalAuditInfo = generalAuditInfoService.selectById(businessKey);
+        if (generalAuditInfo == null) {
+            return;
+        }
+        if (processIsEnd) {
+            generalAuditInfo.setStatusFlag(StatusEnum.ORDER_PASSED.getFlag());
+            generalAuditInfo.setStatus(StatusEnum.ORDER_PASSED.getName());
+            generalAuditInfo.setWorkflowId(null);
+            generalAuditInfo.setApproveStatus(null);
+        } else {
+            generalAuditInfo.setApproveStatus(status);
+        }
+        generalAuditInfoService.updateAllColumnById(generalAuditInfo);
+    }
+
+    @Override
+    public void handleRejectApplicationRepulsed(String workflowId, String businessKey, boolean needReapply) {
+        GeneralAuditInfo generalAuditInfo = generalAuditInfoService.selectById(businessKey);
+        if (generalAuditInfo == null) {
+            return;
+        }
+        generalAuditInfo.setStatusFlag(StatusEnum.PURCHASE_FAILED.getFlag());
+        generalAuditInfo.setStatus(StatusEnum.PURCHASE_FAILED.getName());
+        generalAuditInfo.setApproveStatus(null);
+        generalAuditInfoService.updateAllColumnById(generalAuditInfo);
+
+    }
+
+}