From 33b6f45a29a293bb7fba3cc8d8fc9d75e1212f0c Mon Sep 17 00:00:00 2001 From: Yen Date: Tue, 31 Oct 2023 16:24:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E5=93=81=E5=AD=97=E6=AE=B5=E8=B0=83?= =?UTF-8?q?=E6=95=B4=EF=BC=9B=E5=8D=8F=E8=AE=AE=E6=9D=A1=E6=AC=BE=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=AE=A1=E6=89=B9=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/qs/serve/common/util/CodeGenUtil.java | 1 + .../service/impl/BirRoiRateServiceImpl.java | 4 +- .../serve/modules/goods/entity/GoodsSku.java | 5 +- .../serve/modules/goods/entity/GoodsSpu.java | 5 +- .../modules/goods/entity/bo/GoodsSkuBo.java | 3 + .../modules/goods/entity/bo/GoodsSpuBo.java | 3 + .../modules/goods/entity/vo/GoodsSpuVo.java | 3 + ...eckState.java => TbsCommonCheckState.java} | 2 +- .../modules/tbs/common/TbsSeeYonConst.java | 6 + .../controller/TbsBudgetChangeController.java | 14 +- .../tbs/controller/TbsBudgetController.java | 10 +- .../TbsCostTodoCheckController.java | 108 ++++++++++++ .../tbs/controller/TbsCostTodoController.java | 34 ++-- .../serve/modules/tbs/entity/TbsCostTodo.java | 32 +++- .../TbsBudgetApplyOperationServiceImpl.java | 17 +- .../TbsBudgetBatchOperationServiceImpl.java | 24 +-- .../impl/TbsBudgetBatchServiceImpl.java | 22 ++- .../TbsBudgetChangeOperationServiceImpl.java | 20 +-- .../impl/TbsBudgetChangeServiceImpl.java | 12 +- .../service/impl/TbsBudgetServiceImpl.java | 11 +- .../impl/TbsCostTodoOperationServiceImpl.java | 166 ++++++++++++++++++ 21 files changed, 401 insertions(+), 101 deletions(-) rename src/main/java/com/qs/serve/modules/tbs/common/{TbsBudgetCheckState.java => TbsCommonCheckState.java} (90%) create mode 100644 src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoCheckController.java create mode 100644 src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java diff --git a/src/main/java/com/qs/serve/common/util/CodeGenUtil.java b/src/main/java/com/qs/serve/common/util/CodeGenUtil.java index 33ab1a1b..b1978c79 100644 --- a/src/main/java/com/qs/serve/common/util/CodeGenUtil.java +++ b/src/main/java/com/qs/serve/common/util/CodeGenUtil.java @@ -30,6 +30,7 @@ public class CodeGenUtil { Budget("Budget"), BudgetChange("BudgetChange"), BudgetBatch("BudgetBatch"), + AgreeCheck("AgreeCheck"), PolicyItem("policy_item"); private String code; } diff --git a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java index 07313abd..9e1ef68b 100644 --- a/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java @@ -215,7 +215,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl不限制) */ private Integer minPurchase; - /** 是否启用1、是;0否 */ + /** 投放费用 1、是;0否 */ private Integer enable; + /** 是否可以下单 1、是;0否 */ + private Integer orderFlag; + /** 单位id */ private Long unitId; diff --git a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java index 5bac3780..59bd83db 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java @@ -61,9 +61,12 @@ public class GoodsSpu implements Serializable { @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) private String[] picUrls; - /** 是否上架(1是 0否) */ + /** 投放费用(1是 0否) */ private Integer shelf; + /** 是否可以下单 1、是;0否 */ + private Integer orderFlag; + /** 排序字段 */ @NotNull(message = "排序字段不能为空") private Integer sort; diff --git a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java index c59c3632..9d02cb58 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java @@ -72,6 +72,9 @@ public class GoodsSkuBo implements Serializable { /** 可投放费用标识 */ private Integer costFlag; + /** 下单标识 */ + private Integer orderFlag; + private String belong; } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuBo.java b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuBo.java index dc9d0b0d..12a31b00 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuBo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuBo.java @@ -63,5 +63,8 @@ public class GoodsSpuBo { /** 可投放费用标识 */ private Integer costFlag; + /** 下单标识 */ + private Integer orderFlag; + private String belong; } diff --git a/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuVo.java b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuVo.java index 87d8b39d..6065e5d5 100644 --- a/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuVo.java +++ b/src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuVo.java @@ -61,4 +61,7 @@ public class GoodsSpuVo { private String cateThirdLabel; private String belong; + + /** 是否可以下单 1、是;0否 */ + private Integer orderFlag; } diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsCommonCheckState.java similarity index 90% rename from src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java rename to src/main/java/com/qs/serve/modules/tbs/common/TbsCommonCheckState.java index 02721eab..bdbfc553 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsCommonCheckState.java @@ -4,7 +4,7 @@ package com.qs.serve.modules.tbs.common; * @author YenHex * @since 2023/8/8 */ -public interface TbsBudgetCheckState { +public interface TbsCommonCheckState { /** * 0=未发布;1=审批中;2=完成;3-被驳回;4-中止;5关闭 diff --git a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java index d697d78c..97e89e2a 100644 --- a/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java +++ b/src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java @@ -45,6 +45,12 @@ public interface TbsSeeYonConst { } } + /** 预算申请 */ + class CheckCostAgreeConf{ + public static String Code(){ + return DevEnvironmentConfig.isDev()?"CheckCostAgree_Test":"CheckCostAgree"; + } + } class BudgetChangeConf{ public static String Code(){ 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 index e26a5df7..0ca831a2 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java @@ -3,32 +3,22 @@ package com.qs.serve.modules.tbs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.qs.serve.common.framework.manager.AsyncFactory; import com.qs.serve.common.framework.manager.AsyncManager; -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.*; import com.qs.serve.modules.sys.service.SysAttachService; -import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; -import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum; +import com.qs.serve.modules.tbs.common.TbsCommonCheckState; import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.entity.so.TbsBudgetChangeSo; import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.tbs.service.impl.TbsBudgetChangeOperationServiceImpl; -import com.qs.serve.modules.tbs.service.impl.TbsCostApplyOperationServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import java.util.Arrays; import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; /** * 预算 预算更变记录 @@ -87,7 +77,7 @@ public class TbsBudgetChangeController { @GetMapping("/{id}") public R getList(@PathVariable("id")String id ){ TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailById(id, null); - if (budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + if (budgetChange.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ AsyncManager.me().execute(AsyncFactory.submitBudgetChange(id)); } return R.ok(budgetChange); 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 cfee2f1e..245041b1 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 @@ -1,7 +1,6 @@ package com.qs.serve.modules.tbs.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.qs.serve.common.framework.exception.BusinessException; import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.dto.PageVo; @@ -11,7 +10,7 @@ import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.util.*; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; -import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; +import com.qs.serve.modules.tbs.common.TbsCommonCheckState; import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; @@ -31,7 +30,6 @@ import com.qs.serve.modules.tbs.entity.so.TbsBudgetSo; import javax.validation.Valid; import java.math.BigDecimal; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -234,7 +232,7 @@ public class TbsBudgetController { SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId()); TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); - if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ Assert.throwEx("预算审批中无法编辑"); } LambdaQueryWrapper logLambdaQueryWrapper = new LambdaQueryWrapper<>(); @@ -271,7 +269,7 @@ public class TbsBudgetController { //金额相同时退出 // if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())==0){return R.ok();} TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); - if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ Assert.throwEx("预算审批中无法编辑"); } // TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget(); @@ -308,7 +306,7 @@ public class TbsBudgetController { //添加拦截 TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId()); TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); - if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ Assert.throwEx("预算审批中无法编辑"); } tbsScheduleItemBudgetService.updateById(itemBudget); diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoCheckController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoCheckController.java new file mode 100644 index 00000000..1386883d --- /dev/null +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoCheckController.java @@ -0,0 +1,108 @@ +package com.qs.serve.modules.tbs.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.annotation.LimitSubmit; +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.AuthContextUtils; +import com.qs.serve.common.util.PageUtil; +import com.qs.serve.common.util.StringUtils; +import com.qs.serve.modules.seeyon.entity.CtpAffairQo; +import com.qs.serve.modules.seeyon.entity.bo.CtpAddNodeParam; +import com.qs.serve.modules.tbs.entity.TbsCostTodo; +import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; +import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo; +import com.qs.serve.modules.tbs.service.TbsCostTodoService; +import com.qs.serve.modules.tbs.service.impl.TbsCostApplyOperationServiceImpl; +import com.qs.serve.modules.tbs.service.impl.TbsCostTodoOperationServiceImpl; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +/** + * 预算 协议条款(审批) + * @author YenHex + * @since 2023-02-17 + */ +@Slf4j +@AllArgsConstructor +@RestController +@RequestMapping("tbs/costTodo") +public class TbsCostTodoCheckController { + + private TbsCostApplyOperationServiceImpl tbsCostApplyOperationServiceImpl; + + + /** + * 审批列表(用于详情页) + * @param costApplyId + * @return + */ + @GetMapping("/ListAffairs") + public R> pageAffair(String costApplyId){ + return tbsCostApplyOperationServiceImpl.pageAffair(costApplyId); + } + + /** + * 审批列表(翻页) + * @param param + * @return + */ + @GetMapping("/pageMemberAffair") + public R> pageMemberAffair(CtpAffairQo param){ + return tbsCostApplyOperationServiceImpl.pageMemberAffair(param); + } + /** + * 提交审批节点 + * @return + */ + @LimitSubmit + @PostMapping("/commitAffair") + @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE) + @PreAuthorize("hasRole('tbs:costApply:commit')") + public R commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){ + return tbsCostApplyOperationServiceImpl.commitAffair(affairCommit); + } + + /** + * 补偿按钮 + * @param id + * @return + */ + @LimitSubmit + @PostMapping("/compensate/{id}") + @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.UPDATE) + public R compensate(@PathVariable("id") String id){ + return tbsCostApplyOperationServiceImpl.runCompensate(id); + } + + /** + * 加签 + * @param param + * @return + */ + @LimitSubmit + @PostMapping("/addNode") + @SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.DELETE) + public R addNode(@RequestBody CtpAddNodeParam param){ + return tbsCostApplyOperationServiceImpl.addNode(param); + } + + /** + * 获取未完成审批统计(个人) + * @return + */ + @PostMapping("/getAffairUnfinished") + public R getUnfinished(){ + return tbsCostApplyOperationServiceImpl.getUnfinished(); + } + +} + diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoController.java index 654ff8bb..cd8a1b2c 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoController.java @@ -11,6 +11,7 @@ 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.sys.service.SysUserService; +import com.qs.serve.modules.tbs.service.impl.TbsCostTodoOperationServiceImpl; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -23,7 +24,7 @@ import javax.validation.Valid; import java.util.List; /** - * 预算 费用申请代办 + * 预算 协议条款(数据) * @author YenHex * @since 2023-02-17 */ @@ -34,7 +35,18 @@ import java.util.List; public class TbsCostTodoController { private TbsCostTodoService tbsCostTodoService; - private SysUserService sysUserService; + private TbsCostTodoOperationServiceImpl costTodoOperationService; + + /** + * 新增(提交审批) + * @param param + * @return + */ + @PostMapping("/save") + public R save(@RequestBody @Valid TbsCostTodo param){ + costTodoOperationService.submit(param); + return R.ok(); + } /** * 列表 @@ -72,15 +84,14 @@ public class TbsCostTodoController { return R.ok(tbsCostTodo); } - - /** - * 更新 + * 更新(已取消) * @param param * @return */ @PostMapping("/updateById") public R updateById(@RequestBody @Valid TbsCostTodo param){ + if(1==1){return R.error();} String userId = AuthContextUtils.getSysUserId(); TbsCostTodo tbsCostTodo = tbsCostTodoService.getById(param.getId()); if(!tbsCostTodo.getCreateBy().equals(userId)){ @@ -90,24 +101,15 @@ public class TbsCostTodoController { return R.isTrue(result); } - /** - * 新增 - * @param param - * @return - */ - @PostMapping("/save") - public R save(@RequestBody @Valid TbsCostTodo param){ - boolean result = tbsCostTodoService.save(param); - return R.isTrue(result); - } /** - * 删除 + * 删除(已取消) * @param ids * @return */ @DeleteMapping("/deleteById/{ids}") public R deleteById(@PathVariable("ids") String ids){ + if(1==1){return R.error();} List idsLong = StringUtils.splitIdLong(ids); String userId = AuthContextUtils.getSysUserId(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostTodo.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostTodo.java index 275543de..3de83b44 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostTodo.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsCostTodo.java @@ -4,12 +4,15 @@ 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; import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; +import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler; import lombok.Data; +import org.apache.ibatis.type.JdbcType; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; @@ -22,7 +25,7 @@ import javax.validation.constraints.NotBlank; * @since 2023-02-17 */ @Data -@TableName("tbs_cost_todo") +@TableName(value = "tbs_cost_todo", autoResultMap = true) public class TbsCostTodo implements Serializable { private static final long serialVersionUID = 1L; @@ -31,10 +34,25 @@ public class TbsCostTodo implements Serializable { @TableId(type = IdType.AUTO) private Long id; + /** 编码 */ + private String todoCode; + /** 费用申请id */ @NotNull(message = "费用申请id不能为空") private Long costApplyId; + /** 提交时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime submitTime; + + + /** 核销状态 0=未发布;1=审批中;2=完成;3-被驳回;4-中止;5关闭 */ + private Integer checkStatus; + + /** 致远表单id */ + private String syFormId; + /** 涉及品牌 */ @Length(max = 255,message = "涉及品牌长度不能超过255字") private String brands; @@ -51,6 +69,11 @@ public class TbsCostTodo implements Serializable { @NotNull(message = "完成状态不能为空") private Integer finishedFlag; + /** 完成时间 */ + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") + private LocalDateTime finishedTime; + /** 交付标准 */ @Length(max = 255,message = "备注长度不能超过255字") private String payMsg; @@ -92,5 +115,12 @@ public class TbsCostTodo implements Serializable { @JsonProperty private Boolean delFlag; + /** 附件id */ + @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR) + private String[] attachIds; + + @TableField(exist = false) + private List attachList; + } 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 f4ae70ba..9140204b 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 @@ -5,10 +5,9 @@ import com.qs.serve.common.framework.manager.AsyncFactory; import com.qs.serve.common.framework.manager.AsyncManager; import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.util.Assert; -import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.modules.seeyon.service.SeeYonOperationService; import com.qs.serve.modules.sys.entity.SysUser; -import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; +import com.qs.serve.modules.tbs.common.TbsCommonCheckState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.TbsBudget; @@ -58,7 +57,7 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic @Override public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { TbsBudget tbsBudget = budgetMapper.selectById(affairCommit.getTargetId()); - if(!tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + if(!tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ Assert.throwEx("操作失败,预算处于非审批状态"); } return tbsBudget.getSyFormId(); @@ -67,8 +66,8 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic @Override public Object doBacked(TbsAffairCommitBo param) { TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId()); - if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ - tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_3_setback); + if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ + tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_3_setback); budgetMapper.updateById(tbsBudget); } return null; @@ -77,8 +76,8 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic @Override public Object doFinished(TbsAffairCommitBo param) { TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId()); - if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ - tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_2_finished); + if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ + tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_2_finished); //启用预算 tbsBudget.setBudgetState(1); budgetMapper.updateById(tbsBudget); @@ -102,8 +101,8 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic @Override public Object doRefuse(TbsAffairCommitBo param) { TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId()); - if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ - tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_4_stop); + if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ + tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_4_stop); budgetMapper.updateById(tbsBudget); } return null; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchOperationServiceImpl.java index c1e44327..7e3ae025 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchOperationServiceImpl.java @@ -1,21 +1,15 @@ package com.qs.serve.modules.tbs.service.impl; -import com.qs.serve.common.config.properties.ProjectProperties; 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.bms.service.BmsSubjectService; -import com.qs.serve.modules.goods.service.GoodsCategoryService; import com.qs.serve.modules.seeyon.service.SeeYonOperationService; -import com.qs.serve.modules.seeyon.service.SeeYonRequestService; -import com.qs.serve.modules.sys.service.SysUserService; -import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; +import com.qs.serve.modules.tbs.common.TbsCommonCheckState; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.TbsBudgetBatch; import com.qs.serve.modules.tbs.entity.TbsBudgetBatchItem; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; -import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; import com.qs.serve.modules.tbs.service.*; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -47,7 +41,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic @Override public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { TbsBudgetBatch budgetBatch = budgetBatchService.getById(affairCommit.getTargetId()); - if (!budgetBatch.getBatchState().equals(TbsBudgetCheckState.State_1_apply)) { + if (!budgetBatch.getBatchState().equals(TbsCommonCheckState.State_1_apply)) { Assert.throwEx("操作失败,预算处于非审批状态"); } return budgetBatch.getSyFormId(); @@ -62,7 +56,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic @Override public Object doFinished(TbsAffairCommitBo param) { TbsBudgetBatch budgetBatch = budgetBatchService.getById(param.getTargetId()); - if(!budgetBatch.getBatchState().equals(TbsBudgetCheckState.State_1_apply)){ + if(!budgetBatch.getBatchState().equals(TbsCommonCheckState.State_1_apply)){ return null; } List budgetBatchItemList = budgetBatchItemService.listByBatchId(budgetBatch.getId()); @@ -74,10 +68,10 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic //预算修改 changeOperationService.dofinishedAction(batchItem.getChangeId().toString()); } - batchItem.setBatchState(TbsBudgetCheckState.State_2_finished); + batchItem.setBatchState(TbsCommonCheckState.State_2_finished); budgetBatchItemService.updateById(batchItem); } - budgetBatch.setBatchState(TbsBudgetCheckState.State_2_finished); + budgetBatch.setBatchState(TbsCommonCheckState.State_2_finished); budgetBatch.setFinishedTime(LocalDateTime.now()); budgetBatchService.updateById(budgetBatch); return null; @@ -86,7 +80,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic @Override public Object doRefuse(TbsAffairCommitBo param) { TbsBudgetBatch budgetBatch = budgetBatchService.getById(param.getTargetId()); - if(!budgetBatch.getBatchState().equals(TbsBudgetCheckState.State_1_apply)){ + if(!budgetBatch.getBatchState().equals(TbsCommonCheckState.State_1_apply)){ return null; } List budgetBatchItemList = budgetBatchItemService.listByBatchId(budgetBatch.getId()); @@ -95,7 +89,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic //预算申请 TbsBudget budget = new TbsBudget(); budget.setId(batchItem.getBudgetId()); - budget.setBudgetCheckState(TbsBudgetCheckState.State_0_unPublish); + budget.setBudgetCheckState(TbsCommonCheckState.State_0_unPublish); tbsBudgetService.updateById(budget); }else { //预算修改 @@ -103,10 +97,10 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic commitBo.setTargetId(batchItem.getChangeId()+""); changeOperationService.doBacked(commitBo); } - batchItem.setBatchState(TbsBudgetCheckState.State_4_stop); + batchItem.setBatchState(TbsCommonCheckState.State_4_stop); budgetBatchItemService.updateById(batchItem); } - budgetBatch.setBatchState(TbsBudgetCheckState.State_4_stop); + budgetBatch.setBatchState(TbsCommonCheckState.State_4_stop); budgetBatch.setFinishedTime(LocalDateTime.now()); budgetBatchService.updateById(budgetBatch); return null; diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java index 7c186a43..8ae5f3bb 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java @@ -11,9 +11,7 @@ import com.qs.serve.common.util.*; import com.qs.serve.common.util.model.DateFormatString; import com.qs.serve.modules.bms.entity.BmsSubject; import com.qs.serve.modules.bms.service.BmsSubjectService; -import com.qs.serve.modules.goods.common.GoodsType; import com.qs.serve.modules.goods.entity.GoodsCategory; -import com.qs.serve.modules.goods.entity.GoodsSpu; import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; import com.qs.serve.modules.goods.service.GoodsCategoryService; import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; @@ -21,7 +19,7 @@ import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; import com.qs.serve.modules.seeyon.service.SeeYonRequestService; import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.service.SysUserService; -import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; +import com.qs.serve.modules.tbs.common.TbsCommonCheckState; import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.entity.*; @@ -118,7 +116,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl budgetChanges = tbsBudgetChangeService.list( new LambdaQueryWrapper() .in(TbsBudgetChange::getBudgetNumber,budgetNumbers) - .eq(TbsBudgetChange::getBudgetCheckState,TbsBudgetCheckState.State_1_apply) + .eq(TbsBudgetChange::getBudgetCheckState, TbsCommonCheckState.State_1_apply) ); for (TbsBudgetChange change : budgetChanges) { for (TbsBudgetBatchBo.BudgetMain budgetMain : updBudgetList) { @@ -217,7 +215,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl() .in(TbsBudgetChange::getBudgetId,budget.getId()) - .eq(TbsBudgetChange::getBudgetCheckState,TbsBudgetCheckState.State_1_apply) + .eq(TbsBudgetChange::getBudgetCheckState, TbsCommonCheckState.State_1_apply) ); if(countExist>0){ Assert.throwEx("当前预算已存在修改审批"); @@ -165,8 +165,8 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl formId = formIdResult.getData(); } tbsBudget.setSubmitTime(LocalDateTime.now()); - tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); + tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_1_apply); tbsBudget.setSyFormId(formId); tbsBudget.setUserId(sysUser.getId()); tbsBudget.setUserCode(sysUser.getCode()); @@ -164,7 +161,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl if(budget.getBudgetState().equals(1)){ Assert.throwEx("已开启的预算无法编辑"); } - if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ + if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){ Assert.throwEx("预算审批中无法编辑"); } //移除旧的条件数据 @@ -336,7 +333,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl Assert.throwEx("已开启"); } budget.setBudgetState(1); - budget.setBudgetCheckState(TbsBudgetCheckState.State_2_finished); + budget.setBudgetCheckState(TbsCommonCheckState.State_2_finished); this.updateById(budget); SysUser sysUser = sysUserService.getById(budget.getUserId()); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java new file mode 100644 index 00000000..1c8a5978 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java @@ -0,0 +1,166 @@ +package com.qs.serve.modules.tbs.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.qs.serve.common.config.properties.ProjectProperties; +import com.qs.serve.common.model.dto.R; +import com.qs.serve.common.util.*; +import com.qs.serve.common.util.model.DateFormatString; +import com.qs.serve.modules.data.service.DataAffairCommitService; +import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; +import com.qs.serve.modules.seeyon.service.SeeYonOperationService; +import com.qs.serve.modules.seeyon.service.SeeYonRequestService; +import com.qs.serve.modules.sys.entity.SysUser; +import com.qs.serve.modules.sys.mapper.SysUserMapper; +import com.qs.serve.modules.tbs.common.TbsCommonCheckState; +import com.qs.serve.modules.tbs.common.TbsSeeYonConst; +import com.qs.serve.modules.tbs.entity.TbsBudget; +import com.qs.serve.modules.tbs.entity.TbsCostTodo; +import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; +import com.qs.serve.modules.tbs.mapper.TbsCostTodoMapper; +import com.qs.serve.modules.tbs.service.TbsCostTodoService; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.time.LocalDateTime; +import java.util.HashMap; +import java.util.Map; + +/** + * 费用申请代办 服务实现类 + * @author YenHex + * @since 2023-02-17 + */ +@Slf4j +@Service +@AllArgsConstructor +public class TbsCostTodoOperationServiceImpl implements SeeYonOperationService { + + private final TbsCostTodoMapper tbsCostTodoMapper; + private final SysUserMapper sysUserMapper; + private final ProjectProperties projectProperties; + private final SeeYonRequestService seeYonService; + + /** + * 提交 + * @param costTodo + */ + @Transactional(rollbackFor = Exception.class) + public void submit(TbsCostTodo costTodo){ + String templateCode = this.getTemplateCode(); + SysUser sysUser = sysUserMapper.selectById(AuthContextUtils.getSysUserId()); + Map data = new HashMap<>(); + String todoCode = "XY"+ CodeGenUtil.generate(CodeGenUtil.SourceKey.AgreeCheck); + costTodo.setTodoCode(todoCode); + tbsCostTodoMapper.insert(costTodo); + Long todoId = costTodo.getId(); + data.put("exsp5", todoCode); + data.put("orgId", todoId); + data.put("applyUserCode", sysUser.getCode()); + data.put("applyUserName", sysUser.getName()); + data.put("empId", sysUser.getSyUserId()); + data.put("targetId", todoId); + data.put("targetCode", todoCode); + data.put("exsp1", templateCode); + //添加跳转地址业务 + String baseJumpUrl = JumpToUtil.getJumpUrl(projectProperties.getWebUrl(),templateCode,todoId+""); + data.put("cmsLink",baseJumpUrl); + data.put("rowDate", DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME)); + data.put("rowState","03"); + + BaseCreateProcessBo createProcess = new BaseCreateProcessBo(); + createProcess.setTemplateCode(templateCode); + createProcess.setMemberLoginName(sysUser.getSyAccount()); + createProcess.setSubjectTitle("[协议条款]"+costTodo.getDescr().substring(0,30)); + createProcess.setTargetId(todoId+""); + createProcess.setDataJson(JsonUtil.objectToJson(data)); + R flowIdResult = seeYonService.baseCreateProcess(createProcess); + if(flowIdResult.getStatus()!=200){ + Assert.throwEx("远程服务调用失败"); + } + String formId = null; + R formIdResult = seeYonService.getFormId(templateCode,todoId); + if(formIdResult.getStatus()==200){ + formId = formIdResult.getData(); + } + costTodo.setSubmitTime(LocalDateTime.now()); + costTodo.setSyFormId(formId); + tbsCostTodoMapper.updateById(costTodo); + + } + + @Override + public String getTemplateCode() { + return TbsSeeYonConst.CheckCostAgreeConf.Code(); + } + + @Override + public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { + TbsCostTodo obj = tbsCostTodoMapper.selectById(affairCommit.getTargetId()); + if(!obj.getCheckStatus().equals(TbsCommonCheckState.State_1_apply)){ + Assert.throwEx("操作失败,条款处于非审批状态"); + } + return obj.getSyFormId(); + } + + @Override + public Object doBacked(TbsAffairCommitBo param) { + TbsCostTodo costTodo = new TbsCostTodo(); + costTodo.setId(Long.parseLong(param.getTargetId())); + costTodo.setCheckStatus(TbsCommonCheckState.State_3_setback); + tbsCostTodoMapper.updateById(costTodo); + return null; + } + + @Override + public Object doFinished(TbsAffairCommitBo param) { + TbsCostTodo costTodo = new TbsCostTodo(); + costTodo.setId(Long.parseLong(param.getTargetId())); + costTodo.setFinishedTime(LocalDateTime.now()); + costTodo.setFinishedFlag(1); + costTodo.setCheckStatus(TbsCommonCheckState.State_2_finished); + tbsCostTodoMapper.updateById(costTodo); + return null; + } + + @Override + public Object doRefuse(TbsAffairCommitBo param) { + TbsCostTodo costTodo = new TbsCostTodo(); + costTodo.setId(Long.parseLong(param.getTargetId())); + costTodo.setCheckStatus(TbsCommonCheckState.State_4_stop); + tbsCostTodoMapper.updateById(costTodo); + return null; + } + + @Override + public boolean checkSyFormIdIsNotNull(String targetId) { + TbsCostTodo obj = tbsCostTodoMapper.selectById(targetId); + return obj.getSyFormId()!=null; + } + + @Override + public void doCommitBacked(String targetId) { + String summeryResult = this.checkAffairSummery(targetId); + if(summeryResult.equals(TbsCostApplyOperationServiceImpl.SummeryState_Success)){ + DataAffairCommitService commitService = SpringUtils.getBean(DataAffairCommitService.class); + // TbsAffairCommitBo.state 0-否定,1-同意,2-退回 + Integer state = commitService.getState(this.getTemplateCode(),targetId+""); + //获取最后一条审批判断结果 + if(state==null){ + return; + } + TbsAffairCommitBo doParam = new TbsAffairCommitBo(); + doParam.setTargetId(targetId); + if (state == 1){ + this.doFinished(doParam); + }else if (state==2){ + this.doCommitBacked(targetId); + }else if (state==0){ + this.doRefuse(doParam); + } + } + } + +} +