Browse Source

定义补偿规则;添加核销支付方式

contract
Yen 2 years ago
parent
commit
793ca48eaf
  1. 20
      src/main/java/com/qs/serve/common/util/PageUtil.java
  2. 1
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java
  3. 1
      src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java
  4. 23
      src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java
  5. 113
      src/main/java/com/qs/serve/modules/pay/controller/PayWayController.java
  6. 93
      src/main/java/com/qs/serve/modules/pay/entity/PayWay.java
  7. 14
      src/main/java/com/qs/serve/modules/pay/mapper/PayWayMapper.java
  8. 14
      src/main/java/com/qs/serve/modules/pay/service/PayWayService.java
  9. 22
      src/main/java/com/qs/serve/modules/pay/service/impl/PayWayServiceImpl.java
  10. 17
      src/main/java/com/qs/serve/modules/seeyon/enums/SyAffairState.java
  11. 16
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonBaseService.java
  12. 75
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonCompensateService.java
  13. 121
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonOperationService.java
  14. 13
      src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java
  15. 2
      src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestBaseService.java
  16. 50
      src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java
  17. 10
      src/main/java/com/qs/serve/modules/seeyon/service/impl/XiaoLuTonServiceImpl.java
  18. 1
      src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java
  19. 29
      src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java
  20. 4
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java
  21. 75
      src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyCompensateService.java
  22. 7
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java
  23. 5
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  24. 4
      src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java
  25. 5
      src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java
  26. 16
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  27. 6
      src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java
  28. 3
      src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java
  29. 9
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java
  30. 17
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

20
src/main/java/com/qs/serve/common/util/PageUtil.java

