From 7e0d0ddac88bd6307cc3f3d8beb664fcd1310891 Mon Sep 17 00:00:00 2001 From: Yen Date: Wed, 9 Aug 2023 17:50:33 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=A2=84=E7=AE=97=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E7=9A=84=E7=94=B3=E8=AF=B7=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../framework/manager/AsyncFactory.java | 29 +++++++ .../service/SeeYonOperationService.java | 27 +++++-- .../controller/TbsBudgetChangeController.java | 77 ++++++++++++++++++ .../controller/TbsBudgetCheckController.java | 35 +++++++- .../tbs/controller/TbsBudgetController.java | 11 ++- .../modules/tbs/entity/TbsBudgetChange.java | 10 +++ .../modules/tbs/entity/vo/TbsBudgetVo.java | 3 + .../TbsBudgetChangeConditionService.java | 3 + .../TbsBudgetChangeScheduleItemService.java | 3 + .../tbs/service/TbsBudgetChangeService.java | 2 +- .../TbsBudgetApplyOperationServiceImpl.java | 22 ++--- .../TbsBudgetChangeConditionServiceImpl.java | 10 +++ .../TbsBudgetChangeOperationServiceImpl.java | 81 +++++++++++++++++++ ...bsBudgetChangeScheduleItemServiceImpl.java | 9 +++ .../impl/TbsBudgetChangeServiceImpl.java | 6 +- .../TbsCostApplyOperationServiceImpl.java | 5 ++ .../impl/TzcPolicyOperationServiceImpl.java | 4 + .../service/VtbVerificationApplication.java | 8 +- .../VtbVerificationOperationServiceImpl.java | 5 ++ 19 files changed, 320 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java create mode 100644 src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java diff --git a/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java b/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java index 7a1a8ab2..100171cd 100644 --- a/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java +++ b/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java @@ -74,6 +74,35 @@ public class AsyncFactory { }; } + /** + * 异步保存费用申请状态 + * @param budgetId + * @return + */ + public static TimerTask submitBudgetChange(String budgetId) { + return new TimerTask() { + @Override + public void run() { + try { + AuthContextUtils.setTenant("001"); + log.debug("--------------------------SubmitBudgetApply CallbackTimer Sleep Start------------------------------"); + Thread.sleep(7*1000); + TbsBudgetApplyOperationServiceImpl applyOperationService = SpringUtils.getBean(TbsBudgetApplyOperationServiceImpl.class); + String summeryResult = applyOperationService.checkAffairSummery(budgetId); + if(summeryResult.equals(TbsCostApplyOperationServiceImpl.SummeryState_Success)){ + //调用成功回调方法 + TbsAffairCommitBo finishedParam = new TbsAffairCommitBo(); + finishedParam.setTargetId(budgetId); + applyOperationService.doFinished(finishedParam); + } + log.debug("--------------------------SubmitBudgetApply CallbackTimer summeryResult:{} ------------------------------",summeryResult); + } catch (Exception e) { + e.printStackTrace(); + } + } + }; + } + /** * 异步保存费用申请状态 * @param budgetId 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 d985e21e..3d9e6c8a 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 @@ -44,7 +44,9 @@ public interface SeeYonOperationService extends SeeYonBaseService{ * @param affairCommit * @return */ - String getTargetId(TbsAffairCommitBo affairCommit); + default String getTargetId(TbsAffairCommitBo affairCommit){ + return affairCommit.getTargetId(); + } /** * 检查提交审批是否允许,并返回syFormId @@ -316,9 +318,7 @@ public interface SeeYonOperationService extends SeeYonBaseService{ } }else if ("next".equals(flag)){ this.doNext(affairCommit); - - //请求校验是否成功 - AsyncManager.me().execute(AsyncFactory.submitBudgetApply(affairCommit.getTargetId())); + doCommitBacked(getTargetId(affairCommit)); return R.ok(); } }else if (result.getStatus()==500){ @@ -327,6 +327,13 @@ public interface SeeYonOperationService extends SeeYonBaseService{ return R.ok(); } + /** + * 用于回调OA的状态 + * @param targetId + */ + void doCommitBacked(String targetId); + + /** * 补偿:审批中 @@ -342,21 +349,27 @@ public interface SeeYonOperationService extends SeeYonBaseService{ * @param targetId * @return */ - Object compensateBacked(String targetId); + default Object compensateBacked(String targetId){ + return null; + } /** * 补偿:审批完成 * @param targetId * @return */ - Object compensateFinished(String targetId); + default Object compensateFinished(String targetId){ + return null; + } /** * 补偿:审批拒绝 * @param targetId * @return */ - Object compensateRefuse(String targetId); + default Object compensateRefuse(String targetId){ + return null; + } /** * 执行的主要方法 diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java new file mode 100644 index 00000000..bf84959d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java @@ -0,0 +1,77 @@ +package com.qs.serve.modules.tbs.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.SysLog; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.model.enums.BizType; +import com.qs.serve.common.model.enums.SystemModule; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.CopierUtil; +import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.tbs.entity.TbsBudgetChangeCondition; +import com.qs.serve.modules.tbs.entity.TbsBudgetChangeScheduleItem; +import com.qs.serve.modules.tbs.service.TbsBudgetChangeConditionService; +import com.qs.serve.modules.tbs.service.TbsBudgetChangeScheduleItemService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import com.qs.serve.modules.tbs.entity.TbsBudgetChange; +import com.qs.serve.modules.tbs.service.TbsBudgetChangeService; + +import javax.validation.Valid; +import java.util.List; + +/** + * 预算 预算更变记录 + * @author YenHex + * @since 2023-08-09 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("tbs/budgetChange") +public class TbsBudgetChangeController { + + private TbsBudgetChangeService tbsBudgetChangeService; + private TbsBudgetChangeScheduleItemService tbsBudgetChangeScheduleItemService; + private TbsBudgetChangeConditionService tbsBudgetChangeConditionService; + + /** + * 列表 + * @param param + * @return + */ + @GetMapping("/list") + public R> getList(TbsBudgetChange param){ + if(param.getBudgetId()==null){ + return R.error("BudgetId不能为空"); + } + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + List list = tbsBudgetChangeService.list(lqw); + for (TbsBudgetChange budgetChange : list) { + List changeScheduleItemList = tbsBudgetChangeScheduleItemService.listByChangeId(budgetChange.getId()); + List changeConditionList = tbsBudgetChangeConditionService.listByChangeId(budgetChange.getId()); + budgetChange.setChangeScheduleItemList(changeScheduleItemList); + budgetChange.setChangeConditionList(changeConditionList); + } + return R.ok(list); + } + + /** + * 翻页 + * @param param + * @return + */ + //@GetMapping("/page") + public R> getPage(TbsBudgetChange param){ + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(param); + PageUtil.startPage(); + List list = tbsBudgetChangeService.list(lqw); + return R.byPageHelperList(list); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetCheckController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetCheckController.java index c7ffff4e..f295d7cd 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetCheckController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetCheckController.java @@ -4,12 +4,17 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.TbsBudgetChange; import com.qs.serve.modules.tbs.entity.bo.TbsBudgetUpdateAfterStartBo; +import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo; import com.qs.serve.modules.tbs.service.TbsBudgetChangeService; import com.qs.serve.modules.tbs.service.TbsBudgetService; +import com.qs.serve.modules.tbs.service.impl.TbsBudgetApplyOperationServiceImpl; +import com.qs.serve.modules.tbs.service.impl.TbsBudgetChangeOperationServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * 预算 预算审批 * @author YenHex @@ -23,6 +28,8 @@ public class TbsBudgetCheckController { private final TbsBudgetService tbsBudgetService; private final TbsBudgetChangeService tbsBudgetChangeService; + private final TbsBudgetApplyOperationServiceImpl tbsBudgetApplyOperationService; + private final TbsBudgetChangeOperationServiceImpl tbsBudgetChangeOperationService; /** * 提交申请 @@ -40,9 +47,31 @@ public class TbsBudgetCheckController { * @return */ @PostMapping("commitChangeApply") - public R commitApply(@RequestBody TbsBudgetUpdateAfterStartBo param){ - tbsBudgetChangeService.commitApply(param); - return R.ok(); + public R commitApply(@RequestBody TbsBudgetUpdateAfterStartBo param){ + TbsBudgetChange budgetChange = tbsBudgetChangeService.commitApply(param); + return R.ok(budgetChange); + } + + /** + * 审批列表-预算申请 + * @param budgetId + * @return + */ + @GetMapping("/ListAffairs") + public R> ListBudgetAffairs(String budgetId){ + return tbsBudgetApplyOperationService.pageAffair(budgetId); } + + /** + * 审批列表-预算修改 + * @param changeId + * @return + */ + @GetMapping("/ListChangeAffairs") + public R> pageAffair(String changeId){ + return tbsBudgetChangeOperationService.pageAffair(changeId); + } + + } diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java index 9c4834e0..2053fe5c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java @@ -48,6 +48,7 @@ public class TbsBudgetController { private final TbsBudgetCostItemService tbsBudgetCostItemService; private final TbsBudgetLogService tbsBudgetLogService; private final TbsScheduleItemBudgetService tbsScheduleItemBudgetService; + private final TbsBudgetChangeService tbsBudgetChangeService; private final SysUserService sysUserService; /** @@ -111,14 +112,22 @@ public class TbsBudgetController { /** * ID查询 * @param id + * @param changeId * @return */ @GetMapping("/getById/{id}") @SysLog(module = SystemModule.Budget, title = "预算", biz = BizType.QUERY) @PreAuthorize("hasRole('tbs:budget:query')") - public R getById(@PathVariable("id") String id){ + public R getById(@PathVariable("id") String id,String changeId){ TbsBudget budget = tbsBudgetService.getById(id); TbsBudgetVo vo = tbsBudgetService.toVoEntity(budget); + LambdaQueryWrapper changeLqw = new LambdaQueryWrapper<>(); + List changeList = tbsBudgetChangeService.list(changeLqw); + for (TbsBudgetChange budgetChange : changeList) { + //审批data + //条件 + //金额 + } // TbsBudgetVo vo2 = tbsBudgetService.getEntityForExcel(budget); // vo.setScheduleItemBudgets(vo2.getScheduleItemBudgets()); return R.ok(vo); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java index a9ecc1ab..6fc67144 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.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; @@ -31,6 +32,9 @@ public class TbsBudgetChange implements Serializable { @TableId(type = IdType.AUTO) private Long id; + /** 预算id */ + private Long budgetId; + /** 更变记录编码 */ @Length(max = 30,message = "更变记录编码长度不能超过30字") private String changeCode; @@ -140,10 +144,16 @@ public class TbsBudgetChange implements Serializable { @JsonProperty private String delFlag; + @TableField(exist = false) + private List changeScheduleItemList; + + @TableField(exist = false) + private List changeConditionList; public static TbsBudgetChange toNewObject(TbsBudget source){ TbsBudgetChange budgetChange = new TbsBudgetChange(); budgetChange.setId(source.getId()); + budgetChange.setBudgetId(source.getId()); //budgetChange.setChangeCode(source.getChangeCode()); //budgetChange.setBudgetTitle(source.getBudgetTitle()); budgetChange.setBudgetNumber(source.getBudgetNumber()); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java index ec79d8e8..31de3d3e 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/vo/TbsBudgetVo.java @@ -77,5 +77,8 @@ public class TbsBudgetVo implements Serializable { private List scheduleItemBudgets; private List attachList; + /** 变更列表 */ + private List changeList; + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeConditionService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeConditionService.java index 8594903e..39baa2be 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeConditionService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeConditionService.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.tbs.entity.TbsBudgetChangeCondition; +import java.util.List; /** * 预算更变记录条件 服务接口 @@ -10,5 +11,7 @@ import com.qs.serve.modules.tbs.entity.TbsBudgetChangeCondition; */ public interface TbsBudgetChangeConditionService extends IService { + List listByChangeId(Long id); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeScheduleItemService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeScheduleItemService.java index 135d48d2..3020fd52 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeScheduleItemService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeScheduleItemService.java @@ -2,6 +2,7 @@ package com.qs.serve.modules.tbs.service; import com.baomidou.mybatisplus.extension.service.IService; import com.qs.serve.modules.tbs.entity.TbsBudgetChangeScheduleItem; +import java.util.List; /** * 考核期更变记录 服务接口 @@ -10,5 +11,7 @@ import com.qs.serve.modules.tbs.entity.TbsBudgetChangeScheduleItem; */ public interface TbsBudgetChangeScheduleItemService extends IService { + List listByChangeId(Long id); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeService.java index 298242a3..34865ed7 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetChangeService.java @@ -16,7 +16,7 @@ public interface TbsBudgetChangeService extends IService { * 提交修改 * @param param */ - void commitApply(TbsBudgetUpdateAfterStartBo param); + TbsBudgetChange commitApply(TbsBudgetUpdateAfterStartBo param); } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java index 82419b52..6bdf9886 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java @@ -1,5 +1,7 @@ package com.qs.serve.modules.tbs.service.impl; +import com.qs.serve.common.framework.manager.AsyncFactory; +import com.qs.serve.common.framework.manager.AsyncManager; import com.qs.serve.common.util.Assert; import com.qs.serve.modules.seeyon.service.SeeYonOperationService; import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; @@ -23,6 +25,11 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic private TbsBudgetMapper budgetMapper; + @Override + public void doCommitBacked(String targetId) { + AsyncManager.me().execute(AsyncFactory.submitBudgetApply(targetId)); + } + @Override public String getTargetId(TbsAffairCommitBo affairCommit) { return affairCommit.getTargetId(); @@ -69,21 +76,6 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic return null; } - @Override - public Object compensateBacked(String targetId) { - return null; - } - - @Override - public Object compensateFinished(String targetId) { - return null; - } - - @Override - public Object compensateRefuse(String targetId) { - return null; - } - @Override public String getTemplateCode() { return TbsSeeYonConst.BudgetApplyConf.Code(); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeConditionServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeConditionServiceImpl.java index 4b79a606..c99d97b2 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeConditionServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeConditionServiceImpl.java @@ -1,6 +1,8 @@ package com.qs.serve.modules.tbs.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.modules.tbs.entity.TbsBudgetChangeScheduleItem; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -8,6 +10,8 @@ import com.qs.serve.modules.tbs.entity.TbsBudgetChangeCondition; import com.qs.serve.modules.tbs.service.TbsBudgetChangeConditionService; import com.qs.serve.modules.tbs.mapper.TbsBudgetChangeConditionMapper; +import java.util.List; + /** * 预算更变记录条件 服务实现类 * @author YenHex @@ -18,5 +22,11 @@ import com.qs.serve.modules.tbs.mapper.TbsBudgetChangeConditionMapper; @AllArgsConstructor public class TbsBudgetChangeConditionServiceImpl extends ServiceImpl implements TbsBudgetChangeConditionService { + @Override + public List listByChangeId(Long id) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsBudgetChangeCondition::getChangeId,id); + return this.list(lqw); + } } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java new file mode 100644 index 00000000..ce597448 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java @@ -0,0 +1,81 @@ +package com.qs.serve.modules.tbs.service.impl; + +import com.qs.serve.common.framework.manager.AsyncFactory; +import com.qs.serve.common.framework.manager.AsyncManager; +import com.qs.serve.common.util.Assert; +import com.qs.serve.modules.seeyon.service.SeeYonOperationService; +import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; +import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.entity.TbsBudget; +import com.qs.serve.modules.tbs.entity.TbsBudgetChange; +import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; +import com.qs.serve.modules.tbs.mapper.TbsBudgetChangeMapper; +import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +/** + * 预算改动的申请 + * @author YenHex + * @since 2023/8/8 + */ +@Slf4j +@Service +@AllArgsConstructor +public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationService { + + private TbsBudgetChangeMapper budgetChangeMapper; + + @Override + public void doCommitBacked(String targetId) { + AsyncManager.me().execute(AsyncFactory.submitBudgetChange(targetId)); + } + + @Override + public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { + TbsBudgetChange budgetChange = budgetChangeMapper.selectById(affairCommit.getTargetId()); + if(!budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + Assert.throwEx("操作失败,预算处于非审批状态"); + } + return budgetChange.getSyFormId(); + } + + @Override + public Object doBacked(TbsAffairCommitBo param) { + TbsBudgetChange budgetChange = budgetChangeMapper.selectById(param.getTargetId()); + if(budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_3_setback); + budgetChangeMapper.updateById(budgetChange); + } + return null; + } + + @Override + public Object doFinished(TbsAffairCommitBo param) { + TbsBudgetChange budgetChange = budgetChangeMapper.selectById(param.getTargetId()); + if(budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_2_finished); + budgetChangeMapper.updateById(budgetChange); + } + //TODO 更新到主表 + + return null; + } + + @Override + public Object doRefuse(TbsAffairCommitBo param) { + TbsBudgetChange budgetChange = budgetChangeMapper.selectById(param.getTargetId()); + if(budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_4_stop); + budgetChangeMapper.updateById(budgetChange); + } + return null; + } + + @Override + public String getTemplateCode() { + return TbsSeeYonConst.BudgetApplyConf.Code(); + } + +} diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeScheduleItemServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeScheduleItemServiceImpl.java index 7eb7265d..01bdf66f 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeScheduleItemServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeScheduleItemServiceImpl.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.tbs.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -8,6 +9,8 @@ import com.qs.serve.modules.tbs.entity.TbsBudgetChangeScheduleItem; import com.qs.serve.modules.tbs.service.TbsBudgetChangeScheduleItemService; import com.qs.serve.modules.tbs.mapper.TbsBudgetChangeScheduleItemMapper; +import java.util.List; + /** * 考核期更变记录 服务实现类 * @author YenHex @@ -18,5 +21,11 @@ import com.qs.serve.modules.tbs.mapper.TbsBudgetChangeScheduleItemMapper; @AllArgsConstructor public class TbsBudgetChangeScheduleItemServiceImpl extends ServiceImpl implements TbsBudgetChangeScheduleItemService { + @Override + public List listByChangeId(Long id) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(TbsBudgetChangeScheduleItem::getChangeId,id); + return this.list(lqw); + } } diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index cdc7d36c..b9d85d16 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -51,7 +51,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl verificationSubjects = vtbVerificationSubjectService.listByVerificationId(verification.getId()); List yardItemList = new ArrayList<>(); List verSubject4Update = new ArrayList<>(); - BigDecimal totalAmount = BigDecimal.ZERO; for (VtbVerificationSubject currVs : verificationSubjects) { BigDecimal changeAmount = null; Integer countSession = null; @@ -280,6 +282,10 @@ public class VtbVerificationApplication { if( isRelease &&(isFinish||isStop)){ this.vtbVerificationService.release(verification.getActivityId()); } + if(isNext){ + //判断是否直接跳过审批的申请 + AsyncManager.me().execute(AsyncFactory.saveVtbSubmit(verification, totalAmount)); + } return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java index 4aa013ca..7fa81f69 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationOperationServiceImpl.java @@ -73,6 +73,11 @@ public class VtbVerificationOperationServiceImpl implements SeeYonOperationServi return null; } + @Override + public void doCommitBacked(String targetId) { + + } + @Override public Object compensateBacked(String targetId) { VtbVerification verification = vtbVerificationMapper.selectById(targetId); From 655b78524dcbd92f0ed29c8d3f83db5f24360bca Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 10 Aug 2023 14:59:33 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../qs/serve/modules/seeyon/entity/vo/TodoVO.java | 3 +++ .../service/impl/CommonCheckServiceImpl.java | 6 ++++-- .../tbs/controller/TbsBudgetController.java | 7 ------- .../service/impl/TbsBudgetChangeServiceImpl.java | 2 ++ .../tbs/service/impl/TbsBudgetServiceImpl.java | 2 ++ .../modules/vtb/common/VtbVerificationState.java | 5 +++-- .../modules/vtb/entity/bo/VtbVerificationBo.java | 3 +++ .../service/impl/VtbVerificationServiceImpl.java | 14 +++++++++++++- 8 files changed, 30 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/seeyon/entity/vo/TodoVO.java b/src/main/java/com/qs/serve/modules/seeyon/entity/vo/TodoVO.java index 23c49310..88ccde4c 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/entity/vo/TodoVO.java +++ b/src/main/java/com/qs/serve/modules/seeyon/entity/vo/TodoVO.java @@ -24,4 +24,7 @@ public class TodoVO { /** 时间 */ private LocalDateTime time; + /** 信息 */ + private Object targetInfo; + } diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java index bf9f3e81..1e67dccf 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java @@ -46,7 +46,8 @@ public class CommonCheckServiceImpl implements CommonCheckService { todo.setTargetId(obj.getId()+""); todo.setTargetCode(obj.getCode()); todo.setTitle(obj.getChargeTheme()); - todo.setTime(obj.getCreateTime()); + todo.setTime(obj.getSubmitTime()); + todo.setTargetInfo(obj); return todo; }).collect(Collectors.toList()); //政策 @@ -60,7 +61,8 @@ public class CommonCheckServiceImpl implements CommonCheckService { todo.setTargetId(obj.getId()+""); todo.setTargetCode(obj.getPolicyCode()); todo.setTitle(obj.getTitle()); - todo.setTime(obj.getCreateTime()); + todo.setTime(obj.getSubmitTime()); + todo.setTargetInfo(obj); return todo; }).collect(Collectors.toList()); diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java index 2053fe5c..1facc00c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java @@ -121,13 +121,6 @@ public class TbsBudgetController { public R getById(@PathVariable("id") String id,String changeId){ TbsBudget budget = tbsBudgetService.getById(id); TbsBudgetVo vo = tbsBudgetService.toVoEntity(budget); - LambdaQueryWrapper changeLqw = new LambdaQueryWrapper<>(); - List changeList = tbsBudgetChangeService.list(changeLqw); - for (TbsBudgetChange budgetChange : changeList) { - //审批data - //条件 - //金额 - } // TbsBudgetVo vo2 = tbsBudgetService.getEntityForExcel(budget); // vo.setScheduleItemBudgets(vo2.getScheduleItemBudgets()); return R.ok(vo); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index b9d85d16..64795e04 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -62,8 +62,10 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl data.put("orgId", tbsBudget.getId().toString()); data.put("applyUserCode", sysUser.getCode()); data.put("applyUserName", sysUser.getName()); + data.put("empId", sysUser.getSyUserId()); data.put("targetId", tbsBudget.getId()+""); data.put("targetCode", tbsBudget.getBudgetNumber()); + data.put("budgetCode", tbsBudget.getBudgetNumber()); data.put("exsp1",templateCode); //添加跳转地址业务 String baseJumpUrl = JumpToUtil.getJumpUrl(projectProperties.getWebUrl(),templateCode,id+""); diff --git a/src/main/java/com/qs/serve/modules/vtb/common/VtbVerificationState.java b/src/main/java/com/qs/serve/modules/vtb/common/VtbVerificationState.java index 4f58d712..991604c9 100644 --- a/src/main/java/com/qs/serve/modules/vtb/common/VtbVerificationState.java +++ b/src/main/java/com/qs/serve/modules/vtb/common/VtbVerificationState.java @@ -11,12 +11,13 @@ import lombok.Getter; @AllArgsConstructor public enum VtbVerificationState { - //状态:0=审批中;1=完成;2-中止;3-回滚;4-作废 + //状态:0=审批中;1=完成;2-中止;3-回滚;4-作废;5-关闭 Commiting(0), Finished(1), Stop(2), Rollback(3), - Cancel(4); + Cancel(4), + Close(5); private Integer code; diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java b/src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java index 4aaf8442..bd8c38fc 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java +++ b/src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java @@ -54,5 +54,8 @@ public class VtbVerificationBo implements Serializable { /** 支付方式 */ private Long payWayId; + /** 原来的审批id */ + private Long orgVerificationId; + } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index 2f66a669..d27215d7 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -546,7 +546,13 @@ public class VtbVerificationServiceImpl extends ServiceImpl Date: Thu, 10 Aug 2023 17:25:26 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E5=9B=9E=E9=80=80=E7=9A=84=E5=AE=A1?= =?UTF-8?q?=E6=89=B9=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/seeyon/SeeYonController.java | 10 ++ .../seeyon/entity/dto/TodoVoQuery.java | 18 +++ .../modules/seeyon/enums/CheckTypeEnum.java | 24 ++++ .../seeyon/mapper/CommonCheckMapper.java | 29 ++++ .../seeyon/service/CommonCheckService.java | 4 + .../service/impl/CommonCheckServiceImpl.java | 132 ++++++++++++++++++ .../serve/modules/tbs/entity/TbsBudget.java | 14 ++ .../modules/tbs/entity/TbsBudgetChange.java | 14 ++ .../impl/TbsBudgetChangeServiceImpl.java | 10 +- .../service/impl/TbsBudgetServiceImpl.java | 3 + .../mapper/seeyon/CommonCheckMapper.xml | 87 ++++++++++++ 11 files changed, 342 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/seeyon/entity/dto/TodoVoQuery.java create mode 100644 src/main/java/com/qs/serve/modules/seeyon/enums/CheckTypeEnum.java create mode 100644 src/main/java/com/qs/serve/modules/seeyon/mapper/CommonCheckMapper.java create mode 100644 src/main/resources/mapper/seeyon/CommonCheckMapper.xml diff --git a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java index 31f12753..ce0f7f8f 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java +++ b/src/main/java/com/qs/serve/modules/seeyon/SeeYonController.java @@ -11,6 +11,7 @@ import com.qs.serve.controller.util.SyKeyLoginUtil; import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.bo.CheckTargetDTO; import com.qs.serve.modules.seeyon.entity.bo.SeeYonApproveQuery; +import com.qs.serve.modules.seeyon.entity.dto.TodoVoQuery; import com.qs.serve.modules.seeyon.entity.vo.SeeYonApproveDataVo; import com.qs.serve.modules.seeyon.entity.vo.TodoVO; import com.qs.serve.modules.seeyon.service.CommonCheckService; @@ -78,6 +79,15 @@ public class SeeYonController { return R.ok(commonCheckService.listCallbackList()); } + /** + * 我的审批退回列表 + * @return + */ + @GetMapping("pageMyCallback") + public R> pageCallbackList(){ + return R.ok(commonCheckService.pageCallback(new TodoVoQuery())); + } + /** * 重定向到审批页面 * @param targetDTO diff --git a/src/main/java/com/qs/serve/modules/seeyon/entity/dto/TodoVoQuery.java b/src/main/java/com/qs/serve/modules/seeyon/entity/dto/TodoVoQuery.java new file mode 100644 index 00000000..28d85ef3 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/seeyon/entity/dto/TodoVoQuery.java @@ -0,0 +1,18 @@ +package com.qs.serve.modules.seeyon.entity.dto; + +import lombok.Data; + +/** + * @author YenHex + * @since 2023/8/10 + */ +@Data +public class TodoVoQuery { + + private String userId; + + private Integer startRow; + + private Integer pageSize; + +} diff --git a/src/main/java/com/qs/serve/modules/seeyon/enums/CheckTypeEnum.java b/src/main/java/com/qs/serve/modules/seeyon/enums/CheckTypeEnum.java new file mode 100644 index 00000000..011f2366 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/seeyon/enums/CheckTypeEnum.java @@ -0,0 +1,24 @@ +package com.qs.serve.modules.seeyon.enums; + +/** + * @author YenHex + * @since 2023/8/10 + */ +public enum CheckTypeEnum { + + /** 费用申请 */ + CostBill, + + /** 政策 */ + ReleasePolicy, + + /** 核销 */ + CheckCost, + + /** 预算申请 */ + budgetAdjust, + + /** 预算修改 */ + budgetAdjust2 + +} diff --git a/src/main/java/com/qs/serve/modules/seeyon/mapper/CommonCheckMapper.java b/src/main/java/com/qs/serve/modules/seeyon/mapper/CommonCheckMapper.java new file mode 100644 index 00000000..8ac073bb --- /dev/null +++ b/src/main/java/com/qs/serve/modules/seeyon/mapper/CommonCheckMapper.java @@ -0,0 +1,29 @@ +package com.qs.serve.modules.seeyon.mapper; + +import com.qs.serve.modules.seeyon.entity.dto.TodoVoQuery; +import com.qs.serve.modules.seeyon.entity.vo.TodoVO; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * @author YenHex + * @since 2023/8/10 + */ +public interface CommonCheckMapper { + + /** + * 查询回退的审批列表 + * @param query + * @return + */ + List pageCallbackList(@Param("query") TodoVoQuery query); + + /** + * 合计回退的审批列表 + * @param query + * @return + */ + Long countCallback(@Param("query") TodoVoQuery query); + +} diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/CommonCheckService.java b/src/main/java/com/qs/serve/modules/seeyon/service/CommonCheckService.java index ad645481..11b439d8 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/CommonCheckService.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/CommonCheckService.java @@ -1,5 +1,7 @@ package com.qs.serve.modules.seeyon.service; +import com.qs.serve.common.model.dto.PageVo; +import com.qs.serve.modules.seeyon.entity.dto.TodoVoQuery; import com.qs.serve.modules.seeyon.entity.vo.TodoVO; import java.util.List; @@ -10,6 +12,8 @@ import java.util.List; */ public interface CommonCheckService { + PageVo pageCallback(TodoVoQuery query); + /** * 退回列表 * @return diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java index 1e67dccf..f1166fcc 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java @@ -1,22 +1,36 @@ package com.qs.serve.modules.seeyon.service.impl; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.dto.PageVo; import com.qs.serve.common.util.AuthContextUtils; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.modules.seeyon.entity.dto.TodoVoQuery; import com.qs.serve.modules.seeyon.entity.vo.TodoVO; +import com.qs.serve.modules.seeyon.enums.CheckTypeEnum; +import com.qs.serve.modules.seeyon.mapper.CommonCheckMapper; import com.qs.serve.modules.seeyon.service.CommonCheckService; import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.tbs.common.TbsCostApplyState; +import com.qs.serve.modules.tbs.entity.TbsBudget; +import com.qs.serve.modules.tbs.entity.TbsBudgetChange; import com.qs.serve.modules.tbs.entity.TbsCostApply; +import com.qs.serve.modules.tbs.mapper.TbsBudgetChangeMapper; +import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tzc.common.TzcPolicyStatus; import com.qs.serve.modules.tzc.entity.TzcPolicy; +import com.qs.serve.modules.tzc.mapper.TzcPolicyMapper; import com.qs.serve.modules.tzc.service.TzcPolicyService; +import com.qs.serve.modules.vtb.entity.VtbVerification; +import com.qs.serve.modules.vtb.mapper.VtbVerificationMapper; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -31,6 +45,112 @@ public class CommonCheckServiceImpl implements CommonCheckService { private final SysUserService sysUserService; private final TbsCostApplyMapper costApplyMapper; private final TzcPolicyService tzcPolicyService; + private final TzcPolicyMapper tzcPolicyMapper; + private final VtbVerificationMapper verificationMapper; + private final TbsBudgetMapper tbsBudgetMapper; + private final TbsBudgetChangeMapper tbsBudgetChangeMapper; + private final CommonCheckMapper commonCheckMapper; + + @Override + public PageVo pageCallback(TodoVoQuery query) { + int pageSize = PageUtil.getPageSize(); + int startRow = PageUtil.getStartRow(); + query.setUserId(AuthContextUtils.getSysUserId()); + query.setPageSize(pageSize); + query.setStartRow(startRow); + PageVo pageVo = new PageVo<>(); + Long count = commonCheckMapper.countCallback(query); + List todoVOList; + if(count>0){ + todoVOList = commonCheckMapper.pageCallbackList(query); + this.initTodoTargetInfo(todoVOList); + }else { + todoVOList = new ArrayList<>(); + } + + pageVo.initPageByTotal(count); + pageVo.setList(todoVOList); + return pageVo; + } + + /** + * 初始化TargetInfo + * @param todoVOList + */ + private void initTodoTargetInfo(List todoVOList) { + Map> todoMap = todoVOList.stream().collect(Collectors.groupingBy(TodoVO::getTargetType)); + + List costToDo = todoMap.get(CheckTypeEnum.CostBill.name()); + List policyToDo = todoMap.get(CheckTypeEnum.ReleasePolicy.name()); + List verificationToDo = todoMap.get(CheckTypeEnum.CheckCost.name()); + List budgetToDo = todoMap.get(CheckTypeEnum.budgetAdjust.name()); + List budgetChangeToDo = todoMap.get(CheckTypeEnum.budgetAdjust2.name()); + + if(CollUtil.isNotEmpty(costToDo)){ + List ids = getTodoIds(costToDo); + List dataList = costApplyMapper.selectBatchIds(ids); + for (TodoVO todoVO : costToDo) { + for (TbsCostApply item : dataList) { + if(item.getId().toString().equals(todoVO.getTargetId())){ + todoVO.setTargetInfo(item); + break; + } + } + } + } + + if(CollUtil.isNotEmpty(policyToDo)){ + List ids = getTodoIds(policyToDo); + List dataList = tzcPolicyMapper.selectBatchIds(ids); + for (TodoVO todoVO : costToDo) { + for (TzcPolicy item : dataList) { + if(item.getId().toString().equals(todoVO.getTargetId())){ + todoVO.setTargetInfo(item); + break; + } + } + } + } + + if(CollUtil.isNotEmpty(verificationToDo)){ + List ids = getTodoIds(verificationToDo); + List dataList = verificationMapper.selectBatchIds(ids); + for (TodoVO todoVO : costToDo) { + for (VtbVerification item : dataList) { + if(item.getId().toString().equals(todoVO.getTargetId())){ + todoVO.setTargetInfo(item); + break; + } + } + } + } + + if(CollUtil.isNotEmpty(budgetToDo)){ + List ids = getTodoIds(budgetToDo); + List dataList = tbsBudgetMapper.selectBatchIds(ids); + for (TodoVO todoVO : costToDo) { + for (TbsBudget item : dataList) { + if(item.getId().toString().equals(todoVO.getTargetId())){ + todoVO.setTargetInfo(item); + break; + } + } + } + } + + if(CollUtil.isNotEmpty(budgetChangeToDo)){ + List ids = getTodoIds(budgetChangeToDo); + List dataList = tbsBudgetChangeMapper.selectBatchIds(ids); + for (TodoVO todoVO : costToDo) { + for (TbsBudgetChange item : dataList) { + if(item.getId().toString().equals(todoVO.getTargetId())){ + todoVO.setTargetInfo(item); + break; + } + } + } + } + } @Override public List listCallbackList() { @@ -72,4 +192,16 @@ public class CommonCheckServiceImpl implements CommonCheckService { return result; } + /** + * 提取todo列表的targetId + * @param todoList + * @return + */ + private List getTodoIds(List todoList){ + if(todoList!=null&&todoList.size()>0){ + return todoList.stream().map(TodoVO::getTargetId).collect(Collectors.toList()); + } + return null; + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java index 3d598fdc..e0d7696f 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudget.java @@ -101,6 +101,20 @@ public class TbsBudget implements Serializable { /** 生成底表标识:默认0;同步成功为1 */ private Integer birFlag; + /** 申请人 */ + @NotBlank(message = "申请人不能为空") + @Length(max = 32,message = "申请人长度不能超过32字") + private String userId; + + /** 用户编码 */ + @Length(max = 32,message = "长度不能超过32字") + private String userCode; + + /** 用户名称 */ + @Length(max = 32,message = "长度不能超过32字") + @TableField(condition = SqlCondition.LIKE) + private String userName; + /** 致远表单id */ private String syFormId; diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java index 6fc67144..1b925cdb 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsBudgetChange.java @@ -110,6 +110,20 @@ public class TbsBudgetChange implements Serializable { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") private LocalDateTime submitTime; + /** 申请人 */ + @NotBlank(message = "申请人不能为空") + @Length(max = 32,message = "申请人长度不能超过32字") + private String userId; + + /** 用户编码 */ + @Length(max = 32,message = "长度不能超过32字") + private String userCode; + + /** 用户名称 */ + @Length(max = 32,message = "长度不能超过32字") + @TableField(condition = SqlCondition.LIKE) + private String userName; + /** 备注 */ @Length(max = 255,message = "备注长度不能超过255字") private String remark; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java index 64795e04..5b1c5524 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java @@ -54,9 +54,9 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl data = new HashMap<>(); data.put("exsp5", budgetChange.getChangeCode()); data.put("orgId", budgetChange.getId().toString()); @@ -107,11 +107,15 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl tbsBudget.setSubmitTime(LocalDateTime.now()); tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); tbsBudget.setSyFormId(formId); + tbsBudget.setUserId(sysUser.getId()); + tbsBudget.setUserCode(sysUser.getCode()); + tbsBudget.setUserName(sysUser.getName()); this.updateById(tbsBudget); //创建流程后回调 diff --git a/src/main/resources/mapper/seeyon/CommonCheckMapper.xml b/src/main/resources/mapper/seeyon/CommonCheckMapper.xml new file mode 100644 index 00000000..d31f9bfc --- /dev/null +++ b/src/main/resources/mapper/seeyon/CommonCheckMapper.xml @@ -0,0 +1,87 @@ + + + + + + + + + From d0c1397a4eb0b00766bea464a2d17f80d655d10b Mon Sep 17 00:00:00 2001 From: Yen Date: Thu, 10 Aug 2023 17:41:09 +0800 Subject: [PATCH 4/4] debug --- .../seeyon/service/impl/CommonCheckServiceImpl.java | 8 ++++---- .../modules/tbs/service/TbsBudgetMatchApplication.java | 2 +- src/main/resources/mapper/seeyon/CommonCheckMapper.xml | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java index f1166fcc..c2491abd 100644 --- a/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/seeyon/service/impl/CommonCheckServiceImpl.java @@ -102,7 +102,7 @@ public class CommonCheckServiceImpl implements CommonCheckService { if(CollUtil.isNotEmpty(policyToDo)){ List ids = getTodoIds(policyToDo); List dataList = tzcPolicyMapper.selectBatchIds(ids); - for (TodoVO todoVO : costToDo) { + for (TodoVO todoVO : policyToDo) { for (TzcPolicy item : dataList) { if(item.getId().toString().equals(todoVO.getTargetId())){ todoVO.setTargetInfo(item); @@ -115,7 +115,7 @@ public class CommonCheckServiceImpl implements CommonCheckService { if(CollUtil.isNotEmpty(verificationToDo)){ List ids = getTodoIds(verificationToDo); List dataList = verificationMapper.selectBatchIds(ids); - for (TodoVO todoVO : costToDo) { + for (TodoVO todoVO : verificationToDo) { for (VtbVerification item : dataList) { if(item.getId().toString().equals(todoVO.getTargetId())){ todoVO.setTargetInfo(item); @@ -128,7 +128,7 @@ public class CommonCheckServiceImpl implements CommonCheckService { if(CollUtil.isNotEmpty(budgetToDo)){ List ids = getTodoIds(budgetToDo); List dataList = tbsBudgetMapper.selectBatchIds(ids); - for (TodoVO todoVO : costToDo) { + for (TodoVO todoVO : budgetToDo) { for (TbsBudget item : dataList) { if(item.getId().toString().equals(todoVO.getTargetId())){ todoVO.setTargetInfo(item); @@ -141,7 +141,7 @@ public class CommonCheckServiceImpl implements CommonCheckService { if(CollUtil.isNotEmpty(budgetChangeToDo)){ List ids = getTodoIds(budgetChangeToDo); List dataList = tbsBudgetChangeMapper.selectBatchIds(ids); - for (TodoVO todoVO : costToDo) { + for (TodoVO todoVO : budgetChangeToDo) { for (TbsBudgetChange item : dataList) { if(item.getId().toString().equals(todoVO.getTargetId())){ todoVO.setTargetInfo(item); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java index f38a3156..36afe27e 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetMatchApplication.java @@ -70,7 +70,7 @@ public class TbsBudgetMatchApplication { if(usableAmt==null){ usableAmt = itemBudget.getUnUsedBudgetAmount(); } - if(usableAmt.compareTo(centerGoods.getCenterGoodsAmount())>=0){ + if(usableAmt!=null&&usableAmt.compareTo(centerGoods.getCenterGoodsAmount())>=0){ usableAmt = usableAmt.subtract(centerGoods.getCenterGoodsAmount()); //扣减后存放map usableAmountMap.put(scheduleItemBudgetId,usableAmt); diff --git a/src/main/resources/mapper/seeyon/CommonCheckMapper.xml b/src/main/resources/mapper/seeyon/CommonCheckMapper.xml index d31f9bfc..98a91aaa 100644 --- a/src/main/resources/mapper/seeyon/CommonCheckMapper.xml +++ b/src/main/resources/mapper/seeyon/CommonCheckMapper.xml @@ -29,7 +29,7 @@ vtb.create_time as submit_time from vtb_verification vtb left join tbs_activity act on vtb.activity_id = act.id - where vtb.verification_state = 4 and vtb.user_id = #{query.userId} and act.del_flag = 0 and vtb.del_flag = 0 + where vtb.verification_state = 3 and vtb.user_id = #{query.userId} and act.del_flag = 0 and vtb.del_flag = 0 UNION select 'budgetAdjust' as target_type, @@ -68,7 +68,7 @@ vtb.id as target_id from vtb_verification vtb left join tbs_activity act on vtb.activity_id = act.id - where vtb.verification_state = 4 and vtb.user_id = #{query.userId} and vtb.del_flag = 0 + where vtb.verification_state = 3 and vtb.user_id = #{query.userId} and vtb.del_flag = 0 UNION select 'budgetAdjust' as target_type,