Commit 6b76c852 authored by 刘学辉's avatar 刘学辉

付款申请(无PO)、采购申请的撤销审批

parent a250f04d
<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,combox,commonTree,date,attachment"/>
<x:script src='/biz/topsun/sap/costReimbursement/payApplyNoPO.js'/>
</head>
<body>
<div class="container-fluid" style="padding: 10px;">
<x:billTitle title="付款申请(无PO)" needStatus="false" needPerson="true"/>
<form class="hg-form" method="post" action="" id="submitForm">
<x:hidden name="id"/>
<x:hidden name="billCode"/>
<x:hidden name="fillinDate" type="datetime"/>
<x:hidden name="fullId"/>
<x:hidden name="organId"/>
<x:hidden name="organName"/>
<x:hidden name="deptId"/>
<x:hidden name="deptName"/>
<x:hidden name="positionId"/>
<x:hidden name="positionName"/>
<x:hidden name="personMemberId"/>
<x:hidden name="personMemberName"/>
<div class="hg-form-cols">
<div class="hg-form-row">
<x:inputC name="zepNo" required="false" readonly="true" label="EP流程单号" labelCol="2" maxLength="64" fieldCol="2"/>
<x:inputC name="zepFcrdate" required="false" readonly="true" wrapper="date" label="付款申请创建日期" labelCol="2" fieldCol="2"/>
<x:inputC name="zepFtype" required="false" readonly="true" label="EP付款申请类别" labelCol="2" maxLength="64" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="zepFtypename" required="false" readonly="true" label="EP付款申请类别名称" labelCol="2" maxLength="64" fieldCol="2"/>
<x:inputC name="bukrs" required="true" label="公司代码" labelCol="2" fieldCol="2" wrapper="select"/>
<x:inputC name="butxt" required="false" readonly="true" label="公司代码名称" labelCol="2" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="zepDepart" required="false" readonly="true" label="EP部门代码" labelCol="2" fieldCol="2"/>
<x:inputC name="zepDepartname" required="false" readonly="true" label="EP部门名称" labelCol="2" fieldCol="2"/>
<x:inputC name="zepAppli" required="false" readonly="true" label="EP流程申请人代码" labelCol="2" fieldCol="2"/>
</div>
<div class="hg-form-row">
<x:inputC name="zepAppliname" required="false" readonly="true" label="EP流程申请人" labelCol="2" fieldCol="2"/>
<x:inputC name="zepTxt" required="false" label="付款申请内容" labelCol="2" fieldCol="2"/>
<x:inputC name="employeeLoanBillCode" required="false" label="员工借款编号" labelCol="2" fieldCol="2" wrapper="select"/>
</div>
<div id="capitalPost">
<div class="hg-form-row">
<x:inputC name="bankn1" required="false" label="付款银行账号" labelCol="2" fieldCol="2" wrapper="select"/>
<x:inputC name="zt012kText1" required="false" readonly="true" label="付款银行账号名称" labelCol="2" fieldCol="2"/>
<x:inputC name="zepTxt1" required="false" label="付款附言" labelCol="2" fieldCol="2"/>
</div>
</div>
<div class="hg-form-row">
<x:inputC name="zepFtamount" required="false" readonly="true" label="申请总金额(本位币)" labelCol="2" fieldCol="2" mask="positiveMoney"/>
<x:inputC name="zepFttax" required="false" readonly="true" label="申请总税额(本位币)" labelCol="2" fieldCol="2" mask="positiveMoney"/>
</div>
<div class="hg-form-row">
<x:inputC name="zepFttax1" required="false" readonly="true" label="申请总税额" labelCol="2" fieldCol="2" mask="positiveMoney"/>
<x:inputC name="zepFtamount1" required="false" readonly="true" label="申请总金额" labelCol="2" fieldCol="2" mask="positiveMoney"/>
</div>
<div id="approvalMoney">
<div class="hg-form-row">
<x:inputC name="zepPtamount" required="false" readonly="true" label="审批总金额(本位币)" labelCol="2" fieldCol="2" mask="positiveMoney"/>
<x:inputC name="zepPttax" required="false" readonly="true" label=" 审批总税额(本位币)" labelCol="2" fieldCol="2" mask="positiveMoney"/>
</div>
<div class="hg-form-row">
<x:inputC name="zepPttax1" required="false" readonly="true" label="审批总税额" labelCol="2" fieldCol="2" mask="positiveMoney"/>
<x:inputC name="zepPtamount1" required="false" readonly="true" label="审批总金额" labelCol="2" fieldCol="2" mask="positiveMoney"/>
</div>
</div>
</div>
<div style="padding-top: 15px;">
<x:fileList bizCode="costReimbursement" bizId="id" id="fileList" title="相关资料" />
</div>
<div class="blank_div clearfix"></div>
<x:title title="报销人填写" name="group"/>
<div id="reimbursementApplierGrid" style="margin: 2px;">
</div>
<div class="blank_div clearfix"></div>
<div id="financialAudit">
<x:title title="财务审核填写" name="group"/>
<div id="financialAuditGrid" style="margin: 2px;">
</div>
</div>
<div class="blank_div clearfix"></div>
<div id="financialAudit_sapReturn">
<x:title title="财务已审核、sap回执" name="group"/>
<div id="financialAudit_sapReturnGrid" style="margin: 2px;">
</div>
</div>
<div class="blank_div clearfix"></div>
<%-- <div id="capitalPost">--%>
<%-- <x:title title="资金岗填写" name="group"/>--%>
<%-- <div id="capitalPostGrid" style="margin: 2px;">--%>
<%-- </div>--%>
<%-- </div>--%>
<div class="blank_div clearfix"></div>
<div id="paymentAccomplish_sapReturn">
<x:title title="付款完成、sap回执" name="group"/>
<div id="paymentAccomplish_sapReturnGrid" style="margin: 2px;">
</div>
</div>
</div>
</form>
</body>
</html>
var gridManager = null;
$(document).ready(function () {
initializateUI();
loadGrid();
})
function initializateUI() {
UICtrl.layout("#layout", {leftWidth: 3});
}
function loadGrid() {
var toolbarOptions = UICtrl.getDefaultToolbarOptions({
addCostReimbursement: {id:'costReimbursement',img:'fa-cog',text:'添加付款申请(无)',click:function(){
addCostReimbursement();
}},
});
gridManager = UICtrl.grid("#costReimbursementListGrid", {
columns: [
{display: "EP付款申请类别", name: "zepFtype", width: 60, minWidth: 60, type: "string", align: "left"},
{display: "EP付款申请类别名称", name: "zepFtypename", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "公司代码", name: "bukrs", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "公司代码名称", name: "butxt", width: 120, minWidth: 60, type: "string", align: "left"},
{display: "EP部门代码", name: "zepDepart", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "EP部门名称", name: "zepDepartname", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "EP流程申请人代码", name: "zepAppli", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "EP流程申请人", name: "zepAppliname", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "付款申请创建日期", name: "zepFcrdate", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "EP流程单号", name: "zepNo", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "付款申请内容", name: "zepTxt", width: 140, minWidth: 60, type: "string", align: "left"},
{display: "填报日期", name: "fillinDate", width: 140, minWidth: 60, type: "string", align: "left"},
],
dataAction: "server",
url: web_app.name + '/sapCostReimbursement/slicedSapCostReimbursementList.ajax',
parms:{zepFtype:"N"},
pageSize: 20,
usePager: true,
toolbar: toolbarOptions,
sortName:'fillinDate',
sortOrder: 'desc',
width: "100%",
height: "100%",
heightDiff: -8,
checkbox: true,
fixedCellHeight: true,
selectRowButtonOnly: true,
onDblClickRow: function (data, rowindex, rowobj) {
doView(data.id,data.zepFtype);
}
});
UICtrl.setSearchAreaToggle(gridManager);
}
function query(obj) {
var param = $(obj).formToJSON();
UICtrl.gridSearch(gridManager, param);
}
function reloadGrid() {
gridManager.loadData();
}
function resetForm(obj) {
$(obj).formClean();
}
//重写DataUtil的getUpdateRowId函数、它默认取行的id列
DataUtil.getUpdateRowId = function (gridManager) {
var result = DataUtil.getUpdateRow(gridManager);
if (result) {
return result.proofingMakeId;
}
return result;
}
function addCostReimbursement() {
UICtrl.addTabItem({
tabid: 'payApplyNoPO',
text: "付款申请(无PO)",
url: web_app.name + '/sapCostReimbursement/forwardCostReimbursement.job?type=payNoPo'
});
}
function addBorrowApply(){
UICtrl.addTabItem({
tabid: 'borrowApply',
text: "借款申请单",
url: web_app.name + '/sapCostReimbursement/forwardCostReimbursement.job?type=borrow'
});
}
function addAdvancePayment(){
UICtrl.addTabItem({
tabid: 'advanceApply',
text: "预付款申请单",
url: web_app.name + '/sapCostReimbursement/forwardCostReimbursement.job?type=advance'
});
}
function addPayApply(){
UICtrl.addTabItem({
tabid: 'payApply',
text: "付款申请单",
url: web_app.name + '/sapCostReimbursement/forwardCostReimbursement.job?type=pay'
});
}
function addRefundApply(){
UICtrl.addTabItem({
tabid: 'refundApply',
text: "客户退款申请单",
url: web_app.name + '/sapCostReimbursement/forwardCostReimbursement.job?type=refund'
});
}
//删除按钮
function deleteHandler() {
DataUtil.del({
action: 'sapCostReimbursement/deleteStatsIndicators.ajax',
gridManager: gridManager, idFieldName: 'id',
onSuccess: function () {
reloadGrid();
}
});
}
function doView(id,zepFtype) {
var title="费用报销详情";
if (zepFtype=="E"){
title="客户退款申请详情";
}
if (zepFtype=="N"){
title="付款申请(无PO)详情";
}
if (zepFtype=="B"){
title="员工借款申请详情";
}
if (zepFtype=="D"){
title="预付款申请详情";
}
if (zepFtype=="C"){
title="付款申请详情";
}
UICtrl.addTabItem({
tabid: 'showCostReimbursement'+id,
text: title,
url: web_app.name + '/sapCostReimbursement/showSapCostReimbursement.job?bizId='+id+"&isDetailPage=true"
});
}
// function sendSapData(bizId){
// Public.ajax(web_app.name + '/sapStatsIndicators/againSendSapDate.ajax',{bizId:bizId},function (data){
// reloadGrid();
// })
// }
\ No newline at end of file
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ taglib uri="/WEB-INF/taglib.tld" prefix="x" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<x:base include="layout,dialog,grid,tree,combox,commonTree"/>
<x:script src='/biz/topsun/sap/costReimbursement/payApplyNoPOList.js'/>
</head>
<body>
<div class="container-fluid">
<div id="layout">
<div position="center" title="付款申请(无PO)查询">
<x:title title="common.button.search" hideTable="queryMainForm" isHide="true"/>
<form class="hg-form ui-hide" method="post" action="" id="queryMainForm">
<x:inputC name="billCode" required="false" label="申请单号" labelCol="1"/>
<x:searchButtons/>
</form>
<div class="blank_div clearfix"></div>
<div id="costReimbursementListGrid" style="margin: 2px;"></div>
</div>
</div>
</div>
</body>
</html>
\ No newline at end of file
package com.huigou.topsun.base.bsnMessage.appliction;
public interface MannualStartWorkApplication {
String startWorkflow(Object entity,String process_definition_key,String codeRule);
}
......@@ -304,4 +304,6 @@ public class BsnMessageApplicationImpl extends BaseApplication implements BsnMes
return list != null && !list.isEmpty();
}
}
package com.huigou.topsun.base.bsnMessage.appliction.impl;
import com.huigou.context.Operator;
import com.huigou.context.ThreadLocalUtil;
import com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.common.application.BaseApplication;
import com.huigou.uasp.bmp.fn.CodeGenerator;
import com.huigou.uasp.bmp.operator.OperatorApplication;
import com.huigou.uasp.bpm.ProcessAction;
import com.huigou.uasp.bpm.ProcessStartModel;
import com.huigou.uasp.bpm.engine.application.WorkflowApplication;
import com.huigou.util.ClassHelper;
import com.huigou.util.Constants;
import com.huigou.util.SDO;
import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@Service("mannualStartWorkApplication")
public class MannualStartWorkApplicationImpl extends BaseApplication implements MannualStartWorkApplication {
@Autowired
private CodeGenerator codeGenerator;
@Autowired
private WorkflowApplication workflowApplication;
@Resource
private OperatorApplication operatorApplication;
@Override
public String startWorkflow(Object entity,String processDefinitionKey,String codeRule){
Operator operator = null;
operator = ThreadLocalUtil.getOperator();
if (operator == null) {
String createdById = "5EEB2DC861694A65933CB4CE9A8D870A@C18E23AAAA6940E09DF7C122332C51E0";
operator = operatorApplication.createOperatorByPersonMemberId(createdById);
ThreadLocalUtil.putOperator(operator);
}
// Assert.notNull(operator, "未获取到当前操作用户,无法创建流程");
SDO sdo = ThreadLocalUtil.getVariable(Constants.SDO, SDO.class);
if (sdo == null) {
sdo = new SDO();
}
try {
// 业务数据
Map<String, Object> map = ClassHelper.beanToMap(entity);
sdo.setProperties(map);
// 启动流程的必要参数
sdo.putProperty("fullId", operator.getFullId());
sdo.putProperty("organId", operator.getOrgId());
sdo.putProperty("organName", operator.getOrgName());
sdo.putProperty("deptId", operator.getDeptId());
sdo.putProperty("deptName", operator.getDeptName());
sdo.putProperty("positionId", operator.getPositionId());
sdo.putProperty("positionName", operator.getPositionName());
sdo.putProperty("personMemberId", operator.getPersonMemberId());
sdo.putProperty("personMemberName", operator.getPersonMemberName());
sdo.putProperty("processAction", ProcessAction.SAVE);
sdo.putProperty("procUnitId", "");
// sdo.putProperty("bizId", purchaseOrder.getId());
sdo.putProperty("createdDate", new Date());
sdo.putProperty("fillinDate", new Date());
String nextCode = codeGenerator.getNextCode(codeRule);
sdo.putProperty("billCode", nextCode);
ThreadLocalUtil.putVariable(Constants.SDO, sdo);
Map<String, Object> variables = new HashMap<>();
variables.put("startModel", ProcessStartModel.MANUAL.getId());
variables.put("executorFullId", operator.getFullId());
variables.put("executorFullName", operator.getFullName());
ThreadLocalUtil.putOperator(operator);
ExecutionEntity pi = (ExecutionEntity) workflowApplication.startProcessInstanceByKey(processDefinitionKey, null, variables);
// 业务参数
TaskEntity applyTask = pi.getTasks().get(0);
sdo.putProperty("processAction", ProcessAction.ADVANCE);
sdo.putProperty("bizId", pi.getBusinessKey());
sdo.putProperty("id", pi.getBusinessKey());
sdo.putProperty("statusId", BizBillStatus.APPLYING.getId());
ThreadLocalUtil.removeVariable("_approvalParameter_");
ThreadLocalUtil.putVariable(Constants.SDO, sdo);
workflowApplication.advance(applyTask.getId(), Collections.emptyMap());
// return this.sapPurchaseRepository.findOne(pi.getBusinessKey());
return pi.getBusinessKey();
}catch(Exception ex){
ex.printStackTrace();
throw ex;
}
}
}
......@@ -13,6 +13,7 @@ public interface SapCostReimbursementApplication {
String PROCESS_DEFINITION_KEY = "sapCostReimbursementProc";
String QUERY_XML_FILE_PATH="config/topsun/sap/costReimbursement/costReimbursement.xml";
......
......@@ -39,8 +39,12 @@ public class SapCostReimbursementController extends CommonController {
public String forwardCostReimbursementList(){
SDO sdo = this.getSDO();
return forward("costReimbursementList");
}
public String forwardPayApplyNoPOList(){
return forward("payApplyNoPOList");
}
public String forwardAdvancePaymentList(){
return forward("advancePaymentList");
......@@ -79,6 +83,10 @@ public class SapCostReimbursementController extends CommonController {
sapCostReimbursement.setZepFtype("A");
sapCostReimbursement.setZepFtypename("费用报销流程");
return forward("costReimbursement",sapCostReimbursement);
case "payNoPo":
sapCostReimbursement.setZepFtype("N");
sapCostReimbursement.setZepFtypename("付款申请(无PO)流程");
return forward("payApplyNoPO",sapCostReimbursement);
case "borrow":
sapCostReimbursement.setZepFtype("B");
sapCostReimbursement.setZepFtypename("员工借款流程");
......@@ -134,6 +142,8 @@ public class SapCostReimbursementController extends CommonController {
switch (zepFtype) {
case "A":
return forward("costReimbursement",sapCostReimbursement);
case "N":
return forward("payApplyNoPO",sapCostReimbursement);
case "B":
return forward("employeeLoan",sapCostReimbursement);
case "D":
......
......@@ -18,4 +18,6 @@ public interface SapPurchaseApplication {
Map<String,Object> slicedSapPurchaseList(SapPurchaseQueryRequest queryRequest);
SapPurchase loadSapPurchase(String id);
String revokeApproval(String id);
}
......@@ -4,9 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.huigou.cache.SystemCache;
import com.huigou.context.Operator;
import com.huigou.context.ThreadLocalUtil;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication;
import com.huigou.topsun.sap.common.HttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
......@@ -19,11 +22,21 @@ import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseItemVo;
import com.huigou.topsun.sap.purchase.domain.vo.SapPurchaseVo;
import com.huigou.topsun.sap.purchase.repository.SapPurchaseRepository;
import com.huigou.topsun.sap.common.domain.SapResult;
import com.huigou.topsun.sap.purchaseOrder.domain.SapPurchaseOrder;
import com.huigou.uasp.bmp.common.BizBillStatus;
import com.huigou.uasp.bmp.fn.CodeGenerator;
import com.huigou.uasp.bmp.operator.OperatorApplication;
import com.huigou.uasp.bpm.FlowBroker;
import com.huigou.uasp.bpm.ProcessAction;
import com.huigou.uasp.bpm.ProcessStartModel;
import com.huigou.uasp.bpm.engine.application.WorkflowApplication;
import com.huigou.util.ClassHelper;
import com.huigou.util.Constants;
import com.huigou.util.SDO;
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
import org.activiti.engine.impl.persistence.entity.TaskEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -49,6 +62,10 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
private HttpClient httpClient;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Autowired
private MannualStartWorkApplication mannualStartWorkApplication;
@Override
protected String saveBizAndApprovalData() {
super.saveBizAndApprovalData();
......@@ -232,6 +249,7 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
QueryDescriptor queryDescriptor = this.sqlExecutorDao.getQuery(QUERY_XML_FILE_PATH, "sapPurchaseList");
QueryModel queryModel = this.sqlExecutorDao.getQueryModel(queryDescriptor, queryRequest);
queryModel.putDictionary("status", BizBillStatus.getMap());
queryModel.addCriteria(" order by fillin_date desc ");
return this.sqlExecutorDao.executeSlicedQuery(queryModel);
}
......@@ -239,4 +257,36 @@ public class SapPurchaseApplicationImpl extends FlowBroker implements SapPurchas
public SapPurchase loadSapPurchase(String id) {
return sapPurchaseRepository.findOne(id);
}
@Override
public String revokeApproval(String id){
SapPurchase sapPurchase = this.sapPurchaseRepository.findOne(id);
if (sapPurchase.getStatusId()!=BizBillStatus.COMPLETED.getId()){
throw new RuntimeException("审批完成的单据才能撤销!");
}
sapPurchase.setStatusId(BizBillStatus.ABORTED.getId());
sapPurchaseRepository.save(sapPurchase);
List<SapPurchaseItem> sapPurchaseItemList=this.sapPurchaseItemApplication.findBySapPurchaseId(id);
//发起流程
SapPurchase newSapPurchase=new SapPurchase();
ClassHelper.copyProperties(sapPurchase,newSapPurchase);
newSapPurchase.setId("");
String pId=mannualStartWorkApplication.startWorkflow(newSapPurchase,PROCESS_DEFINITION_KEY,"sapPurchase");
newSapPurchase=this.sapPurchaseRepository.findOne(pId);
List<SapPurchaseItem> newSapPurchaseItemList=new ArrayList<>();
for (SapPurchaseItem sapPurchaseItem:sapPurchaseItemList){
SapPurchaseItem newSapPurchaseItem=new SapPurchaseItem();
ClassHelper.copyProperties(sapPurchaseItem,newSapPurchaseItem);
newSapPurchaseItem.setId("");
newSapPurchaseItemList.add(newSapPurchaseItem);
}
sapPurchaseItemApplication.saveSapPurchaseItems(newSapPurchase.getId(),newSapPurchaseItemList);
return newSapPurchase.getId();
}
}
......@@ -86,4 +86,11 @@ public class SapPurchaseController extends CommonController {
return null;
}
//撤销审批
public String revokeApproval(){
SDO sdo = this.getSDO();
String id=sdo.getString("id");
String newId=sapPurchaseApplication.revokeApproval(id);
return success();
}
}
......@@ -10,6 +10,7 @@ import com.huigou.context.ThreadLocalUtil;
import com.huigou.data.domain.model.CommonDomainConstants;
import com.huigou.data.query.model.QueryDescriptor;
import com.huigou.data.query.model.QueryModel;
import com.huigou.topsun.base.bsnMessage.appliction.MannualStartWorkApplication;
import com.huigou.topsun.sap.common.DefaultHttpClient;
import com.huigou.topsun.sap.common.application.SapMutualEpLogApplication;
import com.huigou.topsun.sap.costReimbursement.domain.SapCostReimbursement;
......@@ -57,16 +58,15 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
private SapPurchaseApprovalRepository sapPurchaseApprovalRepository;
@Resource
private SapPurchaseApprovalItemApplication sapPurchaseApprovalItemApplication;
@Resource
private WorkflowApplication workflowApplication;
@Resource
private OperatorApplication operatorApplication;
@Autowired
DefaultHttpClient defaultHttpClient;
@Autowired
SapMutualEpLogApplication sapMutualEpLogApplication;
@Resource
private OperatorApplication operatorApplication;
@Autowired
private CodeGenerator codeGenerator;
private MannualStartWorkApplication mannualStartWorkApplication;
@Override
protected String saveBizAndApprovalData() {
......@@ -235,10 +235,13 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
*/
//发起流程 05.11 lxh
BeanUtil.copyProperties(sapPurchaseApprovalDto.getLsDeader(), sapPurchaseApproval);
String nextCode = codeGenerator.getNextCode("sapPurchaseApproval");
sapPurchaseApproval.setBillCode(nextCode);
sapPurchaseApproval = mannualStartWorkflow(sapPurchaseApproval);
// String nextCode = codeGenerator.getNextCode("sapPurchaseApproval");
// sapPurchaseApproval.setBillCode(nextCode);
// sapPurchaseApproval = mannualStartWorkflow(sapPurchaseApproval);
// purchaseOrderId = sapPurchaseApproval.getId();
String pId=mannualStartWorkApplication.startWorkflow(sapPurchaseApproval,PROCESS_DEFINITION_KEY,"sapPurchaseApproval");
sapPurchaseApproval=this.sapPurchaseApprovalRepository.findOne(pId);
if (purchaseApproval == null) {
} else{
......@@ -274,7 +277,7 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
sapPurchaseApprovalItemApplication.saveSapPurchaseApprovalItems(sapPurchaseApproval.getId(),sapPurchaseApprovalItems);
}
public String startProcessInstance(String processDefinitionKey,Map<String, Object> formData){
/*public String startProcessInstance(String processDefinitionKey,Map<String, Object> formData){
Map<String, Object> variables = new HashMap();
SDO localSdo = this.buildSDO(formData);
ThreadLocalUtil.putVariable(Constants.SDO, localSdo);
......@@ -287,12 +290,12 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
ProcessInstance processInstance = this.workflowApplication.startProcessInstanceByKey(processDefinitionKey, variables);
String businessKey = processInstance.getBusinessKey();
return businessKey;
}
} */
/**
* 启动流程
*/
private SapPurchaseApproval mannualStartWorkflow(SapPurchaseApproval sapPurchaseApproval) {
/*private SapPurchaseApproval mannualStartWorkflow(SapPurchaseApproval sapPurchaseApproval) {
Operator operator = null;
operator = ThreadLocalUtil.getOperator();
if (operator == null) {
......@@ -350,7 +353,7 @@ public class SapPurchaseApprovalApplicationImpl extends FlowBroker implements Sa
throw ex;
}
}
}*/
private SDO buildSDO(Map<String, Object> formData) {
......
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