Browse Source

商品字段调整;协议条款添加审批;

v1.0
Yen 2 years ago
parent
commit
33b6f45a29
  1. 1
      src/main/java/com/qs/serve/common/util/CodeGenUtil.java
  2. 4
      src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java
  3. 5
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java
  4. 5
      src/main/java/com/qs/serve/modules/goods/entity/GoodsSpu.java
  5. 3
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSkuBo.java
  6. 3
      src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuBo.java
  7. 3
      src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuVo.java
  8. 2
      src/main/java/com/qs/serve/modules/tbs/common/TbsCommonCheckState.java
  9. 6
      src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
  10. 14
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetChangeController.java
  11. 10
      src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java
  12. 108
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoCheckController.java
  13. 34
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostTodoController.java
  14. 32
      src/main/java/com/qs/serve/modules/tbs/entity/TbsCostTodo.java
  15. 17
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetApplyOperationServiceImpl.java
  16. 24
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchOperationServiceImpl.java
  17. 22
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchServiceImpl.java
  18. 20
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java
  19. 12
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java
  20. 11
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java
  21. 166
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostTodoOperationServiceImpl.java

1
src/main/java/com/qs/serve/common/util/CodeGenUtil.java

@ -30,6 +30,7 @@ public class CodeGenUtil {
Budget("Budget"), Budget("Budget"),
BudgetChange("BudgetChange"), BudgetChange("BudgetChange"),
BudgetBatch("BudgetBatch"), BudgetBatch("BudgetBatch"),
AgreeCheck("AgreeCheck"),
PolicyItem("policy_item"); PolicyItem("policy_item");
private String code; private String code;
} }

4
src/main/java/com/qs/serve/modules/bir/service/impl/BirRoiRateServiceImpl.java

@ -215,7 +215,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl<BirRoiRateMapper,BirRoiRa
LocalDate currMonth = LocalDate.now(); LocalDate currMonth = LocalDate.now();
if(currMonth.getMonthValue()==1){ if(currMonth.getMonthValue()==1){
return qtdPercent; return 0F;
} }
// 获取当前季度的第一个月 // 获取当前季度的第一个月
Month firstMonthOfQuarter = currMonth.getMonth().firstMonthOfQuarter(); Month firstMonthOfQuarter = currMonth.getMonth().firstMonthOfQuarter();
@ -223,7 +223,7 @@ public class BirRoiRateServiceImpl extends ServiceImpl<BirRoiRateMapper,BirRoiRa
int firstMonthInteger = firstMonthOfQuarter.getValue(); int firstMonthInteger = firstMonthOfQuarter.getValue();
if(firstMonthInteger == currMonth.getMonthValue()){ if(firstMonthInteger == currMonth.getMonthValue()){
return qtdPercent; return 0F;
} }
currMonth = currMonth.plusMonths(-1); currMonth = currMonth.plusMonths(-1);

5
src/main/java/com/qs/serve/modules/goods/entity/GoodsSku.java

@ -72,9 +72,12 @@ public class GoodsSku implements Serializable {
/** 最低起批数(0->不限制) */ /** 最低起批数(0->不限制) */
private Integer minPurchase; private Integer minPurchase;
/** 是否启用1、是;0否 */ /** 投放费用 1、是;0否 */
private Integer enable; private Integer enable;
/** 是否可以下单 1、是;0否 */
private Integer orderFlag;
/** 单位id */ /** 单位id */
private Long unitId; private Long unitId;

5
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) @TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
private String[] picUrls; private String[] picUrls;
/** 是否上架(1是 0否) */ /** 投放费用(1是 0否) */
private Integer shelf; private Integer shelf;
/** 是否可以下单 1、是;0否 */
private Integer orderFlag;
/** 排序字段 */ /** 排序字段 */
@NotNull(message = "排序字段不能为空") @NotNull(message = "排序字段不能为空")
private Integer sort; private Integer sort;

3
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 costFlag;
/** 下单标识 */
private Integer orderFlag;
private String belong; private String belong;
} }

3
src/main/java/com/qs/serve/modules/goods/entity/bo/GoodsSpuBo.java

@ -63,5 +63,8 @@ public class GoodsSpuBo {
/** 可投放费用标识 */ /** 可投放费用标识 */
private Integer costFlag; private Integer costFlag;
/** 下单标识 */
private Integer orderFlag;
private String belong; private String belong;
} }

3
src/main/java/com/qs/serve/modules/goods/entity/vo/GoodsSpuVo.java

@ -61,4 +61,7 @@ public class GoodsSpuVo {
private String cateThirdLabel; private String cateThirdLabel;
private String belong; private String belong;
/** 是否可以下单 1、是;0否 */
private Integer orderFlag;
} }

2
src/main/java/com/qs/serve/modules/tbs/common/TbsBudgetCheckState.java → src/main/java/com/qs/serve/modules/tbs/common/TbsCommonCheckState.java

