@ -2,10 +2,13 @@ package com.xm.core.service;
import com.mdp.core.utils.BaseUtils ;
import com.mdp.core.utils.BaseUtils ;
import com.mdp.core.utils.DateUtils ;
import com.mdp.core.utils.DateUtils ;
import com.mdp.core.utils.NumberUtil ;
import com.xm.core.entity.XmTaskWorkload ;
import com.xm.core.entity.XmTaskWorkload ;
import com.xm.core.service.client.MkClient ;
import org.slf4j.Logger ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import org.slf4j.LoggerFactory ;
import java.math.BigDecimal ;
import java.util.Date ;
import java.util.Date ;
import java.util.HashMap ;
import java.util.HashMap ;
import java.util.List ;
import java.util.List ;
@ -35,6 +38,9 @@ public class XmTaskSbillService extends BaseService {
@Autowired
@Autowired
XmTaskWorkloadService xmTaskWorkloadService ;
XmTaskWorkloadService xmTaskWorkloadService ;
@Autowired
MkClient mkClient ;
@Transactional ( rollbackFor = Exception . class )
@Transactional ( rollbackFor = Exception . class )
public void deleteByPkAndReturnWorkload ( XmTaskSbill xmTaskSbill ) {
public void deleteByPkAndReturnWorkload ( XmTaskSbill xmTaskSbill ) {
this . deleteByPk ( xmTaskSbill ) ;
this . deleteByPk ( xmTaskSbill ) ;
@ -87,6 +93,7 @@ public class XmTaskSbillService extends BaseService {
} else if ( "PROCESS_COMPLETED" . equals ( eventName ) ) {
} else if ( "PROCESS_COMPLETED" . equals ( eventName ) ) {
if ( "1" . equals ( agree ) ) {
if ( "1" . equals ( agree ) ) {
this . updateFlowStateByProcInst ( "2" , xmTaskSbill , flowVars ) ;
this . updateFlowStateByProcInst ( "2" , xmTaskSbill , flowVars ) ;
this . pushWorkloadToMk ( xmTaskSbill ) ;
} else {
} else {
this . updateFlowStateByProcInst ( "3" , xmTaskSbill , flowVars ) ;
this . updateFlowStateByProcInst ( "3" , xmTaskSbill , flowVars ) ;
}
}
@ -100,6 +107,24 @@ public class XmTaskSbillService extends BaseService {
}
}
private void pushWorkloadToMk ( XmTaskSbill xmTaskSbill ) {
List < Map < String , Object > > taskWorkloads = this . xmTaskWorkloadService . listTaskWorkloadBySbillIdGroupByUseridAndTaskId ( xmTaskSbill . getId ( ) ) ;
if ( taskWorkloads = = null | | taskWorkloads . size ( ) = = 0 ) {
return ;
}
for ( Map < String , Object > t : taskWorkloads ) {
String taskId = ( String ) t . get ( "taskId" ) ;
String taskName = ( String ) t . get ( "taskName" ) ;
String userid = ( String ) t . get ( "userid" ) ;
String username = ( String ) t . get ( "username" ) ;
String custBranchId = "" ;
BigDecimal actNum = BigDecimal . valueOf ( 1 ) ;
BigDecimal sigPrice = NumberUtil . getBigDecimal ( t . get ( "samt" ) ) ;
BigDecimal workload = NumberUtil . getBigDecimal ( t . get ( "sworkload" ) ) ;
mkClient . pushActiExecOrder ( taskId , userid , username , custBranchId , taskId , actNum , sigPrice , actNum . multiply ( sigPrice ) , workload , taskName ) ;
}
}
/ * *
/ * *
* update流程表信息
* update流程表信息
* 工时表 : 结算状态0 - 无需结算 , 1 - 待结算2 - 已提交3 - 已通过4 - 已结算
* 工时表 : 结算状态0 - 无需结算 , 1 - 待结算2 - 已提交3 - 已通过4 - 已结算