@ -13,6 +13,7 @@ import com.qs.serve.common.framework.redis.RedisService;
import com.qs.serve.common.model.AmountDTO ;
import com.qs.serve.common.model.enums.BudgetLogOptFlag ;
import com.qs.serve.common.model.dto.R ;
import com.qs.serve.common.model.tag.TagFiledUtil ;
import com.qs.serve.common.util.* ;
import com.qs.serve.common.util.model.DateFormatString ;
import com.qs.serve.modules.bir.consts.BirActivityCenterGoodsUtil ;
@ -132,6 +133,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
@Override
public IPage < VtbVerification > selectVerificationList ( VtbVerification query ) {
//初始化标签
TagFiledUtil . VtbVerificationPage ( query ) ;
IPage < VtbVerification > iPage = PageUtil . getMbpPage ( ) ;
IPage < VtbVerification > result = baseMapper . selectVerificationList ( iPage , query ) ;
return result ;
@ -213,6 +216,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
List < TbsActivityCenter > activityCenters4Update = new ArrayList < > ( ) ;
List < TbsActivitySubject > activitySubject4Update = new ArrayList < > ( ) ;
int countCode = 1 ;
//记录只支付一次
boolean saveOneTimes = false ;
for ( TbsActivitySubject activitySubject : activitySubjectList ) {
if ( tempTotal . compareTo ( BigDecimal . ZERO ) < 1 ) {
break ;
@ -314,36 +319,16 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
BmsSupplier supplier = new BmsSupplier ( ) ;
supplier . setCode ( activity . getSupplierCode ( ) ) ;
supplier . setName ( activity . getSupplierName ( ) ) ;
//saveOneTimes,因为多个科目,单支付保存是总额,只保存一次支付
if ( ! saveOneTimes ) {
String COST_TO_PAY_API = projectApisProperties . getCostToPay ( ) ;
String json = ThirtyVerificationUtil . buildJson ( supplier , subject , verification . getAmount ( )
, activity , activity . getActStartDate ( ) . atStartOfDay ( ) , activity . getActEndDate ( ) . atTime ( 23 , 59 , 59 ) , verification ) ;
SysSyncLog syncLog = ThirtyVerificationUtil . requestToPayment ( "to支付请求" , verification . getVerificationCode ( ) , COST_TO_PAY_API , json ) ;
syncLog . setTodoState ( 1 ) ;
saveOneTimes = true ;
sysSyncLogService . save ( syncLog ) ;
// //发送请求到中间服务
// XltApticlaim apticlaim = new XltApticlaim();
// apticlaim.setVerificationCode(verification.getVerificationCode());
// apticlaim.setCostCode(vtbSubCode);
// apticlaim.setCostCode2(vtbSubCode);
// apticlaim.setCusCode(verification.getSupplierCode());
// apticlaim.setAmount(currentSubjectAmt);
// apticlaim.setSubjectCode(activitySubject.getSubjectCode());
// apticlaim.setSubjectName(activitySubject.getSubjectName());
// apticlaim.setExpType("TI");
// apticlaim.setApplyType("01");
// apticlaim.setEffDate(nowDate_);
// apticlaim.setInvoiced("2");
// apticlaim.setCreateTime(nowDate_);
// apticlaim.setStatus("00");
// apticlaim.setDealTime(nowDate_);
// apticlaim.setTopic(costApply.getChargeTheme());
// try {
// xiaoLuTonService.saveApticlaim(apticlaim);
// log.info("发送对象(apticlaim)到OA服务成功");
// } catch (Exception e) {
// e.printStackTrace();
// log.error("发送对象到OA服务失败,数据内容如下:{}", JsonUtil.objectToJson(apticlaim));
// }
}
}
if ( CollectionUtil . isNotEmpty ( activitySubject4Update ) ) {
activitySubjectService . updateBatchById ( activitySubject4Update ) ;
@ -1390,6 +1375,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
. collect ( Collectors . groupingBy ( TbsActivityCenter : : getSubjectId ) ) ;
List < VtbFundFlow > addFundFlowList = new ArrayList < > ( ) ;
boolean hasPayOneTimes = false ;
for ( VtbVerificationSubject verificationSubject : verificationSubjects ) {
Long subjectId = verificationSubject . getSubjectId ( ) ;
BigDecimal usedAmount = verificationSubject . getUsedAmount ( ) ;
@ -1444,6 +1431,9 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if ( ! costApply . getContractFlag ( ) . equals ( 1 )
& & toPay
& & ! isDevData ) {
//hasPayOneTimes 标记只保存一次支付
if ( ! hasPayOneTimes ) {
hasPayOneTimes = true ;
log . warn ( "核销去支付:{}" , verification . getVerificationCode ( ) ) ;
String COST_TO_PAY_API = projectApisProperties . getCostToPay ( ) ;
String json = ThirtyVerificationUtil . buildJson ( supplier , subject , verification . getAmount ( )
@ -1452,7 +1442,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
syncLog . setTodoState ( 1 ) ;
sysSyncLogService . save ( syncLog ) ;
}
}
}
fundFlowService . saveBatch ( addFundFlowList ) ;
@ -1649,6 +1639,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
SysSyncLog syncLog = ThirtyVerificationUtil . requestToPayment ( "to支付请求" , verification . getVerificationCode ( ) , COST_TO_PAY_API , json ) ;
syncLog . setTodoState ( 1 ) ;
sysSyncLogService . save ( syncLog ) ;
//因为保存是总金额,只保存一次支付即可
break ;
}