@ -4,7 +4,7 @@ package com.qs.serve.modules.tbs.common;
* @author YenHex * @author YenHex
* @since 2023/8/8 * @since 2023/8/8
*/ */
public interface TbsBudgetCheckState { public interface TbsCommonCheckState {
/** /**
* 0=未发布1=审批中2=完成3-被驳回;4-中止;5关闭 * 0=未发布1=审批中2=完成3-被驳回;4-中止;5关闭

6
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{ class BudgetChangeConf{
public static String Code(){ public static String Code(){

14
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.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.framework.manager.AsyncFactory; import com.qs.serve.common.framework.manager.AsyncFactory;
import com.qs.serve.common.framework.manager.AsyncManager; 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.PageVo;
import com.qs.serve.common.model.dto.R; 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.common.util.*;
import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysAttachService;
import com.qs.serve.modules.tbs.common.TbsBudgetCheckState; import com.qs.serve.modules.tbs.common.TbsCommonCheckState;
import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum;
import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo; import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.tbs.entity.so.TbsBudgetChangeSo; import com.qs.serve.modules.tbs.entity.so.TbsBudgetChangeSo;
import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.tbs.service.impl.TbsBudgetChangeOperationServiceImpl; import com.qs.serve.modules.tbs.service.impl.TbsBudgetChangeOperationServiceImpl;
import com.qs.serve.modules.tbs.service.impl.TbsCostApplyOperationServiceImpl;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 预算 预算更变记录 * 预算 预算更变记录
@ -87,7 +77,7 @@ public class TbsBudgetChangeController {
@GetMapping("/{id}") @GetMapping("/{id}")
public R<TbsBudgetChange> getList(@PathVariable("id")String id ){ public R<TbsBudgetChange> getList(@PathVariable("id")String id ){
TbsBudgetChange budgetChange = tbsBudgetChangeService.getDetailById(id, null); 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)); AsyncManager.me().execute(AsyncFactory.submitBudgetChange(id));
} }
return R.ok(budgetChange); return R.ok(budgetChange);

10
src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java

@ -1,7 +1,6 @@
package com.qs.serve.modules.tbs.controller; package com.qs.serve.modules.tbs.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.annotation.SysLog;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.model.dto.PageVo; 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.common.util.*;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService; 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.TbsGoodsType;
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.*; 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 javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -234,7 +232,7 @@ public class TbsBudgetController {
SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId()); SysUser sysUser = sysUserService.getById(AuthContextUtils.getSysUserId());
TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId()); TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId());
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑"); Assert.throwEx("预算审批中无法编辑");
} }
LambdaQueryWrapper<TbsBudgetLog> logLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsBudgetLog> logLambdaQueryWrapper = new LambdaQueryWrapper<>();
@ -271,7 +269,7 @@ public class TbsBudgetController {
//金额相同时退出 //金额相同时退出
// if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())==0){return R.ok();} // if(scheduleItemBudget.getBudgetAmount().compareTo(param.getBudgetAmount())==0){return R.ok();}
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑"); Assert.throwEx("预算审批中无法编辑");
} }
// TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget(); // TbsScheduleItemBudget itemBudget = new TbsScheduleItemBudget();
@ -308,7 +306,7 @@ public class TbsBudgetController {
//添加拦截 //添加拦截
TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId()); TbsScheduleItemBudget scheduleItemBudget = tbsScheduleItemBudgetService.getById(param.getId());
TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId()); TbsBudget budget = tbsBudgetService.getById(scheduleItemBudget.getBudgetId());
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑"); Assert.throwEx("预算审批中无法编辑");
} }
tbsScheduleItemBudgetService.updateById(itemBudget); tbsScheduleItemBudgetService.updateById(itemBudget);

108
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<List<CtpAffairVo>> pageAffair(String costApplyId){
return tbsCostApplyOperationServiceImpl.pageAffair(costApplyId);
}
/**
* 审批列表(翻页)
* @param param
* @return
*/
@GetMapping("/pageMemberAffair")
public R<PageVo<CtpAffairVo>> 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<String> addNode(@RequestBody CtpAddNodeParam param){
return tbsCostApplyOperationServiceImpl.addNode(param);
}
/**
* 获取未完成审批统计(个人)
* @return
*/
@PostMapping("/getAffairUnfinished")
public R<Long> getUnfinished(){
return tbsCostApplyOperationServiceImpl.getUnfinished();
}
}

34
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.CopierUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.service.impl.TbsCostTodoOperationServiceImpl;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -23,7 +24,7 @@ import javax.validation.Valid;
import java.util.List; import java.util.List;
/** /**
* 预算 费用申请代办 * 预算 协议条款(数据)
* @author YenHex * @author YenHex
* @since 2023-02-17 * @since 2023-02-17
*/ */
@ -34,7 +35,18 @@ import java.util.List;
public class TbsCostTodoController { public class TbsCostTodoController {
private TbsCostTodoService tbsCostTodoService; 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); return R.ok(tbsCostTodo);
} }
/** /**
* 更新 * 更新已取消
* @param param * @param param
* @return * @return
*/ */
@PostMapping("/updateById") @PostMapping("/updateById")
public R<?> updateById(@RequestBody @Valid TbsCostTodo param){ public R<?> updateById(@RequestBody @Valid TbsCostTodo param){
if(1==1){return R.error();}
String userId = AuthContextUtils.getSysUserId(); String userId = AuthContextUtils.getSysUserId();
TbsCostTodo tbsCostTodo = tbsCostTodoService.getById(param.getId()); TbsCostTodo tbsCostTodo = tbsCostTodoService.getById(param.getId());
if(!tbsCostTodo.getCreateBy().equals(userId)){ if(!tbsCostTodo.getCreateBy().equals(userId)){
@ -90,24 +101,15 @@ public class TbsCostTodoController {
return R.isTrue(result); 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 * @param ids
* @return * @return
*/ */
@DeleteMapping("/deleteById/{ids}") @DeleteMapping("/deleteById/{ids}")
public R<?> deleteById(@PathVariable("ids") String ids){ public R<?> deleteById(@PathVariable("ids") String ids){
if(1==1){return R.error();}
List<Long> idsLong = StringUtils.splitIdLong(ids); List<Long> idsLong = StringUtils.splitIdLong(ids);
String userId = AuthContextUtils.getSysUserId(); String userId = AuthContextUtils.getSysUserId();
LambdaQueryWrapper<TbsCostTodo> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsCostTodo> lqw = new LambdaQueryWrapper<>();

32
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.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.qs.serve.common.framework.mybatis.handler.meta.SplitStringTypeHandler;
import lombok.Data; import lombok.Data;
import org.apache.ibatis.type.JdbcType;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@ -22,7 +25,7 @@ import javax.validation.constraints.NotBlank;
* @since 2023-02-17 * @since 2023-02-17
*/ */
@Data @Data
@TableName("tbs_cost_todo") @TableName(value = "tbs_cost_todo", autoResultMap = true)
public class TbsCostTodo implements Serializable { public class TbsCostTodo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -31,10 +34,25 @@ public class TbsCostTodo implements Serializable {
@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO)
private Long id; private Long id;
/** 编码 */
private String todoCode;
/** 费用申请id */ /** 费用申请id */
@NotNull(message = "费用申请id不能为空") @NotNull(message = "费用申请id不能为空")
private Long costApplyId; 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字") @Length(max = 255,message = "涉及品牌长度不能超过255字")
private String brands; private String brands;
@ -51,6 +69,11 @@ public class TbsCostTodo implements Serializable {
@NotNull(message = "完成状态不能为空") @NotNull(message = "完成状态不能为空")
private Integer finishedFlag; 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字") @Length(max = 255,message = "备注长度不能超过255字")
private String payMsg; private String payMsg;
@ -92,5 +115,12 @@ public class TbsCostTodo implements Serializable {
@JsonProperty @JsonProperty
private Boolean delFlag; private Boolean delFlag;
/** 附件id */
@TableField(typeHandler = SplitStringTypeHandler.class,jdbcType= JdbcType.VARCHAR)
private String[] attachIds;
@TableField(exist = false)
private List<?> attachList;
} }

17
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.framework.manager.AsyncManager;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.util.Assert; 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.seeyon.service.SeeYonOperationService;
import com.qs.serve.modules.sys.entity.SysUser; 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.TbsSeeYonConst;
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.TbsBudget;
@ -58,7 +57,7 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic
@Override @Override
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
TbsBudget tbsBudget = budgetMapper.selectById(affairCommit.getTargetId()); TbsBudget tbsBudget = budgetMapper.selectById(affairCommit.getTargetId());
if(!tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(!tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
Assert.throwEx("操作失败,预算处于非审批状态"); Assert.throwEx("操作失败,预算处于非审批状态");
} }
return tbsBudget.getSyFormId(); return tbsBudget.getSyFormId();
@ -67,8 +66,8 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic
@Override @Override
public Object doBacked(TbsAffairCommitBo param) { public Object doBacked(TbsAffairCommitBo param) {
TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId()); TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId());
if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_3_setback); tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_3_setback);
budgetMapper.updateById(tbsBudget); budgetMapper.updateById(tbsBudget);
} }
return null; return null;
@ -77,8 +76,8 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic
@Override @Override
public Object doFinished(TbsAffairCommitBo param) { public Object doFinished(TbsAffairCommitBo param) {
TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId()); TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId());
if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_2_finished); tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_2_finished);
//启用预算 //启用预算
tbsBudget.setBudgetState(1); tbsBudget.setBudgetState(1);
budgetMapper.updateById(tbsBudget); budgetMapper.updateById(tbsBudget);
@ -102,8 +101,8 @@ public class TbsBudgetApplyOperationServiceImpl implements SeeYonOperationServic
@Override @Override
public Object doRefuse(TbsAffairCommitBo param) { public Object doRefuse(TbsAffairCommitBo param) {
TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId()); TbsBudget tbsBudget = budgetMapper.selectById(param.getTargetId());
if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(tbsBudget.getBudgetState().equals(0)&&tbsBudget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_4_stop); tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_4_stop);
budgetMapper.updateById(tbsBudget); budgetMapper.updateById(tbsBudget);
} }
return null; return null;

