Browse Source

feat: 核销合并审批流程记录和回调

checkBack
Yen 1 year ago
parent
commit
a399551faf
  1. 89
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java
  2. 9
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  3. 15
      src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationBatch.java
  4. 13
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchOperationService.java
  5. 4
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchService.java
  6. 3
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationApplication2Impl.java
  7. 127
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java
  8. 162
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java

89
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java

@ -135,26 +135,36 @@ public interface SeeYonOperationService extends SeeYonBaseService{
addNodeDTO.setComment(param.getComment());
R<String> result = getRequestService().addNode(addNodeDTO);
if(result.getData()!=null&&result.getData().toLowerCase(Locale.ROOT).contains("ok")){
DataAffairCommitMapper dataAffairCommitMapper = SpringUtils.getBean(DataAffairCommitMapper.class);
DataAffairCommit dataAffairCommit = new DataAffairCommit();
dataAffairCommit.setTargetCode(getTemplateCode());
dataAffairCommit.setTargetId(param.getTargetId());
dataAffairCommit.setId(affairId);
dataAffairCommit.setCommentVal("加签:"+param.getComment());
dataAffairCommit.setReleaseFlag(0);
dataAffairCommit.setState(3);
dataAffairCommit.setUserId(sysUser.getId());
dataAffairCommit.setUserCode(sysUser.getCode());
dataAffairCommit.setUserName(sysUser.getName());
dataAffairCommit.setResultData("addNode");
dataAffairCommit.setAttachIds(param.getAttachIds());
dataAffairCommitMapper.insert(dataAffairCommit);
this.insertAddNodeLog(param, affairId, sysUser);
return R.ok();
}
return R.error(result.getMsg());
}
/**
* 给加签添加审批日志
* @param param
* @param affairId
* @param sysUser
*/
default void insertAddNodeLog(CtpAddNodeParam param, String affairId, SysUser sysUser) {
DataAffairCommitMapper dataAffairCommitMapper = SpringUtils.getBean(DataAffairCommitMapper.class);
DataAffairCommit dataAffairCommit = new DataAffairCommit();
dataAffairCommit.setTargetCode(getTemplateCode());
dataAffairCommit.setTargetId(param.getTargetId());
dataAffairCommit.setId(affairId);
dataAffairCommit.setCommentVal("加签:"+ param.getComment());
dataAffairCommit.setReleaseFlag(0);
dataAffairCommit.setState(3);
dataAffairCommit.setUserId(sysUser.getId());
dataAffairCommit.setUserCode(sysUser.getCode());
dataAffairCommit.setUserName(sysUser.getName());
dataAffairCommit.setResultData("addNode");
dataAffairCommit.setAttachIds(param.getAttachIds());
dataAffairCommitMapper.insert(dataAffairCommit);
}
/**
* 查看详情也审批前置校验
* 检查formId是否存在
@ -349,28 +359,8 @@ public interface SeeYonOperationService extends SeeYonBaseService{
e.printStackTrace();
}
String flag = checkAffairSummery(affairCommit.getTargetId());
//保存记录
try {
// 判断是否含有下个节点
DataAffairCommitMapper dataAffairCommitMapper = SpringUtils.getBean(DataAffairCommitMapper.class);
String userId = AuthContextUtils.getSysUserId();
SysUser sysUser = getUserMapper().selectById(userId);
DataAffairCommit dataAffairCommit = new DataAffairCommit();
dataAffairCommit.setTargetCode(getTemplateCode());
dataAffairCommit.setTargetId(getTargetId(affairCommit));
dataAffairCommit.setId(affairCommit.getAffairId());
dataAffairCommit.setCommentVal(affairCommit.getComment());
dataAffairCommit.setReleaseFlag(affairCommit.getReleaseFlag());
dataAffairCommit.setState(affairCommit.getState());
dataAffairCommit.setUserId(sysUser.getId());
dataAffairCommit.setUserCode(sysUser.getCode());
dataAffairCommit.setUserName(sysUser.getName());
dataAffairCommit.setResultData(flag);
dataAffairCommit.setAttachIds(affairCommit.getAttachIds());
dataAffairCommitMapper.insert(dataAffairCommit);
} catch (Exception e) {
e.printStackTrace();
}
//封装提交审批的记录
this.buildAffairCommitData(affairCommit, flag);
if(flag!=null && isBackCommit){
this.doBacked(affairCommit);
@ -395,6 +385,31 @@ public interface SeeYonOperationService extends SeeYonBaseService{
return R.error("远程调用失败");
}
default void buildAffairCommitData(TbsAffairCommitBo affairCommit, String flag) {
//保存记录
try {
// 判断是否含有下个节点
DataAffairCommitMapper dataAffairCommitMapper = SpringUtils.getBean(DataAffairCommitMapper.class);
String userId = AuthContextUtils.getSysUserId();
SysUser sysUser = getUserMapper().selectById(userId);
DataAffairCommit dataAffairCommit = new DataAffairCommit();
dataAffairCommit.setTargetCode(getTemplateCode());
dataAffairCommit.setTargetId(getTargetId(affairCommit));
dataAffairCommit.setId(affairCommit.getAffairId());
dataAffairCommit.setCommentVal(affairCommit.getComment());
dataAffairCommit.setReleaseFlag(affairCommit.getReleaseFlag());
dataAffairCommit.setState(affairCommit.getState());
dataAffairCommit.setUserId(sysUser.getId());
dataAffairCommit.setUserCode(sysUser.getCode());
dataAffairCommit.setUserName(sysUser.getName());
dataAffairCommit.setResultData(flag);
dataAffairCommit.setAttachIds(affairCommit.getAttachIds());
dataAffairCommitMapper.insert(dataAffairCommit);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 用于回调OA的状态
* @param targetId

9
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -282,6 +282,15 @@ public class VtbVerificationController {
public R<List<CtpAffairVo>> pageMemberAffair(Long verificationId){
VtbVerification verificationDB = vtbVerificationService.getById(verificationId);
String syFormId = verificationDB.getSyFormId();
//批量核销
if(verificationDB.getBatchId()!=null){
String templateCode = TbsSeeYonConst.BatchCostCheckConf.Code();
R<List<CtpAffair>> result = seeYonService.commonListAffairs(verificationDB.getBatchId()+"",null,templateCode);
//TODO
List<CtpAffairVo> result2 = verificationApplication.buildCtpAffairVoList(result.getData());
return R.ok(result2);
}
//单个核销
if(syFormId==null){
return R.ok();
}

15
src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationBatch.java

@ -47,6 +47,18 @@ public class VtbVerificationBatch implements Serializable {
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime finishedTime;
/** 回退时间 */
@Length(max = 0,message = "核销通过时间长度不能超过0字")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime backedTime;
/** 拒绝时间 */
@Length(max = 0,message = "核销通过时间长度不能超过0字")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime refuseTime;
/** 费用id */
private Long costApplyId;
@ -133,6 +145,7 @@ public class VtbVerificationBatch implements Serializable {
@Length(max = 255,message = "业务继承人长度不能超过255字")
private String extUserName;
/** 核销明细列表 */
@TableField(exist = false)
private List<?> verificationList;
@ -144,7 +157,7 @@ public class VtbVerificationBatch implements Serializable {
//0-审批中;1-通过;2-拒绝;3-回退
int CHECKING = 0;
int CHECK_OK = 1;
int CHECK_FAIL = 2;
int CHECK_REFUSE = 2;
int CHECK_BACK = 2;
}

13
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchOperationService.java

@ -0,0 +1,13 @@
package com.qs.serve.modules.vtb.service;
import com.qs.serve.modules.seeyon.service.SeeYonOperationService;
/**
* @author YenHex
* @since 2024/6/25
*/
public interface VtbVerificationBatchOperationService extends SeeYonOperationService {
}

4
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchService.java

@ -1,9 +1,12 @@
package com.qs.serve.modules.vtb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.entity.VtbVerificationBatch;
import com.qs.serve.modules.vtb.entity.bo.VtbVerificationBatchBo;
import java.util.List;
/**
* 服务接口
* @author YenHex
@ -17,6 +20,7 @@ public interface VtbVerificationBatchService extends IService<VtbVerificationBat
*/
void submit(VtbVerificationBatchBo submitBo);
List<VtbVerification> listVerifications(Long batchId);
}