@ -55,6 +55,12 @@ public class PageUtil {
public static Integer getPageNum(){ public static Integer getPageNum(){
Integer pageNum=null; Integer pageNum=null;
String pageNumStr = ServletUtils.getParameter(PAGE_NUM); String pageNumStr = ServletUtils.getParameter(PAGE_NUM);
if(!StringUtils.hasText(pageNumStr)){
Object pageNumObj = ServletUtils.getSession().getAttribute(PAGE_NUM);
if(pageNumObj!=null){
pageNumStr = pageNumObj.toString();
}
}
if(StringUtils.hasText(pageNumStr)){ if(StringUtils.hasText(pageNumStr)){
pageNum = Integer.parseInt(pageNumStr); pageNum = Integer.parseInt(pageNumStr);
} }
@ -64,6 +70,12 @@ public class PageUtil {
public static Integer getPageSize(){ public static Integer getPageSize(){
String pageSizeStr = ServletUtils.getParameter(PAGE_SIZE); String pageSizeStr = ServletUtils.getParameter(PAGE_SIZE);
Integer pageSize = null; Integer pageSize = null;
if(!StringUtils.hasText(pageSizeStr)){
Object pageNumObj = ServletUtils.getSession().getAttribute(PAGE_SIZE);
if(pageNumObj!=null){
pageSizeStr = pageNumObj.toString();
}
}
if(StringUtils.hasText(pageSizeStr)){ if(StringUtils.hasText(pageSizeStr)){
pageSize = Integer.parseInt(pageSizeStr); pageSize = Integer.parseInt(pageSizeStr);
} }
@ -86,6 +98,14 @@ public class PageUtil {
return null; return null;
} }
public static void setPageSize(String pageSize){
ServletUtils.getSession().setAttribute(PAGE_SIZE,pageSize);
}
public static void setPageNum(String pageNum){
ServletUtils.getSession().setAttribute(PAGE_NUM,pageNum);
}
public static String getOrderType(){ public static String getOrderType(){
String orderType = ServletUtils.getParameter(ORDER_TYPE); String orderType = ServletUtils.getParameter(ORDER_TYPE);
if(StringUtils.hasText(orderType)){ if(StringUtils.hasText(orderType)){

1
src/main/java/com/qs/serve/modules/bms/controller/BmsChannelController.java

@ -70,6 +70,7 @@ public class BmsChannelController {
if(CollectionUtil.isNotEmpty(param.getSelectIds())){ if(CollectionUtil.isNotEmpty(param.getSelectIds())){
channelWrapper.in(BmsChannel::getId, param.getSelectIds()); channelWrapper.in(BmsChannel::getId, param.getSelectIds());
} }
channelWrapper.isNotNull(BmsChannel::getCreateBy);
List<BmsChannel> list = bmsChannelService.list(channelWrapper); List<BmsChannel> list = bmsChannelService.list(channelWrapper);
return R.ok(list); return R.ok(list);
} }

1
src/main/java/com/qs/serve/modules/bms/controller/BmsChannelPointController.java

@ -83,6 +83,7 @@ public class BmsChannelPointController {
if(CollectionUtil.isNotEmpty(param.getSelectIds())){ if(CollectionUtil.isNotEmpty(param.getSelectIds())){
lqw.in(BmsChannelPoint::getId, param.getSelectIds()); lqw.in(BmsChannelPoint::getId, param.getSelectIds());
} }
lqw.isNotNull(BmsChannelPoint::getCreateBy);
List<BmsChannelPoint> list = bmsChannelPointService.list(lqw); List<BmsChannelPoint> list = bmsChannelPointService.list(lqw);
for (BmsChannelPoint channelPoint : list) { for (BmsChannelPoint channelPoint : list) {
if(StringUtils.hasText(channelPoint.getBizRegionPath())){ if(StringUtils.hasText(channelPoint.getBizRegionPath())){

23
src/main/java/com/qs/serve/modules/bms/controller/BmsSupplierController.java

@ -12,6 +12,7 @@ import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType; import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; 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.bms.controller.my.BmsSupplierMyController;
import com.qs.serve.modules.bms.entity.*; import com.qs.serve.modules.bms.entity.*;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierBo;
import com.qs.serve.modules.bms.entity.bo.BmsSupplierParentBo; import com.qs.serve.modules.bms.entity.bo.BmsSupplierParentBo;
@ -64,6 +65,7 @@ public class BmsSupplierController {
private HisUserSupplierService hisUserSupplierService; private HisUserSupplierService hisUserSupplierService;
private RedisService redisService; private RedisService redisService;
private TbsBudgetService tbsBudgetService; private TbsBudgetService tbsBudgetService;
private BmsSupplierMyController supplierMyController;
/** /**
* 翻页查询 * 翻页查询
@ -104,24 +106,9 @@ public class BmsSupplierController {
@PreAuthorize("hasRole('bms:supplier:query')") @PreAuthorize("hasRole('bms:supplier:query')")
public R<PageVo<BmsSupplier>> getPage(@RequestBody BmsSupplier param){ public R<PageVo<BmsSupplier>> getPage(@RequestBody BmsSupplier param){
if(param.getLoadByCurrent()!=null&&param.getLoadByCurrent().equals(1)){ if(param.getLoadByCurrent()!=null&&param.getLoadByCurrent().equals(1)){
String userId = AuthContextUtils.getSysUserId(); PageUtil.setPageSize(param.getPageSize()+"");
hisUserSupplierService.initByUserId(userId,false,false); PageUtil.setPageNum(param.getPageNum()+"");
//初始化 return supplierMyController.getUnderlingAndMinePage(param);
List<String> userIds = sysPostUserService.listByChildIds(userId);
userIds.add(userId);
HisUserSupplier userSupplier = param.toHisUserSupplier(null,null);
QueryWrapper<HisUserSupplier> lqw = new QueryWrapper<>(userSupplier);
lqw.select("distinct his_user_supplier.supplier_id");
lqw.lambda().in(HisUserSupplier::getUserId,userIds)
.ne(HisUserSupplier::getSupplierId,0);
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<HisUserSupplier> list = hisUserSupplierService.list(lqw);
List<Long> supplierIds = list.stream().map(HisUserSupplier::getSupplierId).collect(Collectors.toList());
if(CollectionUtil.isNotEmpty(supplierIds)){
return R.byEmptyList();
}
List<BmsSupplier> supplierList = bmsSupplierService.listByIds(supplierIds);
return R.byPageHelperList(list,supplierList);
} }
PageHelper.startPage(param.getPageNum(),param.getPageSize()); PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<BmsSupplier> list = bmsSupplierService.selectSupplierList(param); List<BmsSupplier> list = bmsSupplierService.selectSupplierList(param);

113
src/main/java/com/qs/serve/modules/pay/controller/PayWayController.java

@ -0,0 +1,113 @@
package com.qs.serve.modules.pay.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.pay.entity.PayWay;
import com.qs.serve.modules.pay.service.PayWayService;
import javax.validation.Valid;
import java.util.List;
/**
* 支付 付款方式
* @author YenHex
* @since 2023-05-23
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("pay/way")
public class PayWayController {
private PayWayService payWayService;
/**
* 列表
* @param param
* @return
*/
@GetMapping("/list")
public R<List<PayWay>> getList(PayWay param){
LambdaQueryWrapper<PayWay> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
List<PayWay> list = payWayService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<PayWay>> getPage(PayWay param){
LambdaQueryWrapper<PayWay> lqw = new LambdaQueryWrapper<>(param);
PageUtil.startPage();
List<PayWay> list = payWayService.list(lqw);
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.Payment, title = "付款方式", biz = BizType.QUERY)
public R<PayWay> getById(@PathVariable("id") String id){
PayWay payWay = payWayService.getById(id);
return R.ok(payWay);
}
/**
* 更新
* @param param
* @return
*/
@PostMapping("/updateById")
@SysLog(module = SystemModule.Payment, title = "付款方式", biz = BizType.UPDATE)
public R<?> updateById(@RequestBody @Valid PayWay param){
boolean result = payWayService.updateById(param);
return R.isTrue(result);
}
/**
* 新增
* @param param
* @return
*/
@PostMapping("/save")
@SysLog(module = SystemModule.Payment, title = "付款方式", biz = BizType.INSERT)
public R<PayWay> save(@RequestBody @Valid PayWay param){
boolean result = payWayService.save(param);
return R.ok(param);
}
/**
* 删除
* @param ids
* @return
*/
@DeleteMapping("/deleteById/{ids}")
@SysLog(module = SystemModule.Payment, title = "付款方式", biz = BizType.DELETE)
public R<?> deleteById(@PathVariable("ids") String ids){
List<Long> idsLong = StringUtils.splitIdLong(ids);
boolean result = payWayService.removeByIds(idsLong);
return R.isTrue(result);
}
}

93
src/main/java/com/qs/serve/modules/pay/entity/PayWay.java

@ -0,0 +1,93 @@
package com.qs.serve.modules.pay.entity;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank;
/**
* 付款方式 实体类
* @author YenHex
* @since 2023-05-23
*/
@Data
@TableName("pay_way")
public class PayWay implements Serializable {
private static final long serialVersionUID = 1L;
/** id */
@TableId(type = IdType.AUTO)
private Long id;
/** 支付方式 */
@NotBlank(message = "支付方式不能为空")
@Length(max = 250,message = "支付方式长度不能超过250字")
private String title;
/** 停用:0->启用;1->停用 */
private Integer stopState;
/** 备注 */
@Length(max = 255,message = "备注长度不能超过255字")
private String remark;
/** 创建时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createTime;
/** 最后更新时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime updateTime;
/** 所属租户 */
@JsonIgnore
@JsonProperty
private String tenantId;
/** 创建人 */
@TableField(fill = FieldFill.INSERT)
private String createBy;
/** 更新人 */
@TableField(fill = FieldFill.UPDATE)
private String updateBy;
/** 逻辑删除标记(0:显示;1:隐藏) */
@JsonIgnore
@JsonProperty
private String delFlag;
public static PayWay toNewObject(PayWay source){
PayWay way = new PayWay();
way.setId(source.getId());
way.setTitle(source.getTitle());
way.setStopState(source.getStopState());
way.setRemark(source.getRemark());
way.setCreateTime(source.getCreateTime());
way.setUpdateTime(source.getUpdateTime());
way.setTenantId(source.getTenantId());
way.setCreateBy(source.getCreateBy());
way.setUpdateBy(source.getUpdateBy());
way.setDelFlag(source.getDelFlag());
return way;
}
}

14
src/main/java/com/qs/serve/modules/pay/mapper/PayWayMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.pay.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.pay.entity.PayWay;
/**
* 付款方式 Mapper
* @author YenHex
* @date 2023-05-23
*/
public interface PayWayMapper extends BaseMapper<PayWay> {
}

14
src/main/java/com/qs/serve/modules/pay/service/PayWayService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.pay.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.pay.entity.PayWay;
/**
* 付款方式 服务接口
* @author YenHex
* @date 2023-05-23
*/
public interface PayWayService extends IService<PayWay> {
}

22
src/main/java/com/qs/serve/modules/pay/service/impl/PayWayServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.pay.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.pay.entity.PayWay;
import com.qs.serve.modules.pay.service.PayWayService;
import com.qs.serve.modules.pay.mapper.PayWayMapper;
/**
* 付款方式 服务实现类
* @author YenHex
* @since 2023-05-23
*/
@Slf4j
@Service
@AllArgsConstructor
public class PayWayServiceImpl extends ServiceImpl<PayWayMapper,PayWay> implements PayWayService {
}

17
src/main/java/com/qs/serve/modules/seeyon/enums/SyAffairState.java

@ -0,0 +1,17 @@
package com.qs.serve.modules.seeyon.enums;
/**
* @author YenHex
* @since 2023/5/23
*/
public enum SyAffairState {
//next(审批中)、backed(回退)、finished(完成)、refuse(拒绝)、error(错误)、none(不存在数据)
next,
backed,
finished,
refuse,
error,
none;
}

16
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonBaseService.java

@ -0,0 +1,16 @@
package com.qs.serve.modules.seeyon.service;
/**
* @author YenHex
* @since 2023/5/23
*/
public interface SeeYonBaseService {
String getTemplateCode();
SeeYonRequestService getRequestService();
default boolean testConnection(){
return getRequestService().testConnection();
}
}

75
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonCompensateService.java

@ -0,0 +1,75 @@
package com.qs.serve.modules.seeyon.service;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
/**
* @author YenHex
* @since 2023/5/23
*/
public interface SeeYonCompensateService extends SeeYonBaseService{
/**
* 补偿:审批中
* @param targetId
* @return
*/
Object compensateNext(String targetId);
/**
* 补偿:审批退回
* @param targetId
* @return
*/
Object compensateBacked(String targetId);
/**
* 补偿:审批完成
* @param targetId
* @return
*/
Object compensateFinished(String targetId);
/**
* 补偿:审批拒绝
* @param targetId
* @return
*/
Object compensateRefuse(String targetId);
/**
* 执行的主要方法
* @param targetId
* @return
*/
default R<?> runCompensate(String targetId){
testConnection();
String templateCode = getTemplateCode();
SyAffairState affairState = checkAffairState(targetId,templateCode);
if(affairState.equals(SyAffairState.next)){
return R.ok(compensateNext(targetId));
}else if(affairState.equals(SyAffairState.backed)){
return R.ok(compensateBacked(targetId));
}else if(affairState.equals(SyAffairState.finished)){
return R.ok(compensateFinished(targetId));
}else if(affairState.equals(SyAffairState.refuse)){
return R.ok(compensateRefuse(targetId));
}else if(affairState.equals(SyAffairState.error)){
return R.error("数据异常请联系管理员");
}else{
return R.error("OA无相关审批数据");
}
}
/**
* 发送请求获取状态
* @param targetId
* @param templateCode
* @return
*/
default SyAffairState checkAffairState(String targetId,String templateCode){
return getRequestService().checkAffairState(targetId,templateCode);
};
}

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

@ -0,0 +1,121 @@
package com.qs.serve.modules.seeyon.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.consts.BudgetLogOptFlag;
import com.qs.serve.common.model.consts.BudgetLogRollbackFlag;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.seeyon.entity.CtpAffairQo;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsBudgetLog;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import org.springframework.web.bind.annotation.RequestBody;
import javax.validation.Valid;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author YenHex
* @since 2023/5/23
*/
public interface SeeYonOperationService extends SeeYonBaseService{
/**
* 审批中
* @param targetId
* @return
*/
Object next(String targetId);
/**
* 审批退回
* @param targetId
* @return
*/
Object backed(String targetId);
/**
* 审批完成
* @param targetId
* @return
*/
Object finished(String targetId);
/**
* 审批拒绝
* @param targetId
* @return
*/
Object refuse(String targetId);
/**
* 审批列表(用于详情页)
* @param targetId
* @return
*/
R<List<CtpAffairVo>> pageAffair(Long targetId);
/**
* 个人审批列表(翻页)
* @param param
* @return
*/
R<PageVo<CtpAffairVo>> pageMemberAffair(CtpAffairQo param);
/**
* 审批提交
* @param affairCommit
* @return
*/
default R<?> commitAffair(TbsAffairCommitBo affairCommit){
String syFormId = this.commitGetSyFormId(affairCommit);
String targetId = getTargetIdFromCommit(affairCommit);
R<String> result = getRequestService().commonCommit(affairCommit, getTemplateCode(),syFormId);
boolean isBackCommit = affairCommit.getState()==2;
if(result.getStatus()==200){
// 判断是否含有下个节点
String flag = result.getData();
//审批中(next)、完成(finish)、拒绝(refused)
if("finish".equals(flag)){
this.finished(targetId);
return R.ok();
}else if ("stop".equals(flag)){
if(isBackCommit){
this.backed(targetId);
return R.ok();
}else {
this.refuse(targetId);
return R.ok();
}
}else if ("next".equals(flag)){
this.next(targetId);
return R.ok();
}
}else if (result.getStatus()==500){
return result;
}
return R.ok();
}
/**
* 获取提交的目标ID
* @param affairCommit
* @return
*/
String getTargetIdFromCommit(TbsAffairCommitBo affairCommit);
/**
* 检查提交审批是否允许,并返回syFormId
* @param affairCommit
* @return
*/
String commitGetSyFormId(TbsAffairCommitBo affairCommit);
}

13
src/main/java/com/qs/serve/modules/seeyon/service/SeeYonService.java → src/main/java/com/qs/serve/modules/seeyon/service/SeeYonRequestService.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.seeyon.service;
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.modules.seeyon.entity.*; import com.qs.serve.modules.seeyon.entity.*;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
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.vo.CtpAffairVo; import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
@ -15,10 +16,12 @@ import java.util.List;
* @author YenHex * @author YenHex
* @since 2022/11/30 * @since 2022/11/30
*/ */
public interface SeeYonService { public interface SeeYonRequestService {
R<List<CtpAffair>> commonListAffairs(String targetId,String syFormId,String templateCode); R<List<CtpAffair>> commonListAffairs(String targetId,String syFormId,String templateCode);
R<String> commonCommit(TbsAffairCommitBo affairCommit,String formCode,String formRecordId); R<String> commonCommit(TbsAffairCommitBo affairCommit,String formCode,String formRecordId);
boolean testConnection(); boolean testConnection();
@ -69,6 +72,14 @@ public interface SeeYonService {
*/ */
R<PageVo<CtpAffair>> pageMemberAffair(CtpAffairQo ctpAffairQo); R<PageVo<CtpAffair>> pageMemberAffair(CtpAffairQo ctpAffairQo);
/**
* 校验OA节点状态
* @param targetId
* @param templateCode
* @return
*/
SyAffairState checkAffairState(String targetId,String templateCode);
/** /**
* 列表表单审批节点 * 列表表单审批节点
* @param ctpAffairQo * @param ctpAffairQo

2
src/main/java/com/qs/serve/modules/seeyon/service/impl/SyBaseService.java → src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestBaseService.java

@ -21,7 +21,7 @@ import java.util.HashMap;
@Slf4j @Slf4j
@Service @Service
@AllArgsConstructor @AllArgsConstructor
public class SyBaseService { public class SeeYonRequestBaseService {
private SeeYonProperties seeYonProperties; private SeeYonProperties seeYonProperties;

50
src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonServiceImpl.java → src/main/java/com/qs/serve/modules/seeyon/service/impl/SeeYonRequestServiceImpl.java

@ -1,29 +1,22 @@
package com.qs.serve.modules.seeyon.service.impl; package com.qs.serve.modules.seeyon.service.impl;
import com.qs.serve.common.config.properties.SeeYonProperties;
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.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.seeyon.entity.*; import com.qs.serve.modules.seeyon.entity.*;
import com.qs.serve.modules.seeyon.service.SeeYonService; import com.qs.serve.modules.seeyon.enums.SyAffairState;
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.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
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.vo.CtpAffairVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* @author YenHex * @author YenHex
@ -32,9 +25,9 @@ import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
@AllArgsConstructor @AllArgsConstructor
public class SeeYonServiceImpl implements SeeYonService { public class SeeYonRequestServiceImpl implements SeeYonRequestService {
private SyBaseService syBaseService; private SeeYonRequestBaseService seeYonRequestBaseService;
private SysUserService sysUserService; private SysUserService sysUserService;
@Nullable @Nullable
@ -72,7 +65,7 @@ public class SeeYonServiceImpl implements SeeYonService {
@Override @Override
public boolean testConnection() { public boolean testConnection() {
R result = syBaseService.getBase(TbsSeeYonConst.API_TEST,"测试连接"); R result = seeYonRequestBaseService.getBase(TbsSeeYonConst.API_TEST,"测试连接");
if(result!=null&&result.getStatus().equals(200)){ if(result!=null&&result.getStatus().equals(200)){
return true; return true;
}else { }else {
@ -83,39 +76,39 @@ public class SeeYonServiceImpl implements SeeYonService {
@Override @Override
public R<String> baseCreateProcess(BaseCreateProcessBo createProcessBo) { public R<String> baseCreateProcess(BaseCreateProcessBo createProcessBo) {
String title = "创建流程"; String title = "创建流程";
return syBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE,createProcessBo,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE,createProcessBo,title);
} }
@Override @Override
public R<String> createCallbackStatus(BaseCreateCallbackBo createCallbackBo) { public R<String> createCallbackStatus(BaseCreateCallbackBo createCallbackBo) {
String title = "创建流程后回调"; String title = "创建流程后回调";
return syBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE_CALLBACK,createCallbackBo,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_CREATE_CALLBACK,createCallbackBo,title);
} }
@Override @Override
public R<String> getFormId(String templateCode, Long targetId) { public R<String> getFormId(String templateCode, Long targetId) {
String title = "获取表单ID"; String title = "获取表单ID";
String url2 = TbsSeeYonConst.API_GET_FORM_ID+"?templateCode="+templateCode+"&targetId="+targetId; String url2 = TbsSeeYonConst.API_GET_FORM_ID+"?templateCode="+templateCode+"&targetId="+targetId;
return syBaseService.getBase(url2,title); return seeYonRequestBaseService.getBase(url2,title);
} }
@Override @Override
public R<String> affairCommit(CtpAffairCommit affairCommit) { public R<String> affairCommit(CtpAffairCommit affairCommit) {
String title = "审批流程"; String title = "审批流程";
return syBaseService.postBase(TbsSeeYonConst.API_PROCESS_COMMIT,affairCommit,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_COMMIT,affairCommit,title);
} }
@Override @Override
public R<String> affairCancel(CtpAffairCancel affairCancel) { public R<String> affairCancel(CtpAffairCancel affairCancel) {
String title = "取消流程"; String title = "取消流程";
return syBaseService.postBase(TbsSeeYonConst.API_PROCESS_CANCEL,affairCancel,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PROCESS_CANCEL,affairCancel,title);
} }
@Override @Override
public R<PageVo<CtpAffair>> pageMemberAffair(CtpAffairQo ctpAffairQo) { public R<PageVo<CtpAffair>> pageMemberAffair(CtpAffairQo ctpAffairQo) {
String title = "用户审批流程"; String title = "用户审批流程";
R<String> result = syBaseService.postBase(TbsSeeYonConst.API_PAGE_AFFAIR,ctpAffairQo,title); R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_PAGE_AFFAIR,ctpAffairQo,title);
if(result.getStatus()==200){ if(result.getStatus()==200){
PageVo<?> pageVo = JsonUtil.jsonToPojo(result.getData(),PageVo.class); PageVo<?> pageVo = JsonUtil.jsonToPojo(result.getData(),PageVo.class);
List<CtpAffair> affairList = new ArrayList<>(); List<CtpAffair> affairList = new ArrayList<>();
@ -132,10 +125,29 @@ public class SeeYonServiceImpl implements SeeYonService {
return null; return null;
} }
@Override
public SyAffairState checkAffairState(String targetId,String templateCode) {
String title = "校验OA节点状态";
CtpAffairQo param = new CtpAffairQo();
param.setTargetId(targetId);
param.setTemplateCode(templateCode);
R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_CHECK_AFFAIR,param,title);
if(result.getStatus()==200){
String resultString = result.getData();
for (SyAffairState value : SyAffairState.values()) {
if (value.name().equals(resultString)){
return value;
}
}
}
log.error("校验OA节点状态 param==>{} \n ==> {}",JsonUtil.objectToJson(param),JsonUtil.objectToJson(result));
return SyAffairState.error;
}
@Override @Override
public R<List<CtpAffair>> listFormAffair(CtpAffairQo ctpAffairQo) { public R<List<CtpAffair>> listFormAffair(CtpAffairQo ctpAffairQo) {
String title = "表单审批节点"; String title = "表单审批节点";
R<String> result = syBaseService.postBase(TbsSeeYonConst.API_LIST_AFFAIR,ctpAffairQo,title); R<String> result = seeYonRequestBaseService.postBase(TbsSeeYonConst.API_LIST_AFFAIR,ctpAffairQo,title);
if(result.getStatus()==200){ if(result.getStatus()==200){
List<?> list = JsonUtil.jsonToPojo(result.getData(),List.class); List<?> list = JsonUtil.jsonToPojo(result.getData(),List.class);
List<CtpAffair> affairList = new ArrayList<>(); List<CtpAffair> affairList = new ArrayList<>();

10
src/main/java/com/qs/serve/modules/seeyon/service/impl/XiaoLuTonServiceImpl.java

@ -19,29 +19,29 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor @AllArgsConstructor
public class XiaoLuTonServiceImpl implements XiaoLuTonService { public class XiaoLuTonServiceImpl implements XiaoLuTonService {
private SyBaseService syBaseService; private SeeYonRequestBaseService seeYonRequestBaseService;
@Override @Override
public R<String> saveApticlaim(XltApticlaim apticlaim) { public R<String> saveApticlaim(XltApticlaim apticlaim) {
String title = "保存核销记录"; String title = "保存核销记录";
return syBaseService.postBase(TbsSeeYonConst.XLT_SAVE_CHECK,apticlaim,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.XLT_SAVE_CHECK,apticlaim,title);
} }
@Override @Override
public R<String> savePaymentRecord(XltPaymentRecord paymentRecord) { public R<String> savePaymentRecord(XltPaymentRecord paymentRecord) {
String title = "保存支付记录"; String title = "保存支付记录";
return syBaseService.postBase(TbsSeeYonConst.XLT_SAVE_PAYMENT,paymentRecord,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.XLT_SAVE_PAYMENT,paymentRecord,title);
} }
@Override @Override
public R<String> savePolicyItem(PolicyItemDto policyItemDto) { public R<String> savePolicyItem(PolicyItemDto policyItemDto) {
String title = "保存政策记录"; String title = "保存政策记录";
return syBaseService.postBase(TbsSeeYonConst.XLT_SAVE_POLICY,policyItemDto,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.XLT_SAVE_POLICY,policyItemDto,title);
} }
@Override @Override
public R<String> listPolicyPayments() { public R<String> listPolicyPayments() {
String title = "获取最近政策记录"; String title = "获取最近政策记录";
return syBaseService.postBase(TbsSeeYonConst.XLT_LIST_POLICY,null,title); return seeYonRequestBaseService.postBase(TbsSeeYonConst.XLT_LIST_POLICY,null,title);
} }
} }

1
src/main/java/com/qs/serve/modules/tbs/common/TbsSeeYonConst.java

@ -41,6 +41,7 @@ public interface TbsSeeYonConst {
String API_GET_COST_FORM_ID = "/process/getCostApplyFormId"; String API_GET_COST_FORM_ID = "/process/getCostApplyFormId";
String API_GET_CHECK_FORM_ID = "/process/getCheckFormId"; String API_GET_CHECK_FORM_ID = "/process/getCheckFormId";
String API_PAGE_AFFAIR = "/process/pageMemberAffair"; String API_PAGE_AFFAIR = "/process/pageMemberAffair";
String API_CHECK_AFFAIR = "/process/checkAffair";
String API_LIST_AFFAIR = "/process/listFormAffair"; String API_LIST_AFFAIR = "/process/listFormAffair";
String XLT_SAVE_CHECK = "/xlt/saveCheck"; String XLT_SAVE_CHECK = "/xlt/saveCheck";

29
src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyController.java

@ -5,30 +5,23 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.qs.serve.common.model.annotation.SysLog; import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.consts.BudgetLogOptFlag; import com.qs.serve.common.model.consts.BudgetLogOptFlag;
import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.consts.BudgetLogRollbackFlag;
import com.qs.serve.common.model.consts.SysConfigKey;
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.BizType;
import com.qs.serve.common.model.enums.SystemModule; import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.*; import com.qs.serve.common.util.*;
import com.qs.serve.common.util.model.DateFormatString;
import com.qs.serve.modules.bms.entity.BmsSupplier; import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo;
import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffair;
import com.qs.serve.modules.seeyon.entity.CtpAffairCommit;
import com.qs.serve.modules.seeyon.entity.CtpAffairQo; import com.qs.serve.modules.seeyon.entity.CtpAffairQo;
import com.qs.serve.modules.seeyon.service.SeeYonService; import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.sys.entity.SysAttach; 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.SysConfigService;
import com.qs.serve.modules.sys.service.SysPostUserService; import com.qs.serve.modules.sys.service.SysPostUserService;
import com.qs.serve.modules.sys.service.SysUserSalesService;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsCostApplyState; import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.common.dto.CompensateDTO; import com.qs.serve.modules.tbs.common.dto.CompensateDTO;
import com.qs.serve.modules.tbs.common.util.TbsBudgetCostUtil;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo; import com.qs.serve.modules.tbs.entity.bo.TbsActivityBo;
import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo; import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
@ -41,15 +34,12 @@ import com.qs.serve.modules.tbs.entity.vo.TbsCostApplyVo;
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;
import org.jetbrains.annotations.Nullable;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.temporal.ChronoField;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -77,9 +67,10 @@ public class TbsCostApplyController {
private TbsBudgetLogService tbsBudgetLogService; private TbsBudgetLogService tbsBudgetLogService;
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonRequestService seeYonService;
private TbsBudgetApplicationService budgetApplicationService; private TbsBudgetApplicationService budgetApplicationService;
private SysPostUserService postUserService; private SysPostUserService postUserService;
private TbsCostApplyCompensateService tbsCostApplyCompensateService;
/** /**
* 预览 * 预览
@ -208,6 +199,18 @@ public class TbsCostApplyController {
return R.ok(); return R.ok();
} }
/**
* 补偿按钮
* @param id
* @return
*/
@PostMapping("/compensate/{id}")
@SysLog(module = SystemModule.Budget, title = "费用申请", biz = BizType.UPDATE)
@PreAuthorize("hasRole('tbs:costApply:update')")
public R<?> compensate(@PathVariable("id") String id){
return tbsCostApplyCompensateService.runCompensate(id);
}
/** /**
* 更新 * 更新
* @param param * @param param

4
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsAffairCommitBo.java

@ -17,6 +17,10 @@ public class TbsAffairCommitBo {
* 旧版的费用申请id核销id * 旧版的费用申请id核销id
*/ */
private Long costApplyId; private Long costApplyId;
/**
* 政策ID
*/
private Long policyId; private Long policyId;
/** 状态:0-否定,1-同意,2-退回 */ /** 状态:0-否定,1-同意,2-退回 */

75
src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyCompensateService.java

@ -0,0 +1,75 @@
package com.qs.serve.modules.tbs.service;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.util.Assert;
import com.qs.serve.modules.seeyon.enums.SyAffairState;
import com.qs.serve.modules.seeyon.service.SeeYonCompensateService;
import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
/**
* 费用申请补偿实现类
* @author YenHex
* @since 2023/5/23
*/
@Slf4j
@Service
@AllArgsConstructor
public class TbsCostApplyCompensateService implements SeeYonCompensateService {
private final SeeYonRequestService requestService;
private final TbsCostApplyMapper costApplyMapper;
@Override
public String getTemplateCode() {
return TbsSeeYonConst.CostApplyConf.Code();
}
@Override
public SeeYonRequestService getRequestService() {
return requestService;
}
@Override
public Object compensateNext(String targetId) {
TbsCostApply costApply = costApplyMapper.selectById(targetId);
if (costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())) {
}
return null;
}
@Override
public Object compensateBacked(String targetId) {
TbsCostApply costApply = costApplyMapper.selectById(targetId);
if (costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())) {
}
return null;
}
@Override
public Object compensateFinished(String targetId) {
TbsCostApply costApply = costApplyMapper.selectById(targetId);
if (costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())) {
}
return null;
}
@Override
public Object compensateRefuse(String targetId) {
TbsCostApply costApply = costApplyMapper.selectById(targetId);
if (costApply.getChargeState().equals(TbsCostApplyState.State_1_apply.getCode())) {
}
return null;
}
}

7
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

@ -98,7 +98,12 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
} }
} }
} }
if(activityBo.getId()==null&&costApply.getContractFlag().equals(1)){
List<TbsActivity> tbsActivities = this.listByCostApplyId(costApply.getId());
if(tbsActivities.size()>0){
Assert.throwEx("协议类申请只能有一个活动");
}
}
BmsSupplier supplier = supplierService.getById(costApply.getSupplierId()); BmsSupplier supplier = supplierService.getById(costApply.getSupplierId());
TbsActivity activity; TbsActivity activity;
//活动总金额 //活动总金额

5
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -11,7 +11,7 @@ import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo;
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo;
import com.qs.serve.modules.seeyon.service.SeeYonService; 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.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsActivityState;
@ -25,7 +25,6 @@ import com.qs.serve.modules.tbs.mapper.TbsActivityPayConditionMapper;
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;
import org.jetbrains.annotations.NotNull;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper; import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -49,7 +48,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
private TbsBudgetCostItemService budgetCostItemService; private TbsBudgetCostItemService budgetCostItemService;
private TbsBudgetLogService budgetLogService; private TbsBudgetLogService budgetLogService;
private SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonRequestService seeYonService;
private TbsActivityTemplateService tbsActivityTemplateService; private TbsActivityTemplateService tbsActivityTemplateService;
private TbsActivityCenterService tbsActivityCenterService; private TbsActivityCenterService tbsActivityCenterService;
private TbsActivitySubjectService tbsActivitySubjectService; private TbsActivitySubjectService tbsActivitySubjectService;

4
src/main/java/com/qs/serve/modules/tzc/controller/TzcPolicyController.java

@ -13,7 +13,7 @@ import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.StringUtils; import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffair;
import com.qs.serve.modules.seeyon.entity.CtpAffairQo; import com.qs.serve.modules.seeyon.entity.CtpAffairQo;
import com.qs.serve.modules.seeyon.service.SeeYonService; 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.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
@ -59,7 +59,7 @@ public class TzcPolicyController {
private TzcPolicyApplicationService policyApplicationService; private TzcPolicyApplicationService policyApplicationService;
private TbsBudgetLogService tbsBudgetLogService; private TbsBudgetLogService tbsBudgetLogService;
private SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonRequestService seeYonService;
@GetMapping("succ") @GetMapping("succ")
public R<?> succ(Long id){ public R<?> succ(Long id){

5
src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyApplicationServiceImpl.java

@ -12,12 +12,11 @@ import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.service.GoodsSkuService; import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo;
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo;
import com.qs.serve.modules.seeyon.service.SeeYonService; import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.seeyon.service.XiaoLuTonService; import com.qs.serve.modules.seeyon.service.XiaoLuTonService;
import com.qs.serve.modules.sys.entity.SysUser; import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysConfigService; import com.qs.serve.modules.sys.service.SysConfigService;
import com.qs.serve.modules.sys.service.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsCostApplyState;
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.util.TbsBudgetCostUtil; import com.qs.serve.modules.tbs.common.util.TbsBudgetCostUtil;
@ -72,7 +71,7 @@ public class TzcPolicyApplicationServiceImpl implements TzcPolicyApplicationServ
private TbsBudgetCostItemService tbsBudgetCostItemService; private TbsBudgetCostItemService tbsBudgetCostItemService;
private SysConfigService configService; private SysConfigService configService;
private SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonRequestService seeYonService;
private BmsSupplierService bmsSupplierService; private BmsSupplierService bmsSupplierService;
private GoodsSkuService goodsSkuService; private GoodsSkuService goodsSkuService;
private XiaoLuTonService xiaoLuTonService; private XiaoLuTonService xiaoLuTonService;

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

@ -8,33 +8,23 @@ import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule; 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.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffair;
import com.qs.serve.modules.seeyon.entity.CtpAffairCommit;
import com.qs.serve.modules.seeyon.entity.CtpAffairQo; import com.qs.serve.modules.seeyon.entity.CtpAffairQo;
import com.qs.serve.modules.seeyon.entity.dto.CtpAffairPageSo; import com.qs.serve.modules.seeyon.entity.dto.CtpAffairPageSo;
import com.qs.serve.modules.seeyon.service.SeeYonService; import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.sys.entity.SysAttach; 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.TbsActivityState;
import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsActivitySubject; import com.qs.serve.modules.tbs.entity.TbsActivitySubject;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
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.vo.CtpAffairVo; import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsActivitySubjectService; import com.qs.serve.modules.tbs.service.TbsActivitySubjectService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.*; import com.qs.serve.modules.vtb.entity.*;
import com.qs.serve.modules.vtb.entity.so.VtbVerificationSubjectSo;
import com.qs.serve.modules.vtb.service.*; import com.qs.serve.modules.vtb.service.*;
import com.tencentcloudapi.as.v20180419.models.Activity;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -43,9 +33,7 @@ import com.qs.serve.modules.vtb.entity.bo.VtbVerificationBo;
import javax.validation.Valid; import javax.validation.Valid;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 核销 核销 * 核销 核销
@ -65,7 +53,7 @@ public class VtbVerificationController {
private TbsActivitySubjectService activitySubjectService; private TbsActivitySubjectService activitySubjectService;
private SysAttachService attachService; private SysAttachService attachService;
private SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonRequestService seeYonService;
private VtbVerificationApplication verificationApplication; private VtbVerificationApplication verificationApplication;
private VtbVerificationYardService verificationYardService; private VtbVerificationYardService verificationYardService;
private VtbVerificationYardItemService vtbVerificationYardItemService; private VtbVerificationYardItemService vtbVerificationYardItemService;

6
src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java

@ -87,6 +87,12 @@ public class VtbVerification implements Serializable {
@Length(max = 30,message = "客户名称长度不能超过30字") @Length(max = 30,message = "客户名称长度不能超过30字")
private String supplierName; private String supplierName;
/** 支付方式id */
private Long wayId;
/** 支付方式 */
private String wayTitle;
/** 备注 */ /** 备注 */
@Length(max = 255,message = "备注长度不能超过255字") @Length(max = 255,message = "备注长度不能超过255字")
private String remark; private String remark;

3
src/main/java/com/qs/serve/modules/vtb/entity/bo/VtbVerificationBo.java

@ -51,5 +51,8 @@ public class VtbVerificationBo implements Serializable {
/** 支付条件id */ /** 支付条件id */
private Long payConditionId; private Long payConditionId;
/** 支付方式 */
private Long payWayId;
} }

9
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java

@ -1,26 +1,21 @@
package com.qs.serve.modules.vtb.service; package com.qs.serve.modules.vtb.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.dto.R;
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.CopierUtil; import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.modules.seeyon.entity.CtpAffair; import com.qs.serve.modules.seeyon.entity.CtpAffair;
import com.qs.serve.modules.seeyon.service.SeeYonService; 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.SysUserService; import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsActivityState; import com.qs.serve.modules.tbs.common.TbsActivityState;
import com.qs.serve.modules.tbs.common.TbsSeeYonConst; import com.qs.serve.modules.tbs.common.TbsSeeYonConst;
import com.qs.serve.modules.tbs.entity.TbsActivity; import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition; import com.qs.serve.modules.tbs.entity.TbsActivityPayCondition;
import com.qs.serve.modules.tbs.entity.TbsActivitySubject;
import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.entity.TbsCostApply;
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.vo.CtpAffairVo; import com.qs.serve.modules.tbs.entity.vo.CtpAffairVo;
import com.qs.serve.modules.tbs.service.TbsActivityPayConditionService; import com.qs.serve.modules.tbs.service.TbsActivityPayConditionService;
import com.qs.serve.modules.tbs.service.TbsActivityService; import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsActivitySubjectService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService; import com.qs.serve.modules.tbs.service.TbsCostApplyService;
import com.qs.serve.modules.vtb.common.VtbVerificationState; import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.VtbVerification; import com.qs.serve.modules.vtb.entity.VtbVerification;
@ -57,7 +52,7 @@ public class VtbVerificationApplication {
private TbsActivityService tbsActivityService; private TbsActivityService tbsActivityService;
private TbsCostApplyService tbsCostApplyService; private TbsCostApplyService tbsCostApplyService;
private SysUserService sysUserService; private SysUserService sysUserService;
private SeeYonService seeYonService; private SeeYonRequestService seeYonService;
public R<?> commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){ public R<?> commitAffair(@RequestBody @Valid TbsAffairCommitBo affairCommit){
VtbVerification verification = vtbVerificationService.getById(affairCommit.getCostApplyId()); VtbVerification verification = vtbVerificationService.getById(affairCommit.getCostApplyId());

17
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -14,9 +14,11 @@ import com.qs.serve.modules.bms.service.BmsChannelPointService;
import com.qs.serve.modules.bms.service.BmsChannelService; import com.qs.serve.modules.bms.service.BmsChannelService;
import com.qs.serve.modules.bms.service.BmsSubjectService; import com.qs.serve.modules.bms.service.BmsSubjectService;
import com.qs.serve.modules.bms.service.BmsSupplierService; import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.pay.entity.PayWay;
import com.qs.serve.modules.pay.mapper.PayWayMapper;
import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo; import com.qs.serve.modules.seeyon.entity.BaseCreateCallbackBo;
import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo; import com.qs.serve.modules.seeyon.entity.BaseCreateProcessBo;
import com.qs.serve.modules.seeyon.service.SeeYonService; import com.qs.serve.modules.seeyon.service.SeeYonRequestService;
import com.qs.serve.modules.seeyon.service.XiaoLuTonService; import com.qs.serve.modules.seeyon.service.XiaoLuTonService;
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;
@ -78,11 +80,13 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
private final VtbVerificationSubjectService verificationSubjectService; private final VtbVerificationSubjectService verificationSubjectService;
private final VtbFundFlowService fundFlowService; private final VtbFundFlowService fundFlowService;
private final SeeYonService seeYonService; private final SeeYonRequestService seeYonService;
private final XiaoLuTonService xiaoLuTonService; private final XiaoLuTonService xiaoLuTonService;
private final SysUserService sysUserService; private final SysUserService sysUserService;
private final PayWayMapper payWayMapper;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void release(Long activityId) { public void release(Long activityId) {
@ -201,6 +205,13 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
Assert.throwEx("当前费用状态不支持"); Assert.throwEx("当前费用状态不支持");
} }
//协议类申请 //协议类申请
PayWay payWay = null;
if(verificationBo.getPayWayId()!=null){
payWay = payWayMapper.selectById(verificationBo.getPayWayId());
}
if(payWay==null){
Assert.throwEx("请选择支付方式");
}
boolean cotractFlag = costApply.getContractFlag().equals(1); boolean cotractFlag = costApply.getContractFlag().equals(1);
if(cotractFlag){ if(cotractFlag){
if(verificationBo.getPayConditionId()==null){ if(verificationBo.getPayConditionId()==null){
@ -250,6 +261,8 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
verification.setUserCode(sysUser.getCode()); verification.setUserCode(sysUser.getCode());
verification.setUserName(sysUser.getName()); verification.setUserName(sysUser.getName());
verification.setRemark(verificationBo.getRemark()); verification.setRemark(verificationBo.getRemark());
verification.setWayId(payWay.getId());
verification.setWayTitle(payWay.getTitle());
List<VtbVerificationChannelBo> channelBoList = verificationBo.getChannelList(); List<VtbVerificationChannelBo> channelBoList = verificationBo.getChannelList();
List<VtbVerificationChannelPointBo> pointBoList = verificationBo.getPointList(); List<VtbVerificationChannelPointBo> pointBoList = verificationBo.getPointList();
List<VtbVerificationChannel> vtbVerificationChannelList = new ArrayList<>(); List<VtbVerificationChannel> vtbVerificationChannelList = new ArrayList<>();

Loading…
Cancel
Save