24
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetBatchOperationServiceImpl.java

@ -1,21 +1,15 @@
package com.qs.serve.modules.tbs.service.impl; 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.AsyncFactory;
import com.qs.serve.common.framework.manager.AsyncManager; import com.qs.serve.common.framework.manager.AsyncManager;
import com.qs.serve.common.util.Assert; 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.SeeYonOperationService;
import com.qs.serve.modules.seeyon.service.SeeYonRequestService; import com.qs.serve.modules.tbs.common.TbsCommonCheckState;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsBudgetCheckState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsBudget; import com.qs.serve.modules.tbs.entity.TbsBudget;
import com.qs.serve.modules.tbs.entity.TbsBudgetBatch; import com.qs.serve.modules.tbs.entity.TbsBudgetBatch;
import com.qs.serve.modules.tbs.entity.TbsBudgetBatchItem; import com.qs.serve.modules.tbs.entity.TbsBudgetBatchItem;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; 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 com.qs.serve.modules.tbs.service.*;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -47,7 +41,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic
@Override @Override
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
TbsBudgetBatch budgetBatch = budgetBatchService.getById(affairCommit.getTargetId()); TbsBudgetBatch budgetBatch = budgetBatchService.getById(affairCommit.getTargetId());
if (!budgetBatch.getBatchState().equals(TbsBudgetCheckState.State_1_apply)) { if (!budgetBatch.getBatchState().equals(TbsCommonCheckState.State_1_apply)) {
Assert.throwEx("操作失败,预算处于非审批状态"); Assert.throwEx("操作失败,预算处于非审批状态");
} }
return budgetBatch.getSyFormId(); return budgetBatch.getSyFormId();
@ -62,7 +56,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic
@Override @Override
public Object doFinished(TbsAffairCommitBo param) { public Object doFinished(TbsAffairCommitBo param) {
TbsBudgetBatch budgetBatch = budgetBatchService.getById(param.getTargetId()); TbsBudgetBatch budgetBatch = budgetBatchService.getById(param.getTargetId());
if(!budgetBatch.getBatchState().equals(TbsBudgetCheckState.State_1_apply)){ if(!budgetBatch.getBatchState().equals(TbsCommonCheckState.State_1_apply)){
return null; return null;
} }
List<TbsBudgetBatchItem> budgetBatchItemList = budgetBatchItemService.listByBatchId(budgetBatch.getId()); List<TbsBudgetBatchItem> budgetBatchItemList = budgetBatchItemService.listByBatchId(budgetBatch.getId());
@ -74,10 +68,10 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic
//预算修改 //预算修改
changeOperationService.dofinishedAction(batchItem.getChangeId().toString()); changeOperationService.dofinishedAction(batchItem.getChangeId().toString());
} }
batchItem.setBatchState(TbsBudgetCheckState.State_2_finished); batchItem.setBatchState(TbsCommonCheckState.State_2_finished);
budgetBatchItemService.updateById(batchItem); budgetBatchItemService.updateById(batchItem);
} }
budgetBatch.setBatchState(TbsBudgetCheckState.State_2_finished); budgetBatch.setBatchState(TbsCommonCheckState.State_2_finished);
budgetBatch.setFinishedTime(LocalDateTime.now()); budgetBatch.setFinishedTime(LocalDateTime.now());
budgetBatchService.updateById(budgetBatch); budgetBatchService.updateById(budgetBatch);
return null; return null;
@ -86,7 +80,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic
@Override @Override
public Object doRefuse(TbsAffairCommitBo param) { public Object doRefuse(TbsAffairCommitBo param) {
TbsBudgetBatch budgetBatch = budgetBatchService.getById(param.getTargetId()); TbsBudgetBatch budgetBatch = budgetBatchService.getById(param.getTargetId());
if(!budgetBatch.getBatchState().equals(TbsBudgetCheckState.State_1_apply)){ if(!budgetBatch.getBatchState().equals(TbsCommonCheckState.State_1_apply)){
return null; return null;
} }
List<TbsBudgetBatchItem> budgetBatchItemList = budgetBatchItemService.listByBatchId(budgetBatch.getId()); List<TbsBudgetBatchItem> budgetBatchItemList = budgetBatchItemService.listByBatchId(budgetBatch.getId());
@ -95,7 +89,7 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic
//预算申请 //预算申请
TbsBudget budget = new TbsBudget(); TbsBudget budget = new TbsBudget();
budget.setId(batchItem.getBudgetId()); budget.setId(batchItem.getBudgetId());
budget.setBudgetCheckState(TbsBudgetCheckState.State_0_unPublish); budget.setBudgetCheckState(TbsCommonCheckState.State_0_unPublish);
tbsBudgetService.updateById(budget); tbsBudgetService.updateById(budget);
}else { }else {
//预算修改 //预算修改
@ -103,10 +97,10 @@ public class TbsBudgetBatchOperationServiceImpl implements SeeYonOperationServic
commitBo.setTargetId(batchItem.getChangeId()+""); commitBo.setTargetId(batchItem.getChangeId()+"");
changeOperationService.doBacked(commitBo); changeOperationService.doBacked(commitBo);
} }
batchItem.setBatchState(TbsBudgetCheckState.State_4_stop); batchItem.setBatchState(TbsCommonCheckState.State_4_stop);
budgetBatchItemService.updateById(batchItem); budgetBatchItemService.updateById(batchItem);
} }
budgetBatch.setBatchState(TbsBudgetCheckState.State_4_stop); budgetBatch.setBatchState(TbsCommonCheckState.State_4_stop);
budgetBatch.setFinishedTime(LocalDateTime.now()); budgetBatch.setFinishedTime(LocalDateTime.now());
budgetBatchService.updateById(budgetBatch); budgetBatchService.updateById(budgetBatch);
return null; return null;

