From a399551fafd06702946ed43643c1dd406ab5c6b1 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 26 Jun 2024 14:46:18 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=A0=B8=E9=94=80=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E5=AE=A1=E6=89=B9=E6=B5=81=E7=A8=8B=E8=AE=B0=E5=BD=95=E5=92=8C?= =?UTF-8?q?=E5=9B=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/SeeYonOperationService.java | 89 ++++++---- .../controller/VtbVerificationController.java | 9 + .../vtb/entity/VtbVerificationBatch.java | 15 +- .../VtbVerificationBatchOperationService.java | 13 ++ .../service/VtbVerificationBatchService.java | 4 + .../impl/VtbVerificationApplication2Impl.java | 3 +- ...VerificationBatchOperationServiceImpl.java | 127 +++++++++++++- .../impl/VtbVerificationBatchServiceImpl.java | 162 +++++++++++------- 8 files changed, 313 insertions(+), 109 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchOperationService.java diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java b/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java index 11cb9f9d..42368931 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java +++ b/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 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 diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java index 03683b30..0a4c7b02 100644 --- a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java @@ -282,6 +282,15 @@ public class VtbVerificationController { public R> pageMemberAffair(Long verificationId){ VtbVerification verificationDB = vtbVerificationService.getById(verificationId); String syFormId = verificationDB.getSyFormId(); + //批量核销 + if(verificationDB.getBatchId()!=null){ + String templateCode = TbsSeeYonConst.BatchCostCheckConf.Code(); + R> result = seeYonService.commonListAffairs(verificationDB.getBatchId()+"",null,templateCode); + //TODO + List result2 = verificationApplication.buildCtpAffairVoList(result.getData()); + return R.ok(result2); + } + //单个核销 if(syFormId==null){ return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationBatch.java b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationBatch.java index 64538085..2a81dc04 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationBatch.java +++ b/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; } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchOperationService.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchOperationService.java new file mode 100644 index 00000000..5406cefd --- /dev/null +++ b/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 { + + + +} diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchService.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchService.java index eb72f0ac..b7ece5b1 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationBatchService.java +++ b/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 listVerifications(Long batchId); } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationApplication2Impl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationApplication2Impl.java index 92934d35..ff96bceb 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationApplication2Impl.java +++ b/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; 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 1838c05d..e3561c79 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 @@ -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 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 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 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 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) { - + //审批完成后调用 } } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java index bb51ad5b..c33077af 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationBatchServiceImpl.java @@ -99,7 +99,7 @@ public class VtbVerificationBatchServiceImpl extends ServiceImpl 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 newWayData = new HashMap<>(); - Map 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 tags = tagInfoMapper.lisTagsBySupplierCode(supplier.getCode()); - data.put("tags",tags); - - List oaAttachmentsIdList = new ArrayList<>(); - submitBo.getVerificationList().forEach(obj->{ - if(obj.getAttachIds()!=null && obj.getAttachIds().length>0){ - oaAttachmentsIdList.addAll(Arrays.asList(obj.getAttachIds())); - } - }); - - //科目 - List subjectList = tbsActivitySubjectService.listByCostApplyId(costApply.getId()); - List subjectDTOList = new ArrayList<>(); - for (TbsActivitySubject activitySubject : subjectList) { - VtbSubjectDTO subjectDTO = new VtbSubjectDTO(); - subjectDTO.setKeMuName(activitySubject.getSubjectName()); - subjectDTOList.add(subjectDTO); - } - newWayData.put("formson_2180",subjectDTOList); - - //成本中心 - List centerDataList = new ArrayList<>(); - List 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 uploadFileList = new ArrayList<>(); - if(CollectionUtil.isNotEmpty(oaAttachmentsIdList)){ - List 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 newWayData, + Map data, List 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 tags = tagInfoMapper.lisTagsBySupplierCode(supplier.getCode()); + data.put("tags",tags); + + List oaAttachmentsIdList = new ArrayList<>(); + submitBo.getVerificationList().forEach(obj->{ + if(obj.getAttachIds()!=null && obj.getAttachIds().length>0){ + oaAttachmentsIdList.addAll(Arrays.asList(obj.getAttachIds())); + } + }); + + //科目 + List subjectList = tbsActivitySubjectService.listByCostApplyId(costApply.getId()); + List subjectDTOList = new ArrayList<>(); + for (TbsActivitySubject activitySubject : subjectList) { + VtbSubjectDTO subjectDTO = new VtbSubjectDTO(); + subjectDTO.setKeMuName(activitySubject.getSubjectName()); + subjectDTOList.add(subjectDTO); + } + newWayData.put("formson_2180",subjectDTOList); + + //成本中心 + List centerDataList = new ArrayList<>(); + List 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 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 listVerifications(Long batchId) { + return vtbVerificationService + .list(new LambdaQueryWrapper() + .eq(VtbVerification::getBatchId,batchId)); + } }