3
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationApplication2Impl.java

@ -14,6 +14,7 @@ import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.vtb.entity.*;
import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper;
import com.qs.serve.modules.vtb.service.*;
import lombok.AllArgsConstructor;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -27,7 +28,7 @@ import java.util.List;
* @since 2024/6/25
*/
@Service
@RequiredArgsConstructor
@AllArgsConstructor
public class VtbVerificationApplication2Impl implements VtbVerificationApplication2 {
private ProjectApisProperties projectApisProperties;

127
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchOperationServiceImpl.java

@ -1,49 +1,168 @@
package com.qs.serve.modules.vtb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.AuthContextUtils;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.SpringUtils;
import com.qs.serve.modules.data.entity.DataAffairCommit;
import com.qs.serve.modules.data.mapper.DataAffairCommitMapper;
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.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.entity.VtbVerificationBatch;
import com.qs.serve.modules.vtb.service.VtbVerificationBatchOperationService;
import com.qs.serve.modules.vtb.service.VtbVerificationBatchService;
import com.qs.serve.modules.vtb.service.VtbVerificationService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* @author YenHex
* @since 2024/6/14
*/
@Service
public class VtbVerificationBatchOperationServiceImpl implements SeeYonOperationService {
@AllArgsConstructor
public class VtbVerificationBatchOperationServiceImpl implements VtbVerificationBatchOperationService {
private final VtbVerificationBatchService vtbVerificationBatchService;
private final VtbVerificationService vtbVerificationService;
@Override
public String getTemplateCode() {
return null;
return TbsSeeYonConst.BatchCostCheckConf.Code();
}
@Override
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
Assert.throwEx("方法未定义getSyFormIdByTargetInfo");
return null;
}
@Override
public Object doBacked(TbsAffairCommitBo param) {
//退回
VtbVerificationBatch batch = vtbVerificationBatchService.getById(param.getTargetId());
List<VtbVerification> verificationList = vtbVerificationBatchService.listVerifications(batch.getId());
batch.setVtbBatchStatus(VtbVerificationBatch.BatchState.CHECK_BACK);
batch.setBackedTime(LocalDateTime.now());
vtbVerificationBatchService.updateById(batch);
for (VtbVerification verification : verificationList) {
verification.setVerificationState(VtbVerificationState.Rollback.getCode());
vtbVerificationService.updateById(verification);
}
return null;
}
@Override
public Object doFinished(TbsAffairCommitBo param) {
return null;
}
@Override
public Object doRefuse(TbsAffairCommitBo param) {
VtbVerificationBatch batch = vtbVerificationBatchService.getById(param.getTargetId());
List<VtbVerification> verificationList = vtbVerificationBatchService.listVerifications(batch.getId());
batch.setVtbBatchStatus(VtbVerificationBatch.BatchState.CHECK_REFUSE);
batch.setRefuseTime(LocalDateTime.now());
vtbVerificationBatchService.updateById(batch);
for (VtbVerification verification : verificationList) {
verification.setVerificationState(VtbVerificationState.Stop.getCode());
vtbVerificationService.updateById(verification);
}
return null;
}
@Override
public void insertAddNodeLog(CtpAddNodeParam param, String affairId, SysUser sysUser) {
//给加签添加审批日志
DataAffairCommitMapper dataAffairCommitMapper = SpringUtils.getBean(DataAffairCommitMapper.class);
DataAffairCommit dataAffairCommit = new DataAffairCommit();
dataAffairCommit.setTargetCode(getTemplateCode());
dataAffairCommit.setTargetId(param.getTargetId());
dataAffairCommit.setId(affairId);
dataAffairCommit.setCommentVal("加签:"+ param.getComment());
dataAffairCommit.setReleaseFlag(0);
dataAffairCommit.setState(3);
dataAffairCommit.setUserId(sysUser.getId());
dataAffairCommit.setUserCode(sysUser.getCode());
dataAffairCommit.setUserName(sysUser.getName());
dataAffairCommit.setResultData("addNode");
dataAffairCommit.setAttachIds(param.getAttachIds());
dataAffairCommitMapper.insert(dataAffairCommit);
VtbVerificationBatch batch = vtbVerificationBatchService.getById(param.getTargetId());
List<VtbVerification> verificationList = vtbVerificationBatchService.listVerifications(batch.getId());
//保存到每个核销
for (VtbVerification verification : verificationList) {
DataAffairCommit affairCommit = CopierUtil.copy(dataAffairCommit,new DataAffairCommit());
affairCommit.setId(null);
affairCommit.setTargetId(verification.getId()+"");
affairCommit.setTargetCode(verification.getVerificationCode());
dataAffairCommitMapper.insert(affairCommit);
}
}
@Override
public void buildAffairCommitData(TbsAffairCommitBo affairCommit, String flag) {
//常规的提交审批日志
//保存记录
try {
// 判断是否含有下个节点
DataAffairCommitMapper dataAffairCommitMapper = SpringUtils.getBean(DataAffairCommitMapper.class);
String userId = AuthContextUtils.getSysUserId();
SysUser sysUser = getUserMapper().selectById(userId);
DataAffairCommit dataAffairCommit = new DataAffairCommit();
dataAffairCommit.setTargetCode(getTemplateCode());
dataAffairCommit.setTargetId(getTargetId(affairCommit));
dataAffairCommit.setId(affairCommit.getAffairId());
dataAffairCommit.setCommentVal(affairCommit.getComment());
dataAffairCommit.setReleaseFlag(affairCommit.getReleaseFlag());
dataAffairCommit.setState(affairCommit.getState());
dataAffairCommit.setUserId(sysUser.getId());
dataAffairCommit.setUserCode(sysUser.getCode());
dataAffairCommit.setUserName(sysUser.getName());
dataAffairCommit.setResultData(flag);
dataAffairCommit.setAttachIds(affairCommit.getAttachIds());
dataAffairCommitMapper.insert(dataAffairCommit);
VtbVerificationBatch batch = vtbVerificationBatchService.getById(affairCommit.getTargetId());
List<VtbVerification> verificationList = vtbVerificationBatchService.listVerifications(batch.getId());
//保存到每个核销
for (VtbVerification verification : verificationList) {
DataAffairCommit obj = CopierUtil.copy(dataAffairCommit,new DataAffairCommit());
obj.setId(null);
obj.setTargetId(verification.getId()+"");
obj.setTargetCode(verification.getVerificationCode());
dataAffairCommitMapper.insert(obj);
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public boolean checkSyFormIdIsNotNull(String targetId) {
return false;
VtbVerificationBatch batch = vtbVerificationBatchService.getById(targetId);
return batch.getSyFormId()!=null;
}
@Override
public void doCommitBacked(String targetId) {
//审批完成后调用
}
}

162
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java

@ -99,7 +99,7 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl<VtbVerification
List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(costApply.getId());
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
sysUser.checkSyAccount();
//redisService.throwResLock(VtbVerificationBatch.class.getSimpleName(),submitBo.getCostApplyId()+"");
redisService.throwResLock(VtbVerificationBatch.class.getSimpleName(),submitBo.getCostApplyId()+"");
// 校验核销状态
VerificationUtil.verifyCostState(costApply);
@ -149,7 +149,7 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl<VtbVerification
allVerificationSubjects, allVerificationCenters);
VtbVerificationBatch verificationBatch = new VtbVerificationBatch();
verificationBatch.setVtbBatchCode("VB"+ CodeGenUtil.generate(CodeGenUtil.SourceKey.VerificationBatch));
verificationBatch.setVtbBatchCode("BHX"+ CodeGenUtil.generate(CodeGenUtil.SourceKey.VerificationBatch));
verificationBatch.setVtbBatchStatus(0);
verificationBatch.setCostApplyId(costApply.getId());
//verificationBatch.setRemark();
@ -165,72 +165,12 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl<VtbVerification
String batchId = verificationBatch.getId()+"";
Map<String, Object> newWayData = new HashMap<>();
Map<String, Object> data = new HashMap<>();
data.put("title", verificationBatch.getVtbBatchCode());
data.put("orgId", batchId);
data.put("targetId", batchId);
data.put("targetCode", verificationBatch.getVtbBatchCode());
data.put("applyUserCode", sysUser.getCode());
data.put("applyUserName", sysUser.getName());
data.put("supplierName", supplier.getName());
data.put("supplierCode", supplier.getCode());
data.put("exsp1",templateCode);
data.put("exsp2", saleBizNames);
data.put("biz_region", bizBizNames);
//添加跳转地址业务
String urlKey = "exsp5";
String baseJumpUrl = JumpToUtil.getJumpUrl(projectProperties.getWebUrl(),TbsSeeYonConst.BatchCostCheckConf.Code(),batchId);
data.put("exsp5",urlKey);
data.put("cmsLink",baseJumpUrl);
data.put("rowDate",DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME));
data.put("rowState","00");
//添加客户标签
List<String> tags = tagInfoMapper.lisTagsBySupplierCode(supplier.getCode());
data.put("tags",tags);
List<String> oaAttachmentsIdList = new ArrayList<>();
submitBo.getVerificationList().forEach(obj->{
if(obj.getAttachIds()!=null && obj.getAttachIds().length>0){
oaAttachmentsIdList.addAll(Arrays.asList(obj.getAttachIds()));
}
});
//科目
List<TbsActivitySubject> subjectList = tbsActivitySubjectService.listByCostApplyId(costApply.getId());
List<VtbSubjectDTO> subjectDTOList = new ArrayList<>();
for (TbsActivitySubject activitySubject : subjectList) {
VtbSubjectDTO subjectDTO = new VtbSubjectDTO();
subjectDTO.setKeMuName(activitySubject.getSubjectName());
subjectDTOList.add(subjectDTO);
}
newWayData.put("formson_2180",subjectDTOList);
//成本中心
List<Object> centerDataList = new ArrayList<>();
List<TbsActivityCenter> activityCenter = tbsActivityCenterService.listByCostApplyId(costApply.getId());
for(TbsActivityCenter center : activityCenter){
TbsCostSubItem.CostCenterTranStr costCenter = new TbsCostSubItem.CostCenterTranStr();
if(costCenter.getChengBenZhongXin()==null){
costCenter.setChengBenZhongXin(center.getCenterName());
costCenter.setChengBenZhongXinId(center.getCenterType()+"-"+center.getId());
}
centerDataList.add(costCenter);
}
newWayData.put("formson_2179",centerDataList);
//加载附件
List<OaUploadFile> uploadFileList = new ArrayList<>();
if(CollectionUtil.isNotEmpty(oaAttachmentsIdList)){
List<SysAttach> attachList = sysAttachService.listByIds(oaAttachmentsIdList);
for (SysAttach sysAttach : attachList) {
OaUploadFile uploadFile = new OaUploadFile();
uploadFile.setField("file");
uploadFile.setName("核销附件"+sysAttach.getName());
uploadFile.setUrl("https://qsjslservice.oss-cn-guangzhou.aliyuncs.com/"+sysAttach.getRelativePath());
uploadFileList.add(uploadFile);
}
}
//创建OA参数data
this.buildBatchOAData(submitBo, templateCode, costApply, supplier, sysUser, saleBizNames, bizBizNames,
verificationBatch, batchId, newWayData, data, uploadFileList);
OaFormMainProcess mainProcess = new OaFormMainProcess();
mainProcess.setTargetId(batchId);
@ -307,6 +247,90 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl<VtbVerification
}
/**
* 创建OA参数data
* @param submitBo
* @param templateCode
* @param costApply
* @param supplier
* @param sysUser
* @param saleBizNames
* @param bizBizNames
* @param verificationBatch
* @param batchId
* @param newWayData
* @param data
* @param uploadFileList
*/
private void buildBatchOAData(VtbVerificationBatchBo submitBo, String templateCode, TbsCostApply costApply,
BmsSupplier supplier, SysUser sysUser, String saleBizNames, String bizBizNames,
VtbVerificationBatch verificationBatch, String batchId, Map<String, Object> newWayData,
Map<String, Object> data, List<OaUploadFile> uploadFileList) {
data.put("title", verificationBatch.getVtbBatchCode());
data.put("orgId", batchId);
data.put("targetId", batchId);
data.put("targetCode", verificationBatch.getVtbBatchCode());
data.put("applyUserCode", sysUser.getCode());
data.put("applyUserName", sysUser.getName());
data.put("supplierName", supplier.getName());
data.put("supplierCode", supplier.getCode());
data.put("exsp1", templateCode);
data.put("exsp2", saleBizNames);
data.put("biz_region", bizBizNames);
//添加跳转地址业务
String urlKey = "exsp5";
String baseJumpUrl = JumpToUtil.getJumpUrl(projectProperties.getWebUrl(),TbsSeeYonConst.BatchCostCheckConf.Code(), batchId);
data.put("exsp5",urlKey);
data.put("cmsLink",baseJumpUrl);
data.put("rowDate",DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME));
data.put("rowState","00");
//添加客户标签
List<String> tags = tagInfoMapper.lisTagsBySupplierCode(supplier.getCode());
data.put("tags",tags);
List<String> oaAttachmentsIdList = new ArrayList<>();
submitBo.getVerificationList().forEach(obj->{
if(obj.getAttachIds()!=null && obj.getAttachIds().length>0){
oaAttachmentsIdList.addAll(Arrays.asList(obj.getAttachIds()));
}
});
//科目
List<TbsActivitySubject> subjectList = tbsActivitySubjectService.listByCostApplyId(costApply.getId());
List<VtbSubjectDTO> subjectDTOList = new ArrayList<>();
for (TbsActivitySubject activitySubject : subjectList) {
VtbSubjectDTO subjectDTO = new VtbSubjectDTO();
subjectDTO.setKeMuName(activitySubject.getSubjectName());
subjectDTOList.add(subjectDTO);
}
newWayData.put("formson_2180",subjectDTOList);
//成本中心
List<Object> centerDataList = new ArrayList<>();
List<TbsActivityCenter> activityCenter = tbsActivityCenterService.listByCostApplyId(costApply.getId());
for(TbsActivityCenter center : activityCenter){
TbsCostSubItem.CostCenterTranStr costCenter = new TbsCostSubItem.CostCenterTranStr();
if(costCenter.getChengBenZhongXin()==null){
costCenter.setChengBenZhongXin(center.getCenterName());
costCenter.setChengBenZhongXinId(center.getCenterType()+"-"+center.getId());
}
centerDataList.add(costCenter);
}
newWayData.put("formson_2179",centerDataList);
//加载附件
if(CollectionUtil.isNotEmpty(oaAttachmentsIdList)){
List<SysAttach> attachList = sysAttachService.listByIds(oaAttachmentsIdList);
for (SysAttach sysAttach : attachList) {
OaUploadFile uploadFile = new OaUploadFile();
uploadFile.setField("file");
uploadFile.setName("核销附件"+sysAttach.getName());
uploadFile.setUrl("https://qsjslservice.oss-cn-guangzhou.aliyuncs.com/"+sysAttach.getRelativePath());
uploadFileList.add(uploadFile);
}
}
}
/**
* 主创建方法校验BO参数和创建数据
* @param submitBo
@ -512,5 +536,11 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl<VtbVerification
}
}
@Override
public List<VtbVerification> listVerifications(Long batchId) {
return vtbVerificationService
.list(new LambdaQueryWrapper<VtbVerification>()
.eq(VtbVerification::getBatchId,batchId));
}
}

Loading…
Cancel
Save