Commit 38d3dc64 authored by 鲁鑫's avatar 鲁鑫

费用报销相关消息回执后自动完成审批

parent 46bb9256
...@@ -56,12 +56,22 @@ UICtrl.getColumnLocal = function(tableKey, allColumns) { ...@@ -56,12 +56,22 @@ UICtrl.getColumnLocal = function(tableKey, allColumns) {
if (!!!localColumns) return allColumns if (!!!localColumns) return allColumns
// 有本地配置,与默认配置进行匹配, // 有本地配置,与默认配置进行匹配,
return allColumns.map(column => { // return allColumns.map(column => {
return { // return {
...column, // ...column,
hide: localColumns.find(v => v.name == column.name)?._hide // hide: localColumns.find(v => v.name == column.name)?._hide
} // }
}) // })
return allColumns.map(function(column) {
var matchingColumn = localColumns.find(function(v) {
return v.name === column.name;
});
return Object.assign({}, column, {
hide: matchingColumn ? matchingColumn._hide : undefined
});
});
} catch(e) { } catch(e) {
// 未获取到,或者报错,直接返回默认columns // 未获取到,或者报错,直接返回默认columns
return allColumns return allColumns
......
...@@ -29,6 +29,8 @@ public interface SapCostReimbursementApplication { ...@@ -29,6 +29,8 @@ public interface SapCostReimbursementApplication {
void savePaymentReceiptVo(PaymentReceiptVo paymentReceiptVo); void savePaymentReceiptVo(PaymentReceiptVo paymentReceiptVo);
void endTask(SapCostReimbursement reimbursement);
String queryTaskByBizId(String bizId); String queryTaskByBizId(String bizId);
Integer checkzyl06(String zyl06); Integer checkzyl06(String zyl06);
......
...@@ -23,14 +23,15 @@ import com.huigou.topsun.sap.costReimbursement.repostiory.SapCostReimbursementRe ...@@ -23,14 +23,15 @@ import com.huigou.topsun.sap.costReimbursement.repostiory.SapCostReimbursementRe
import com.huigou.topsun.util.MyBaseUtil; import com.huigou.topsun.util.MyBaseUtil;
import com.huigou.uasp.bmp.common.BizBillStatus; import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.operator.OperatorApplication; import com.huigou.uasp.bmp.operator.OperatorApplication;
import com.huigou.uasp.bpm.ApprovalParameter;
import com.huigou.uasp.bpm.FlowBroker; import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.uasp.bpm.engine.application.WorkflowApplication;
import com.huigou.uasp.bpm.engine.domain.model.ProcUnitHandler; import com.huigou.uasp.bpm.engine.domain.model.ProcUnitHandler;
import com.huigou.uasp.bpm.engine.domain.model.TaskExtension; import com.huigou.uasp.bpm.engine.domain.model.TaskExtension;
import com.huigou.util.*; import com.huigou.util.*;
import lombok.SneakyThrows; import lombok.SneakyThrows;
import org.activiti.engine.delegate.DelegateExecution; import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask; import org.activiti.engine.delegate.DelegateTask;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -44,8 +45,6 @@ import javax.annotation.Resource; ...@@ -44,8 +45,6 @@ import javax.annotation.Resource;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import static com.huigou.uasp.bpm.ApprovalParameterUtil.getApprovalParameter;
@Service("sapCostReimbursementApplication") @Service("sapCostReimbursementApplication")
public class SapCostReimbursementApplicationImpl extends FlowBroker implements SapCostReimbursementApplication { public class SapCostReimbursementApplicationImpl extends FlowBroker implements SapCostReimbursementApplication {
...@@ -59,6 +58,8 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S ...@@ -59,6 +58,8 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S
@Autowired @Autowired
DefaultHttpClient defaultHttpClient; DefaultHttpClient defaultHttpClient;
@Autowired
private WorkflowApplication workflowApplication;
// @Autowired // @Autowired
// MessageCodec messageCodec; // MessageCodec messageCodec;
...@@ -332,11 +333,30 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S ...@@ -332,11 +333,30 @@ public class SapCostReimbursementApplicationImpl extends FlowBroker implements S
sapCostReimbursementDetail.setGjahr1(paymentReceiptVo.getGjahr1()); sapCostReimbursementDetail.setGjahr1(paymentReceiptVo.getGjahr1());
costReimbursementDetailRepository.save(sapCostReimbursementDetail); costReimbursementDetailRepository.save(sapCostReimbursementDetail);
} }
//
this.endTask(reimbursement);
//在接收到SAP回执消息后,修改任务标题和当前时间,让申请人能看到该任务 //在接收到SAP回执消息后,修改任务标题和当前时间,让申请人能看到该任务
this.updateActRuTaskExtension(reimbursement.getId()); //this.updateActRuTaskExtension(reimbursement.getId());
//this.makeACopyFor(reimbursement); //this.makeACopyFor(reimbursement);
} }
@Override
public void endTask(SapCostReimbursement reimbursement) {
Operator operator = operatorApplication.createOperatorByPersonMemberId(reimbursement.getPersonMemberId());
ThreadLocalUtil.putOperator(operator);
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "queryTaskByBusinessKey");
ApprovalParameter approvalParameter = this.sqlExecutorDao.queryToObject(queryDescriptor.getSql(), ApprovalParameter.class, reimbursement.getId());
approvalParameter.setProcessAction("advance");
approvalParameter.setHandleResult(1);
approvalParameter.setHandleOpinion("同意!");
Map<String, Object> variables = new HashMap();
SDO localSdo = new SDO();
localSdo.putProperty("processAction", "advance");
ThreadLocalUtil.putVariable("sdo",localSdo);
ThreadLocalUtil.putVariable("_approvalParameter_",approvalParameter);
this.workflowApplication.advance(approvalParameter.getTaskId(),variables);
}
@Override @Override
public String queryTaskByBizId(String bizId) { public String queryTaskByBizId(String bizId) {
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "queryTaskByBizId"); QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "queryTaskByBizId");
......
package com.huigou.topsun.sap.purchaseInfoRecord.controller; package com.huigou.topsun.sap.purchaseInfoRecord.controller;
import com.alibaba.fastjson.JSON;
import com.huigou.context.Operator; import com.huigou.context.Operator;
import com.huigou.context.OrgUnit; import com.huigou.context.OrgUnit;
import com.huigou.topsun.common.BillStatus; import com.huigou.topsun.common.BillStatus;
...@@ -10,14 +9,11 @@ import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapPurchaseInfoRecord; ...@@ -10,14 +9,11 @@ import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapPurchaseInfoRecord;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapPurchaseInfoRecordItem; import com.huigou.topsun.sap.purchaseInfoRecord.domain.SapPurchaseInfoRecordItem;
import com.huigou.topsun.sap.purchaseInfoRecord.domain.query.SapPurchaseInfoRecordQueryRequest; import com.huigou.topsun.sap.purchaseInfoRecord.domain.query.SapPurchaseInfoRecordQueryRequest;
import com.huigou.topsun.sap.purchaseInfoRecord.repository.SapPurchaseInfoRecordItemRepository; import com.huigou.topsun.sap.purchaseInfoRecord.repository.SapPurchaseInfoRecordItemRepository;
import com.huigou.topsun.sap.suppliers.domain.SuppliersInfo;
import com.huigou.uasp.annotation.ControllerMapping; import com.huigou.uasp.annotation.ControllerMapping;
import com.huigou.uasp.bmp.common.BizBillStatus; import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.fn.CodeGenerator; import com.huigou.uasp.bmp.fn.CodeGenerator;
import com.huigou.uasp.client.CommonController; import com.huigou.uasp.client.CommonController;
import com.huigou.util.SDO; import com.huigou.util.SDO;
import com.huigou.util.StringUtil;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
......
...@@ -45,4 +45,22 @@ ...@@ -45,4 +45,22 @@
WHERE t.STATUS IN ( 1, 3 ) AND d.ZYL06 = ? WHERE t.STATUS IN ( 1, 3 ) AND d.ZYL06 = ?
</sql-query> </sql-query>
</query> </query>
<query name="queryTaskByBusinessKey">
<sql-query>
SELECT
e.PROC_INST_ID_ AS proc_inst_id,
e.PROC_UNIT_HANDLER_ID_ AS current_handle_id,
e.PRIORITY_ AS current_handle_group_id,
e.COOPERATION_MODEL_ID_ AS current_handle_cooperation_model_id,
e.BUSINESS_KEY_ AS biz_id,
e.BUSINESS_CODE_ AS biz_code,
e.TASK_DEF_KEY_ AS proc_unit_id,
t.ID_ AS task_id
FROM act_ru_task_extension e
LEFT JOIN act_ru_task t ON e.PROC_INST_ID_ = t.PROC_INST_ID_
WHERE e.BUSINESS_KEY_ = ?
</sql-query>
</query>
</query-mappings> </query-mappings>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment