diff --git a/src/main/java/com/qs/serve/modules/data/entity/DataAffairCommit.java b/src/main/java/com/qs/serve/modules/data/entity/DataAffairCommit.java index 4af8ccc1..51c453b8 100644 --- a/src/main/java/com/qs/serve/modules/data/entity/DataAffairCommit.java +++ b/src/main/java/com/qs/serve/modules/data/entity/DataAffairCommit.java @@ -4,6 +4,7 @@ import java.time.LocalDate; import java.io.Serializable; import java.math.BigDecimal; import java.time.LocalDateTime; +import java.util.List; import com.baomidou.mybatisplus.annotation.*; import com.fasterxml.jackson.annotation.JsonFormat; @@ -70,6 +71,10 @@ public class DataAffairCommit implements Serializable { @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) private String[] attachIds; + /** 释放的核销ID,用于批量释放回显 */ + @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) + private String[] verificationIdsRelease; + /** 备注 */ @Length(max = 600,message = "备注长度不能超过600字") private String remark; @@ -104,27 +109,11 @@ public class DataAffairCommit implements Serializable { @JsonProperty private String delFlag; - - public static DataAffairCommit toNewObject(DataAffairCommit source){ - DataAffairCommit affairCommit = new DataAffairCommit(); - affairCommit.setId(source.getId()); - affairCommit.setTargetCode(source.getTargetCode()); - affairCommit.setTargetId(source.getTargetId()); - affairCommit.setCommentVal(source.getCommentVal()); - affairCommit.setReleaseFlag(source.getReleaseFlag()); - affairCommit.setState(source.getState()); - affairCommit.setUserId(source.getUserId()); - affairCommit.setUserCode(source.getUserCode()); - affairCommit.setUserName(source.getUserName()); - affairCommit.setRemark(source.getRemark()); - affairCommit.setCreateTime(source.getCreateTime()); - affairCommit.setUpdateTime(source.getUpdateTime()); - affairCommit.setTenantId(source.getTenantId()); - affairCommit.setCreateBy(source.getCreateBy()); - affairCommit.setUpdateBy(source.getUpdateBy()); - affairCommit.setDelFlag(source.getDelFlag()); - return affairCommit; - } + /** + * 释放列表 + */ + @TableField(exist = false) + private List releaseList; } diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/vo/VtbVerificationActReleaseVo.java b/src/main/java/com/qs/serve/modules/vtb/entity/vo/VtbVerificationActReleaseVo.java new file mode 100644 index 00000000..61e32bc3 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/vtb/entity/vo/VtbVerificationActReleaseVo.java @@ -0,0 +1,27 @@ +package com.qs.serve.modules.vtb.entity.vo; + +import com.qs.serve.modules.vtb.entity.VtbVerification; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author YenHex + * @since 2024/7/1 + */ +@Data +@NoArgsConstructor +public class VtbVerificationActReleaseVo { + + private Long activityId; + private String activityCode; + private Integer releaseFlag; + + + public VtbVerificationActReleaseVo(VtbVerification verification){ + this.activityId = verification.getActivityId(); + this.activityCode = verification.getActivityCode(); + this.releaseFlag = 1; + } + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java index 9b4fbbdb..e22e2df2 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java @@ -5,14 +5,17 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.*; import com.qs.serve.modules.data.entity.DataAffairCommit; import com.qs.serve.modules.data.mapper.DataAffairCommitMapper; +import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeParam; import com.qs.serve.modules.seeyon.service.SeeYonOperationService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; +import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo; import com.qs.serve.modules.vtb.common.VtbVerificationState; import com.qs.serve.modules.vtb.entity.*; +import com.qs.serve.modules.vtb.entity.vo.VtbVerificationActReleaseVo; import com.qs.serve.modules.vtb.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -21,7 +24,9 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** * @author YenHex @@ -152,6 +157,10 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification dataAffairCommit.setUserName(sysUser.getName()); dataAffairCommit.setResultData(flag); dataAffairCommit.setAttachIds(commitParam.getAttachIds()); + List verificationReleaseIds = commitParam.getChildList().stream() + .filter(a->a.getReleaseFlag()!=null&&a.getReleaseFlag()==1) + .map(TbsAffairCommitBo::getTargetId).collect(Collectors.toList()); + dataAffairCommit.setVerificationIdsRelease(verificationReleaseIds.toArray(new String[verificationReleaseIds.size()])); dataAffairCommitMapper.insert(dataAffairCommit); //保存到每个核销 @@ -373,6 +382,45 @@ public class VtbVerificationBatchOperationServiceImpl implements VtbVerification return batch.getSyFormId()!=null; } + @Override + public R> pageAffairV2(String targetId, String targetCode){ + boolean existFormId = checkSyFormIdIsNotNull(targetId); + if (!existFormId){ + return R.ok(new ArrayList<>()); + } + + List verifications = vtbVerificationService.list( + new LambdaQueryWrapper() + .eq(VtbVerification::getBatchId,targetId)); + + String templateCode = getTemplateCode(); + R> syResult = getRequestService().commonListAffairsV2(targetId,targetCode,null,templateCode); + List ctpAffairs = syResult.getData(); + if(ctpAffairs.size()>0){ + List result = getCtpAffairVos(ctpAffairs); + for (CtpAffairVo affairVo : result) { + DataAffairCommit commit = (DataAffairCommit)affairVo.getCommitInfo(); + if(commit==null){ + continue; + } + String[] vids = commit.getVerificationIdsRelease(); + if(vids!=null&&vids.length>0){ + List voList = new ArrayList<>(); + for (VtbVerification verification : verifications) { + for (String vid : vids) { + if(verification.getId().toString().equals(vid)){ + voList.add(new VtbVerificationActReleaseVo(verification)); + } + } + } + commit.setReleaseList(voList); + } + } + return R.ok(result); + } + return R.ok(new ArrayList<>()); + } + @Override public void doCommitBacked(String targetId) { //审批完成后调用