22
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.common.util.model.DateFormatString;
import com.qs.serve.modules.bms.entity.BmsSubject; import com.qs.serve.modules.bms.entity.BmsSubject;
import com.qs.serve.modules.bms.service.BmsSubjectService; 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.GoodsCategory;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.dto.TbsCenterDto; import com.qs.serve.modules.goods.entity.dto.TbsCenterDto;
import com.qs.serve.modules.goods.service.GoodsCategoryService; import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; 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.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService; 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.TbsGoodsType;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
@ -118,7 +116,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
} }
budgetBatch.setSubmitTime(LocalDateTime.now()); budgetBatch.setSubmitTime(LocalDateTime.now());
budgetBatch.setBatchState(TbsBudgetCheckState.State_1_apply); budgetBatch.setBatchState(TbsCommonCheckState.State_1_apply);
budgetBatch.setSyFormId(formId); budgetBatch.setSyFormId(formId);
this.updateById(budgetBatch); this.updateById(budgetBatch);
//创建流程后回调 //创建流程后回调
@ -160,7 +158,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
TbsBudgetBatch budgetBatch = new TbsBudgetBatch(); TbsBudgetBatch budgetBatch = new TbsBudgetBatch();
budgetBatch.setBatchTitle(sysUser.getName()+"发起了批量导入预算"); budgetBatch.setBatchTitle(sysUser.getName()+"发起了批量导入预算");
budgetBatch.setBatchCode(batchCode); budgetBatch.setBatchCode(batchCode);
budgetBatch.setBatchState(TbsBudgetCheckState.State_0_unPublish); budgetBatch.setBatchState(TbsCommonCheckState.State_0_unPublish);
//budgetBatch.setSyFormId(); //budgetBatch.setSyFormId();
budgetBatch.setUserId(sysUser.getId()); budgetBatch.setUserId(sysUser.getId());
budgetBatch.setUserCode(sysUser.getCode()); budgetBatch.setUserCode(sysUser.getCode());
@ -205,7 +203,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
List<TbsBudgetChange> budgetChanges = tbsBudgetChangeService.list( List<TbsBudgetChange> budgetChanges = tbsBudgetChangeService.list(
new LambdaQueryWrapper<TbsBudgetChange>() new LambdaQueryWrapper<TbsBudgetChange>()
.in(TbsBudgetChange::getBudgetNumber,budgetNumbers) .in(TbsBudgetChange::getBudgetNumber,budgetNumbers)
.eq(TbsBudgetChange::getBudgetCheckState,TbsBudgetCheckState.State_1_apply) .eq(TbsBudgetChange::getBudgetCheckState, TbsCommonCheckState.State_1_apply)
); );
for (TbsBudgetChange change : budgetChanges) { for (TbsBudgetChange change : budgetChanges) {
for (TbsBudgetBatchBo.BudgetMain budgetMain : updBudgetList) { for (TbsBudgetBatchBo.BudgetMain budgetMain : updBudgetList) {
@ -217,7 +215,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
} }
} }
for (TbsBudget budget : budgetList) { for (TbsBudget budget : budgetList) {
if(budget.getBudgetCheckState()==TbsBudgetCheckState.State_1_apply){ if(budget.getBudgetCheckState()== TbsCommonCheckState.State_1_apply){
for (TbsBudgetBatchBo.BudgetMain budgetMain : updBudgetList) { for (TbsBudgetBatchBo.BudgetMain budgetMain : updBudgetList) {
if(budgetMain.getBudgetNumber().equals(budget.getBudgetNumber())){ if(budgetMain.getBudgetNumber().equals(budget.getBudgetNumber())){
budgetMain.getErrorInfos().add("预算["+budget.getBudgetCode()+"]审批中,无法导入修改"); budgetMain.getErrorInfos().add("预算["+budget.getBudgetCode()+"]审批中,无法导入修改");
@ -257,7 +255,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
budgetChange.setUserName(sysUser.getName()); budgetChange.setUserName(sysUser.getName());
budgetChange.setBatchApplyFlag(1); budgetChange.setBatchApplyFlag(1);
budgetChange.setBatchApplyId(batchId); budgetChange.setBatchApplyId(batchId);
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); budgetChange.setBudgetCheckState(TbsCommonCheckState.State_1_apply);
boolean notChangeTitle = paramItem.getBudgetName()!=null&& paramItem.getBudgetName().equals(budget.getBudgetCode()); boolean notChangeTitle = paramItem.getBudgetName()!=null&& paramItem.getBudgetName().equals(budget.getBudgetCode());
if(!notChangeTitle){ if(!notChangeTitle){
budgetChange.setNewBudgetTitle(paramItem.getBudgetName()); budgetChange.setNewBudgetTitle(paramItem.getBudgetName());
@ -274,7 +272,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
TbsBudgetBatchItem batchItem = new TbsBudgetBatchItem(); TbsBudgetBatchItem batchItem = new TbsBudgetBatchItem();
batchItem.setBudgetId(budgetId); batchItem.setBudgetId(budgetId);
batchItem.setChangeId(changeId); batchItem.setChangeId(changeId);
batchItem.setBatchState(TbsBudgetCheckState.State_1_apply); batchItem.setBatchState(TbsCommonCheckState.State_1_apply);
batchItem.setUserId(sysUser.getId()); batchItem.setUserId(sysUser.getId());
batchItem.setUserCode(sysUser.getCode()); batchItem.setUserCode(sysUser.getCode());
batchItem.setUserName(sysUser.getName()); batchItem.setUserName(sysUser.getName());
@ -285,7 +283,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
this.toUpdateBudgetInfo(batchId,sysUser, scheduleMap, subjectMap, centerDtoMap, categoryMap, paramItem, budgetId); this.toUpdateBudgetInfo(batchId,sysUser, scheduleMap, subjectMap, centerDtoMap, categoryMap, paramItem, budgetId);
TbsBudgetBatchItem batchItem = new TbsBudgetBatchItem(); TbsBudgetBatchItem batchItem = new TbsBudgetBatchItem();
batchItem.setBudgetId(budgetId); batchItem.setBudgetId(budgetId);
batchItem.setBatchState(TbsBudgetCheckState.State_1_apply); batchItem.setBatchState(TbsCommonCheckState.State_1_apply);
batchItem.setUserId(sysUser.getId()); batchItem.setUserId(sysUser.getId());
batchItem.setUserCode(sysUser.getCode()); batchItem.setUserCode(sysUser.getCode());
batchItem.setUserName(sysUser.getName()); batchItem.setUserName(sysUser.getName());
@ -317,7 +315,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
TbsBudgetBatchItem batchItem = new TbsBudgetBatchItem(); TbsBudgetBatchItem batchItem = new TbsBudgetBatchItem();
batchItem.setBudgetId(budgetId); batchItem.setBudgetId(budgetId);
batchItem.setBatchState(TbsBudgetCheckState.State_1_apply); batchItem.setBatchState(TbsCommonCheckState.State_1_apply);
batchItem.setUserId(sysUser.getId()); batchItem.setUserId(sysUser.getId());
batchItem.setUserCode(sysUser.getCode()); batchItem.setUserCode(sysUser.getCode());
batchItem.setUserName(sysUser.getName()); batchItem.setUserName(sysUser.getName());
@ -526,7 +524,7 @@ public class TbsBudgetBatchServiceImpl extends ServiceImpl<TbsBudgetBatchMapper,
} }
newBudget.setBudgetNumber(paramItem.getBudgetNumber()); newBudget.setBudgetNumber(paramItem.getBudgetNumber());
newBudget.setBudgetState(0); newBudget.setBudgetState(0);
newBudget.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); newBudget.setBudgetCheckState(TbsCommonCheckState.State_1_apply);
if(StringUtils.hasText(paramItem.getSubjectCode())){ if(StringUtils.hasText(paramItem.getSubjectCode())){
BmsSubject bmsSubject = subjectMap.get(paramItem.getSubjectCode()); BmsSubject bmsSubject = subjectMap.get(paramItem.getSubjectCode());
if(bmsSubject==null){ if(bmsSubject==null){

20
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeOperationServiceImpl.java

@ -1,17 +1,13 @@
package com.qs.serve.modules.tbs.service.impl; package com.qs.serve.modules.tbs.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qs.serve.common.framework.manager.AsyncFactory; import com.qs.serve.common.framework.manager.AsyncFactory;
import com.qs.serve.common.framework.manager.AsyncManager;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BudgetLogOptFlag; import com.qs.serve.common.model.enums.BudgetLogOptFlag;
import com.qs.serve.common.util.Assert; import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.seeyon.service.SeeYonOperationService; import com.qs.serve.modules.seeyon.service.SeeYonOperationService;
import com.qs.serve.modules.sys.entity.SysUser; 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.TbsSeeYonConst;
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
@ -62,7 +58,7 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi
@Override @Override
public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) { public String getSyFormIdByTargetInfo(TbsAffairCommitBo affairCommit) {
TbsBudgetChange budgetChange = budgetChangeMapper.selectById(affairCommit.getTargetId()); TbsBudgetChange budgetChange = budgetChangeMapper.selectById(affairCommit.getTargetId());
if(!budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(!budgetChange.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
Assert.throwEx("操作失败,预算处于非审批状态"); Assert.throwEx("操作失败,预算处于非审批状态");
} }
return budgetChange.getSyFormId(); return budgetChange.getSyFormId();
@ -71,8 +67,8 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi
@Override @Override
public Object doBacked(TbsAffairCommitBo param) { public Object doBacked(TbsAffairCommitBo param) {
TbsBudgetChange budgetChange = budgetChangeMapper.selectById(param.getTargetId()); TbsBudgetChange budgetChange = budgetChangeMapper.selectById(param.getTargetId());
if(budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(budgetChange.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_3_setback); budgetChange.setBudgetCheckState(TbsCommonCheckState.State_3_setback);
budgetChangeMapper.updateById(budgetChange); budgetChangeMapper.updateById(budgetChange);
} }
return null; return null;
@ -90,8 +86,8 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi
*/ */
public void dofinishedAction(String changeId) { public void dofinishedAction(String changeId) {
TbsBudgetChange budgetChange = budgetChangeMapper.selectById(changeId); TbsBudgetChange budgetChange = budgetChangeMapper.selectById(changeId);
if(budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(budgetChange.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_2_finished); budgetChange.setBudgetCheckState(TbsCommonCheckState.State_2_finished);
budgetChangeMapper.updateById(budgetChange); budgetChangeMapper.updateById(budgetChange);
}else { }else {
return; return;
@ -171,8 +167,8 @@ public class TbsBudgetChangeOperationServiceImpl implements SeeYonOperationServi
@Override @Override
public Object doRefuse(TbsAffairCommitBo param) { public Object doRefuse(TbsAffairCommitBo param) {
TbsBudgetChange budgetChange = budgetChangeMapper.selectById(param.getTargetId()); TbsBudgetChange budgetChange = budgetChangeMapper.selectById(param.getTargetId());
if(budgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(budgetChange.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_4_stop); budgetChange.setBudgetCheckState(TbsCommonCheckState.State_4_stop);
budgetChangeMapper.updateById(budgetChange); budgetChangeMapper.updateById(budgetChange);
} }
return null; return null;

12
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetChangeServiceImpl.java

@ -14,7 +14,7 @@ import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysAttachService;
import com.qs.serve.modules.sys.service.SysUserService; 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.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum; import com.qs.serve.modules.tbs.common.consts.ChangeTypeEnum;
import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo; import com.qs.serve.modules.tbs.common.dto.TbsBudgetChangeVo;
@ -157,7 +157,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
Long countExist = this.count( Long countExist = this.count(
new LambdaQueryWrapper<TbsBudgetChange>() new LambdaQueryWrapper<TbsBudgetChange>()
.in(TbsBudgetChange::getBudgetId,budget.getId()) .in(TbsBudgetChange::getBudgetId,budget.getId())
.eq(TbsBudgetChange::getBudgetCheckState,TbsBudgetCheckState.State_1_apply) .eq(TbsBudgetChange::getBudgetCheckState, TbsCommonCheckState.State_1_apply)
); );
if(countExist>0){ if(countExist>0){
Assert.throwEx("当前预算已存在修改审批"); Assert.throwEx("当前预算已存在修改审批");
@ -165,8 +165,8 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
if(param.getOrgChangeId()!=null){ if(param.getOrgChangeId()!=null){
TbsBudgetChange orgBudgetChange = this.getById(param.getOrgChangeId()); TbsBudgetChange orgBudgetChange = this.getById(param.getOrgChangeId());
if(orgBudgetChange.getBudgetCheckState().equals(TbsBudgetCheckState.State_3_setback)){ if(orgBudgetChange.getBudgetCheckState().equals(TbsCommonCheckState.State_3_setback)){
orgBudgetChange.setBudgetCheckState(TbsBudgetCheckState.State_5_close); orgBudgetChange.setBudgetCheckState(TbsCommonCheckState.State_5_close);
this.updateById(orgBudgetChange); this.updateById(orgBudgetChange);
} }
} }
@ -205,7 +205,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
formId = formIdResult.getData(); formId = formIdResult.getData();
} }
budgetChange.setSubmitTime(LocalDateTime.now()); budgetChange.setSubmitTime(LocalDateTime.now());
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); budgetChange.setBudgetCheckState(TbsCommonCheckState.State_1_apply);
budgetChange.setSyFormId(formId); budgetChange.setSyFormId(formId);
this.updateById(budgetChange); this.updateById(budgetChange);
//创建流程后回调 //创建流程后回调
@ -235,7 +235,7 @@ public class TbsBudgetChangeServiceImpl extends ServiceImpl<TbsBudgetChangeMappe
budgetChange.setUserCode(sysUser.getCode()); budgetChange.setUserCode(sysUser.getCode());
budgetChange.setUserName(sysUser.getName()); budgetChange.setUserName(sysUser.getName());
budgetChange.setRemark(param.getRemark()); budgetChange.setRemark(param.getRemark());
budgetChange.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); budgetChange.setBudgetCheckState(TbsCommonCheckState.State_1_apply);
boolean notChangeTitle = param.getBudgetCode()!=null&& param.getBudgetCode().equals(budget.getBudgetCode()); boolean notChangeTitle = param.getBudgetCode()!=null&& param.getBudgetCode().equals(budget.getBudgetCode());
if(!notChangeTitle){ if(!notChangeTitle){
budgetChange.setNewBudgetTitle(param.getBudgetCode()); budgetChange.setNewBudgetTitle(param.getBudgetCode());

11
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsBudgetServiceImpl.java

@ -26,11 +26,9 @@ import com.qs.serve.modules.sys.entity.SysAttach;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysAttachService; import com.qs.serve.modules.sys.service.SysAttachService;
import com.qs.serve.modules.sys.service.SysUserService; 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.TbsCenterType;
import com.qs.serve.modules.tbs.common.TbsGoodsType; import com.qs.serve.modules.tbs.common.TbsGoodsType;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.common.consts.ConditionMapEnum;
import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.bo.*; import com.qs.serve.modules.tbs.entity.bo.*;
@ -45,7 +43,6 @@ import com.qs.serve.modules.vtb.entity.VtbFundFlow;
import com.qs.serve.modules.vtb.service.VtbFundFlowService; import com.qs.serve.modules.vtb.service.VtbFundFlowService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -131,7 +128,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
formId = formIdResult.getData(); formId = formIdResult.getData();
} }
tbsBudget.setSubmitTime(LocalDateTime.now()); tbsBudget.setSubmitTime(LocalDateTime.now());
tbsBudget.setBudgetCheckState(TbsBudgetCheckState.State_1_apply); tbsBudget.setBudgetCheckState(TbsCommonCheckState.State_1_apply);
tbsBudget.setSyFormId(formId); tbsBudget.setSyFormId(formId);
tbsBudget.setUserId(sysUser.getId()); tbsBudget.setUserId(sysUser.getId());
tbsBudget.setUserCode(sysUser.getCode()); tbsBudget.setUserCode(sysUser.getCode());
@ -164,7 +161,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
if(budget.getBudgetState().equals(1)){ if(budget.getBudgetState().equals(1)){
Assert.throwEx("已开启的预算无法编辑"); Assert.throwEx("已开启的预算无法编辑");
} }
if(budget.getBudgetCheckState().equals(TbsBudgetCheckState.State_1_apply)){ if(budget.getBudgetCheckState().equals(TbsCommonCheckState.State_1_apply)){
Assert.throwEx("预算审批中无法编辑"); Assert.throwEx("预算审批中无法编辑");
} }
//移除旧的条件数据 //移除旧的条件数据
@ -336,7 +333,7 @@ public class TbsBudgetServiceImpl extends ServiceImpl<TbsBudgetMapper,TbsBudget>
Assert.throwEx("已开启"); Assert.throwEx("已开启");
} }
budget.setBudgetState(1); budget.setBudgetState(1);
budget.setBudgetCheckState(TbsBudgetCheckState.State_2_finished); budget.setBudgetCheckState(TbsCommonCheckState.State_2_finished);
this.updateById(budget); this.updateById(budget);
SysUser sysUser = sysUserService.getById(budget.getUserId()); SysUser sysUser = sysUserService.getById(budget.getUserId());
LambdaQueryWrapper<TbsScheduleItemBudget> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<TbsScheduleItemBudget> lqw = new LambdaQueryWrapper<>();

166
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<String,Object> 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<String> flowIdResult = seeYonService.baseCreateProcess(createProcess);
if(flowIdResult.getStatus()!=200){
Assert.throwEx("远程服务调用失败");
}
String formId = null;
R<String> 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);
}
}
}
}
Loading…
Cancel
Save