Browse Source

新增后继成本中心;修复部分异常

contract
Yen 2 years ago
parent
commit
1137fdd2b3
  1. 141
      src/main/java/com/qs/serve/modules/bms/controller/BmsCenterExtendController.java
  2. 147
      src/main/java/com/qs/serve/modules/bms/entity/BmsCenterExtend.java
  3. 144
      src/main/java/com/qs/serve/modules/bms/entity/BmsCenterExtendUser.java
  4. 68
      src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCenterExtendBo.java
  5. 55
      src/main/java/com/qs/serve/modules/bms/entity/so/BmsCenterExtendSo.java
  6. 3
      src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierSo.java
  7. 14
      src/main/java/com/qs/serve/modules/bms/mapper/BmsCenterExtendMapper.java
  8. 14
      src/main/java/com/qs/serve/modules/bms/mapper/BmsCenterExtendUserMapper.java
  9. 27
      src/main/java/com/qs/serve/modules/bms/service/BmsCenterExtendService.java
  10. 14
      src/main/java/com/qs/serve/modules/bms/service/BmsCenterExtendUserService.java
  11. 320
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendServiceImpl.java
  12. 22
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendUserServiceImpl.java
  13. 91
      src/main/java/com/qs/serve/modules/check/entity/ExcelCheckApplyMain.java
  14. 12
      src/main/java/com/qs/serve/modules/goods/entity/dto/TbsCenterDto.java
  15. 91
      src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java
  16. 76
      src/main/java/com/qs/serve/modules/pay/controller/my/PayPaymentMyController.java
  17. 8
      src/main/java/com/qs/serve/modules/tbs/service/TbsCenterDtoService.java
  18. 1
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  19. 2
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  20. 10
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbFundFlowServiceImpl.java

141
src/main/java/com/qs/serve/modules/bms/controller/BmsCenterExtendController.java

@ -0,0 +1,141 @@
package com.qs.serve.modules.bms.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.annotation.SysLog;
import com.qs.serve.common.model.dto.PageVo;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.common.model.enums.BizType;
import com.qs.serve.common.model.enums.SystemModule;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsCenterExtendUser;
import com.qs.serve.modules.bms.entity.bo.BmsCenterExtendBo;
import com.qs.serve.modules.bms.service.BmsCenterExtendUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import com.qs.serve.modules.bms.entity.so.BmsCenterExtendSo;
import com.qs.serve.modules.bms.entity.BmsCenterExtend;
import com.qs.serve.modules.bms.service.BmsCenterExtendService;
import javax.validation.Valid;
import java.util.List;
/**
* 基础档案 后继成本中心
* @author YenHex
* @since 2023-05-30
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("bms/centerExtend")
public class BmsCenterExtendController {
private BmsCenterExtendService bmsCenterExtendService;
private BmsCenterExtendUserService bmsCenterExtendUserService;
/**
* 列表
* @param param
* @return
*/
//@GetMapping("/list")
@PreAuthorize("hasRole('bms:centerExtend:query')")
public R<List<BmsCenterExtend>> getList(BmsCenterExtendSo param){
BmsCenterExtend entity = CopierUtil.copy(param,new BmsCenterExtend());
LambdaQueryWrapper<BmsCenterExtend> lqw = new LambdaQueryWrapper<>(entity);
List<BmsCenterExtend> list = bmsCenterExtendService.list(lqw);
return R.ok(list);
}
/**
* 翻页
* @param param
* @return
*/
@GetMapping("/page")
public R<PageVo<BmsCenterExtend>> getPage(BmsCenterExtendSo param){
BmsCenterExtend entity = CopierUtil.copy(param,new BmsCenterExtend());
LambdaQueryWrapper<BmsCenterExtend> lqw = new LambdaQueryWrapper<>(entity);
PageUtil.startPage();
List<BmsCenterExtend> list = bmsCenterExtendService.list(lqw);
for (BmsCenterExtend centerExtend : list) {
LambdaQueryWrapper<BmsCenterExtend> childLqw = new LambdaQueryWrapper<>();
childLqw.eq(BmsCenterExtend::getSourceId,centerExtend.getId());
List<BmsCenterExtend> childList = bmsCenterExtendService.list(childLqw);
/*for (BmsCenterExtend childExt : childList) {
LambdaQueryWrapper<BmsCenterExtendUser> userLqw = new LambdaQueryWrapper<>();
userLqw.eq(BmsCenterExtendUser::getChildExtId,childExt.getId());
List<BmsCenterExtendUser> userList = bmsCenterExtendUserService.list(userLqw);
childExt.setUserList(userList);
}*/
centerExtend.setChildList(childList);
}
return R.byPageHelperList(list);
}
/**
* ID查询
* @param id
* @return
*/
@GetMapping("/getById/{id}")
@SysLog(module = SystemModule.BASE, title = "后继成本中心", biz = BizType.QUERY)
public R<BmsCenterExtend> getById(@PathVariable("id") String id){
BmsCenterExtend centerExtend = bmsCenterExtendService.getById(id);
LambdaQueryWrapper<BmsCenterExtend> childLqw = new LambdaQueryWrapper<>();
childLqw.eq(BmsCenterExtend::getSourceId,centerExtend.getId());
List<BmsCenterExtend> childList = bmsCenterExtendService.list(childLqw);
for (BmsCenterExtend childExt : childList) {
LambdaQueryWrapper<BmsCenterExtendUser> userLqw = new LambdaQueryWrapper<>();
userLqw.eq(BmsCenterExtendUser::getChildExtId,childExt.getId());
List<BmsCenterExtendUser> userList = bmsCenterExtendUserService.list(userLqw);
childExt.setUserList(userList);
}
centerExtend.setChildList(childList);
return R.ok(centerExtend);
}
/**
* 保存均摊
* @param param
* @return
*/
@PostMapping("/allocation4Save")
@SysLog(module = SystemModule.BASE, title = "后继成本中心", biz = BizType.INSERT)
public R<?> allocation(BmsCenterExtendBo param){
BmsCenterExtend detail = bmsCenterExtendService.allocation(param);
return R.ok(detail);
}
/**
* 更新均摊加删除子节点
* @param param
* @return
*/
@PostMapping("/allocation4Update")
@SysLog(module = SystemModule.BASE, title = "后继成本中心", biz = BizType.UPDATE)
public R<?> allocation4Update(BmsCenterExtendBo param){
bmsCenterExtendService.allocation4Update(param);
return R.ok();
}
/**
* 删除均摊关系并恢复到未继承状态
* @param id
* @return
*/
@DeleteMapping("/deleteAndReply/{id}")
@SysLog(module = SystemModule.BASE, title = "后继成本中心", biz = BizType.UPDATE)
public R<?> delete(@PathVariable("id") Long id){
bmsCenterExtendService.deleteAndReply(id);
return R.ok();
}
}

147
src/main/java/com/qs/serve/modules/bms/entity/BmsCenterExtend.java

@ -0,0 +1,147 @@
package com.qs.serve.modules.bms.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;
import java.util.List;
/**
* 后继成本中心 实体类
* @author YenHex
* @since 2023-05-30
*/
@Data
@TableName("bms_center_extend")
public class BmsCenterExtend implements Serializable {
private static final long serialVersionUID = 1L;
/** 编号 */
@TableId(type = IdType.AUTO)
private Long id;
/** 来源id */
@NotNull(message = "来源id不能为空")
private Long sourceId;
/** 成本中心类型 */
@NotBlank(message = "成本中心类型不能为空")
@Length(max = 255,message = "成本中心类型长度不能超过255字")
private String centerType;
/** 祖级id */
private String pathIds;
/** 成本中心id */
@NotBlank(message = "成本中心id不能为空")
@Length(max = 32,message = "成本中心id长度不能超过32字")
private String centerId;
/** 成本中心编码 */
@NotBlank(message = "成本中心编码不能为空")
@Length(max = 50,message = "成本中心编码长度不能超过50字")
private String centerCode;
/** 成本中心名称 */
@NotBlank(message = "成本中心名称不能为空")
@Length(max = 200,message = "成本中心名称长度不能超过200字")
private String centerName;
/** 开始时间 */
@NotNull(message = "开始时间不能为空")
@Length(max = 0,message = "开始时间长度不能超过0字")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime startTime;
/** 结束时间 */
@Length(max = 0,message = "结束时间长度不能超过0字")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private LocalDateTime stopTime;
/** 结束标识 */
@NotNull(message = "结束标识不能为空")
private Integer stopFlag;
/** 权重 */
@NotNull(message = "权重不能为空")
private BigDecimal weightRate;
/** 备注 */
@Length(max = 600,message = "备注长度不能超过600字")
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;
/** 子列表 */
@TableField(exist = false)
private List<?> childList;
/** 人员列表 */
@TableField(exist = false)
private List<?> userList;
public static BmsCenterExtend toNewObject(BmsCenterExtend source){
BmsCenterExtend centerExtend = new BmsCenterExtend();
centerExtend.setId(source.getId());
centerExtend.setSourceId(source.getSourceId());
centerExtend.setCenterType(source.getCenterType());
centerExtend.setCenterId(source.getCenterId());
centerExtend.setCenterCode(source.getCenterCode());
centerExtend.setCenterName(source.getCenterName());
centerExtend.setStartTime(source.getStartTime());
centerExtend.setStopTime(source.getStopTime());
centerExtend.setStopFlag(source.getStopFlag());
centerExtend.setWeightRate(source.getWeightRate());
centerExtend.setRemark(source.getRemark());
centerExtend.setCreateTime(source.getCreateTime());
centerExtend.setUpdateTime(source.getUpdateTime());
centerExtend.setTenantId(source.getTenantId());
centerExtend.setCreateBy(source.getCreateBy());
centerExtend.setUpdateBy(source.getUpdateBy());
centerExtend.setDelFlag(source.getDelFlag());
return centerExtend;
}
}

144
src/main/java/com/qs/serve/modules/bms/entity/BmsCenterExtendUser.java

@ -0,0 +1,144 @@
package com.qs.serve.modules.bms.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-31
*/
@Data
@TableName("bms_center_extend_user")
public class BmsCenterExtendUser implements Serializable {
private static final long serialVersionUID = 1L;
/** 编号 */
@TableId(type = IdType.AUTO)
private Long id;
/** 子继承id */
@NotNull(message = "子继承id不能为空")
private Long childExtId;
/** 来源id */
@NotNull(message = "来源id不能为空")
private Long sourceId;
/** 祖级id */
@NotBlank(message = "祖级id不能为空")
@Length(max = 2000,message = "祖级id长度不能超过2000字")
private String pathIds;
/** 成本中心类型 */
@NotBlank(message = "成本中心类型不能为空")
@Length(max = 255,message = "成本中心类型长度不能超过255字")
private String centerType;
/** 成本中心id */
@NotBlank(message = "成本中心id不能为空")
@Length(max = 32,message = "成本中心id长度不能超过32字")
private String centerId;
/** 成本中心编码 */
@NotBlank(message = "成本中心编码不能为空")
@Length(max = 50,message = "成本中心编码长度不能超过50字")
private String centerCode;
/** 成本中心名称 */
@NotBlank(message = "成本中心名称不能为空")
@Length(max = 200,message = "成本中心名称长度不能超过200字")
private String centerName;
/** */
@NotBlank(message = "不能为空")
@Length(max = 255,message = "长度不能超过255字")
private String userId;
/** */
@Length(max = 255,message = "长度不能超过255字")
private String userCode;
/** */
@Length(max = 255,message = "长度不能超过255字")
private String userName;
/** 权重 */
@NotNull(message = "权重不能为空")
private BigDecimal weightRate;
/** 备注 */
@Length(max = 600,message = "备注长度不能超过600字")
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 BmsCenterExtendUser toNewObject(BmsCenterExtendUser source){
BmsCenterExtendUser centerExtendUser = new BmsCenterExtendUser();
centerExtendUser.setId(source.getId());
centerExtendUser.setChildExtId(source.getChildExtId());
centerExtendUser.setSourceId(source.getSourceId());
centerExtendUser.setPathIds(source.getPathIds());
centerExtendUser.setCenterType(source.getCenterType());
centerExtendUser.setCenterId(source.getCenterId());
centerExtendUser.setCenterCode(source.getCenterCode());
centerExtendUser.setCenterName(source.getCenterName());
centerExtendUser.setUserId(source.getUserId());
centerExtendUser.setUserCode(source.getUserCode());
centerExtendUser.setUserName(source.getUserName());
centerExtendUser.setWeightRate(source.getWeightRate());
centerExtendUser.setRemark(source.getRemark());
centerExtendUser.setCreateTime(source.getCreateTime());
centerExtendUser.setUpdateTime(source.getUpdateTime());
centerExtendUser.setTenantId(source.getTenantId());
centerExtendUser.setCreateBy(source.getCreateBy());
centerExtendUser.setUpdateBy(source.getUpdateBy());
centerExtendUser.setDelFlag(source.getDelFlag());
return centerExtendUser;
}
}

68
src/main/java/com/qs/serve/modules/bms/entity/bo/BmsCenterExtendBo.java

@ -0,0 +1,68 @@
package com.qs.serve.modules.bms.entity.bo;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* @author YenHex
* @since 2023/5/30
*/
@Data
public class BmsCenterExtendBo {
/**
* 后继成本中心id(仅用于更新)
*/
Long id;
/** 成本中心类型(更新可忽略)
center,
customer,
bizRegion,
saleRegion,
*/
String type;
String sourceCenterId;
List<Item> targetCenters;
@Data
public static class Item{
/**
* 后继成本中心id(仅用于更新)
*/
Long id;
/**
* 权重
*/
BigDecimal weightRate;
String targetCenterId;
/**
* 当值=1更新用户列表(仅用于更新)
*/
Integer updateUserListFlag;
List<AllocationUser> userList;
}
@Data
public static class AllocationUser{
/**
* 权重
*/
BigDecimal weightRate;
String userId;
}
}

55
src/main/java/com/qs/serve/modules/bms/entity/so/BmsCenterExtendSo.java

@ -0,0 +1,55 @@
package com.qs.serve.modules.bms.entity.so;
import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
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-30
*/
@Data
public class BmsCenterExtendSo implements Serializable {
private static final long serialVersionUID = 1L;
/** 来源id */
private Long sourceId;
/** 成本中心类型 */
private String centerType;
/** 成本中心id */
private String centerId;
/** 成本中心编码 */
private String centerCode;
/** 成本中心名称 */
private String centerName;
/** 开始时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
/** 结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime stopTime;
/** 结束标识 */
private Integer stopFlag;
}

3
src/main/java/com/qs/serve/modules/bms/entity/so/BmsSupplierSo.java

@ -44,5 +44,8 @@ public class BmsSupplierSo implements Serializable {
/** 生成费用结束时间 */
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime queryEndTime;
private Integer loadChild;
}

14
src/main/java/com/qs/serve/modules/bms/mapper/BmsCenterExtendMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.bms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.bms.entity.BmsCenterExtend;
/**
* 后继成本中心 Mapper
* @author YenHex
* @date 2023-05-30
*/
public interface BmsCenterExtendMapper extends BaseMapper<BmsCenterExtend> {
}

14
src/main/java/com/qs/serve/modules/bms/mapper/BmsCenterExtendUserMapper.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.bms.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qs.serve.modules.bms.entity.BmsCenterExtendUser;
/**
* 后继负责人 Mapper
* @author YenHex
* @date 2023-05-31
*/
public interface BmsCenterExtendUserMapper extends BaseMapper<BmsCenterExtendUser> {
}

27
src/main/java/com/qs/serve/modules/bms/service/BmsCenterExtendService.java

@ -0,0 +1,27 @@
package com.qs.serve.modules.bms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.bms.entity.BmsCenterExtend;
import com.qs.serve.modules.bms.entity.bo.BmsCenterExtendBo;
/**
* 后继成本中心 服务接口
* @author YenHex
* @date 2023-05-30
*/
public interface BmsCenterExtendService extends IService<BmsCenterExtend> {
boolean checkIsStop(String type, String centerId);
BmsCenterExtend allocation(BmsCenterExtendBo param);
void allocation4Update(BmsCenterExtendBo param);
/**
* 删除所有均摊节点
* @param id
*/
void deleteAndReply(Long id);
}

14
src/main/java/com/qs/serve/modules/bms/service/BmsCenterExtendUserService.java

@ -0,0 +1,14 @@
package com.qs.serve.modules.bms.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qs.serve.modules.bms.entity.BmsCenterExtendUser;
/**
* 后继负责人 服务接口
* @author YenHex
* @date 2023-05-31
*/
public interface BmsCenterExtendUserService extends IService<BmsCenterExtendUser> {
}

320
src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendServiceImpl.java

@ -0,0 +1,320 @@
package com.qs.serve.modules.bms.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.modules.bms.entity.BmsCenterExtendUser;
import com.qs.serve.modules.bms.entity.BmsCostCenter;
import com.qs.serve.modules.bms.entity.bo.BmsCenterExtendBo;
import com.qs.serve.modules.bms.mapper.*;
import com.qs.serve.modules.bms.service.BmsCenterExtendUserService;
import com.qs.serve.modules.goods.entity.dto.TbsCenterDto;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.mapper.SysUserMapper;
import com.qs.serve.modules.tbs.service.TbsCenterDtoService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import com.qs.serve.modules.bms.entity.BmsCenterExtend;
import com.qs.serve.modules.bms.service.BmsCenterExtendService;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 后继成本中心 服务实现类
* @author YenHex
* @since 2023-05-30
*/
@Slf4j
@Service
@AllArgsConstructor
public class BmsCenterExtendServiceImpl extends ServiceImpl<BmsCenterExtendMapper,BmsCenterExtend> implements BmsCenterExtendService {
private TbsCenterDtoService centerDtoService;
private BmsCenterExtendUserService centerExtendUserService;
private SysUserMapper sysUserMapper;
@Override
public boolean checkIsStop(String type, String centerId) {
LambdaQueryWrapper<BmsCenterExtend> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsCenterExtend::getCenterType,type);
lqw.eq(BmsCenterExtend::getCenterId,centerId);
lqw.eq(BmsCenterExtend::getStopFlag,1);
return this.count(lqw)>0;
}
@Override
@Transactional(rollbackFor = Exception.class)
public BmsCenterExtend allocation(BmsCenterExtendBo param) {
//校验
String type = param.getType();
String centerId = param.getSourceCenterId();
BigDecimal n100 = new BigDecimal("100");
List<BmsCenterExtendBo.Item> targetCenters = param.getTargetCenters();
BigDecimal totalRate = BigDecimal.ZERO;
for (BmsCenterExtendBo.Item center : targetCenters) {
totalRate=totalRate.add(center.getWeightRate());
}
if(totalRate.compareTo(n100)!=0){
Assert.throwEx("权重合计必须百分百");
}
if (this.checkIsStop(type,centerId)){
Assert.throwEx("当前成本中心已分配");
}
TbsCenterDto centerDto = centerDtoService.getCenterDto(type,centerId);
//停止时间
LocalDateTime nowTime = LocalDateTime.now();
//当前节点
BmsCenterExtend currentCenter = new BmsCenterExtend();
currentCenter.setSourceId(0L);
currentCenter.setCenterType(type);
currentCenter.setPathIds("0");
currentCenter.setCenterId(centerId);
currentCenter.setCenterCode(centerDto.getCenterCode());
currentCenter.setCenterName(centerDto.getCenterName());
currentCenter.setStartTime(centerDto.getCreateTime());
currentCenter.setStopTime(nowTime);
currentCenter.setStopFlag(1);
currentCenter.setWeightRate(n100);
this.save(currentCenter);
//历史分摊节点
LambdaQueryWrapper<BmsCenterExtend> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsCenterExtend::getCenterType,param.getType());
lqw.eq(BmsCenterExtend::getCenterId,param.getSourceCenterId());
lqw.eq(BmsCenterExtend::getStopFlag,0);
List<BmsCenterExtend> sourcesCenterList = this.list(lqw);
List<BmsCenterExtend> updList = this.list(lqw);
for (BmsCenterExtend sourceCenter : sourcesCenterList) {
if(sourceCenter.getStopFlag()==0){
BmsCenterExtend centerExtend = new BmsCenterExtend();
centerExtend.setId(sourceCenter.getId());
centerExtend.setStopFlag(1);
centerExtend.setStopTime(nowTime);
updList.add(centerExtend);
}
}
//新的继承节点
for (BmsCenterExtendBo.Item targetCenter : targetCenters) {
TbsCenterDto centerDto2 = centerDtoService.getCenterDto(currentCenter.getCenterType(),targetCenter.getTargetCenterId());
BigDecimal weightRate = currentCenter.getWeightRate()
.multiply(targetCenter.getWeightRate())
.divide(n100);
BmsCenterExtend currentChildCenter = new BmsCenterExtend();
currentChildCenter.setSourceId(currentCenter.getId());
currentChildCenter.setCenterType(currentCenter.getCenterType());
currentChildCenter.setPathIds(currentCenter.getPathIds()+"_"+currentCenter.getId());
currentChildCenter.setCenterId(centerDto2.getId());
currentChildCenter.setCenterCode(centerDto2.getCenterCode());
currentChildCenter.setCenterName(centerDto2.getCenterName());
currentChildCenter.setStartTime(nowTime);
currentChildCenter.setStopFlag(0);
currentChildCenter.setWeightRate(weightRate);
this.save(currentChildCenter);
this.toSaveExtendUser( currentCenter, targetCenter.getUserList(), centerDto2, currentChildCenter.getId());
}
this.updateBatchById(updList);
return currentCenter;
/*//校验
String type = param.getType();
String centerId = param.getSourceCenterId();
BigDecimal n100 = new BigDecimal("100");
List<BmsCenterExtendBo.Item> targetCenters = param.getTargetCenters();
BigDecimal totalRate = BigDecimal.ZERO;
for (BmsCenterExtendBo.Item center : targetCenters) {
totalRate=totalRate.add(center.getWeightRate());
}
if(totalRate.compareTo(n100)!=0){
Assert.throwEx("权重合计必须百分百");
}
if (this.checkIsStop(type,centerId)){
Assert.throwEx("当前成本中心已分配");
}
TbsCenterDto centerDto = centerDtoService.getCenterDto(type,centerId);
//停止时间
LocalDateTime nowTime = LocalDateTime.now();
//当前节点
BmsCenterExtend currentCenter = new BmsCenterExtend();
currentCenter.setSourceId(0L);
currentCenter.setCenterType(type);
currentCenter.setPathIds("0");
currentCenter.setCenterId(centerId);
currentCenter.setCenterCode(centerDto.getCenterCode());
currentCenter.setCenterName(centerDto.getCenterName());
currentCenter.setStartTime(centerDto.getCreateTime());
currentCenter.setStopTime(nowTime);
currentCenter.setStopFlag(1);
currentCenter.setWeightRate(n100);
this.save(currentCenter);
//历史分摊节点
LambdaQueryWrapper<BmsCenterExtend> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsCenterExtend::getCenterType,param.getType());
lqw.eq(BmsCenterExtend::getCenterId,param.getSourceCenterId());
lqw.eq(BmsCenterExtend::getStopFlag,0);
List<BmsCenterExtend> sourcesCenterList = this.list(lqw);
sourcesCenterList.add(currentCenter);
List<BmsCenterExtend> newList = new ArrayList<>();
List<BmsCenterExtend> updList = new ArrayList<>();
for (BmsCenterExtend sourceCenter : sourcesCenterList) {
newList.addAll(buildCenterExtend(sourceCenter,targetCenters,nowTime));
if(sourceCenter.getStopFlag()==0){
BmsCenterExtend centerExtend = new BmsCenterExtend();
centerExtend.setId(sourceCenter.getId());
centerExtend.setStopFlag(1);
centerExtend.setStopTime(nowTime);
updList.add(centerExtend);
}
}
if(CollectionUtil.isNotEmpty(updList)){
this.updateBatchById(updList);
}
this.saveBatch(newList);*/
}
private void toSaveExtendUser(BmsCenterExtend currentCenter, List<BmsCenterExtendBo.AllocationUser> userList, TbsCenterDto centerDto2, Long childExtendId) {
BigDecimal n100 = new BigDecimal("100");
BigDecimal totalUser = BigDecimal.ZERO;
List<BmsCenterExtendUser> extendUserList = new ArrayList<>();
for (BmsCenterExtendBo.AllocationUser allocationUser : userList) {
totalUser.add(allocationUser.getWeightRate());
BmsCenterExtendUser extendUser = new BmsCenterExtendUser();
SysUser sysUser = sysUserMapper.selectById(allocationUser.getUserId());
extendUser.setChildExtId(childExtendId);
extendUser.setSourceId(currentCenter.getId());
extendUser.setCenterType(currentCenter.getCenterType());
extendUser.setPathIds(currentCenter.getPathIds()+"_"+ currentCenter.getId());
extendUser.setCenterId(centerDto2.getId());
extendUser.setCenterCode(centerDto2.getCenterCode());
extendUser.setCenterName(centerDto2.getCenterName());
extendUser.setUserId(sysUser.getId());
extendUser.setUserCode(sysUser.getCode());
extendUser.setUserName(sysUser.getName());
extendUser.setWeightRate(allocationUser.getWeightRate());
extendUserList.add(extendUser);
}
if(totalUser.compareTo(n100)!=0){
Assert.throwEx("["+ centerDto2.getCenterName()+"]人员比例异常");
}
centerExtendUserService.saveBatch(extendUserList);
}
private List<BmsCenterExtend> buildCenterExtend(BmsCenterExtend sourceCenter,List<BmsCenterExtendBo.Item> targetCenters,LocalDateTime nowTime) {
BigDecimal n100 = new BigDecimal("100");
List<BmsCenterExtend> newList = new ArrayList<>();
for (BmsCenterExtendBo.Item targetCenter : targetCenters) {
TbsCenterDto centerDto = centerDtoService.getCenterDto(sourceCenter.getCenterType(),targetCenter.getTargetCenterId());
BigDecimal weightRate = sourceCenter.getWeightRate()
.multiply(sourceCenter.getWeightRate())
.divide(n100);
BmsCenterExtend currentCenter = new BmsCenterExtend();
currentCenter.setSourceId(sourceCenter.getId());
currentCenter.setCenterType(sourceCenter.getCenterType());
currentCenter.setPathIds(sourceCenter.getPathIds()+"_"+sourceCenter.getId());
currentCenter.setCenterId(centerDto.getId());
currentCenter.setCenterCode(centerDto.getCenterCode());
currentCenter.setCenterName(centerDto.getCenterName());
currentCenter.setStartTime(nowTime);
currentCenter.setStopFlag(0);
currentCenter.setWeightRate(weightRate);
newList.add(currentCenter);
}
return newList;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void allocation4Update(BmsCenterExtendBo param) {
String type = param.getType();
String centerId = param.getSourceCenterId();
BigDecimal n100 = new BigDecimal("100");
List<BmsCenterExtendBo.Item> targetCenters = param.getTargetCenters();
BigDecimal totalRate = BigDecimal.ZERO;
for (BmsCenterExtendBo.Item center : targetCenters) {
totalRate=totalRate.add(center.getWeightRate());
}
if(totalRate.compareTo(n100)!=0){
Assert.throwEx("权重合计必须百分百");
}
List<BmsCenterExtendBo.Item> saveExtendBo = targetCenters.stream().filter(a->a.getId()==null).collect(Collectors.toList());
List<BmsCenterExtendBo.Item> updExtendBo = targetCenters.stream().filter(a->a.getId()!=null).collect(Collectors.toList());
List<Long> updateIds = targetCenters.stream().filter(a->a.getId()!=null
).map(a->a.getId()).collect(Collectors.toList());
//新增
BmsCenterExtend currentCenter = this.getById(param.getId());
for (BmsCenterExtendBo.Item item : saveExtendBo) {
//校验是否可添加
if (this.checkIsStop(currentCenter.getCenterType(),item.getTargetCenterId())){
Assert.throwEx("新增的后继成本中心已被停用,请重新选择");
}
TbsCenterDto centerDto2 = centerDtoService.getCenterDto(type,centerId);
BmsCenterExtend currentChildCenter = new BmsCenterExtend();
currentChildCenter.setSourceId(currentCenter.getId());
currentChildCenter.setCenterType(currentCenter.getCenterType());
currentChildCenter.setPathIds(currentCenter.getPathIds()+"_"+currentCenter.getId());
currentChildCenter.setCenterId(centerDto2.getId());
currentChildCenter.setCenterCode(centerDto2.getCenterCode());
currentChildCenter.setCenterName(centerDto2.getCenterName());
currentChildCenter.setStartTime(currentCenter.getStopTime());
currentChildCenter.setStopFlag(0);
currentChildCenter.setWeightRate(item.getWeightRate());
this.save(currentChildCenter);
this.toSaveExtendUser( currentCenter, item.getUserList(), centerDto2, currentChildCenter.getId());
}
//移除
LambdaQueryWrapper<BmsCenterExtend> dellqw = new LambdaQueryWrapper<>();
dellqw.eq(BmsCenterExtend::getCenterType,param.getType());
dellqw.eq(BmsCenterExtend::getCenterId,param.getSourceCenterId());
dellqw.notIn(BmsCenterExtend::getId,updateIds);
this.remove(dellqw);
//更新
LambdaQueryWrapper<BmsCenterExtend> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsCenterExtend::getCenterType,param.getType());
lqw.eq(BmsCenterExtend::getCenterId,param.getSourceCenterId());
lqw.in(BmsCenterExtend::getId,updateIds);
List<BmsCenterExtend> sourcesCenterList = this.list(lqw);
for (BmsCenterExtend centerExtend : sourcesCenterList) {
for (BmsCenterExtendBo.Item item : updExtendBo) {
if(centerExtend.getId().equals(item.getId())){
//匹配更新
centerExtend.setWeightRate(item.getWeightRate());
if(item.getUpdateUserListFlag()!=null&&item.getUpdateUserListFlag().equals(1)){
LambdaQueryWrapper<BmsCenterExtendUser> delUsrLqw = new LambdaQueryWrapper<>();
delUsrLqw.eq(BmsCenterExtendUser::getChildExtId,centerExtend.getId());
centerExtendUserService.remove(delUsrLqw);
//重新保存
TbsCenterDto centerDto2 = centerDtoService.getCenterDto(type,item.getTargetCenterId());
this.toSaveExtendUser( currentCenter, item.getUserList(), centerDto2, centerExtend.getId());
}
}
}
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAndReply(Long id) {
LambdaQueryWrapper<BmsCenterExtendUser> delUsrLqw = new LambdaQueryWrapper<>();
delUsrLqw.eq(BmsCenterExtendUser::getSourceId,id);
centerExtendUserService.remove(delUsrLqw);
LambdaQueryWrapper<BmsCenterExtend> delChildLqw = new LambdaQueryWrapper<>();
delChildLqw.eq(BmsCenterExtend::getSourceId,id);
this.remove(delChildLqw);
this.removeById(id);
}
}

22
src/main/java/com/qs/serve/modules/bms/service/impl/BmsCenterExtendUserServiceImpl.java

@ -0,0 +1,22 @@
package com.qs.serve.modules.bms.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.bms.entity.BmsCenterExtendUser;
import com.qs.serve.modules.bms.service.BmsCenterExtendUserService;
import com.qs.serve.modules.bms.mapper.BmsCenterExtendUserMapper;
/**
* 后继负责人 服务实现类
* @author YenHex
* @since 2023-05-31
*/
@Slf4j
@Service
@AllArgsConstructor
public class BmsCenterExtendUserServiceImpl extends ServiceImpl<BmsCenterExtendUserMapper,BmsCenterExtendUser> implements BmsCenterExtendUserService {
}

91
src/main/java/com/qs/serve/modules/check/entity/ExcelCheckApplyMain.java

@ -0,0 +1,91 @@
package com.qs.serve.modules.check.entity;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* 对账单
* @author YenHex
* @since 2023/5/30
*/
@Data
public class ExcelCheckApplyMain {
/**
* 已批准(费用申请)
*/
private BigDecimal costApplyAmt;
/**
* 已核销
*/
private BigDecimal checkedAmt;
/**
* 申请中
*/
private BigDecimal checkingAmt;
/**
* 未申请
*/
private BigDecimal notCheckAmt;
/**
* 不予核销
*/
private BigDecimal dontCheckAmt;
/**
* 已支付
*/
private BigDecimal payAmt;
/**
* 待支付
*/
private BigDecimal unPayAmt;
/**
* 不再支付
*/
private BigDecimal notPayAmt;
/**
* 客户名
*/
private String cusName;
/**
* 客户地址
*/
private String cusAddress;
/**
* 客户编码
*/
private String cusCode;
/**
* 联系人用户
*/
private String contactUser;
/**
* 联系人
*/
private String contactMobile;
/**
* 起始日期
*/
private LocalDate startDate;
/**
* 截止日期
*/
private LocalDate endDate;
}

12
src/main/java/com/qs/serve/modules/goods/entity/dto/TbsCenterDto.java

@ -5,6 +5,7 @@ import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @author YenHex
@ -21,6 +22,8 @@ public class TbsCenterDto {
String centerType;
LocalDateTime createTime;
/** 费用占比率,单位百分位(该成本中心在费用中占比) */
@NotNull(message = "费用占比率不能为空")
private BigDecimal centerRate;
@ -29,10 +32,19 @@ public class TbsCenterDto {
@NotNull(message = "费用占比率不能为空")
private BigDecimal centerAmount;
public TbsCenterDto(String id, String centerCode, String centerName, String centerType,LocalDateTime createTime) {
this.id = id;
this.centerCode = centerCode;
this.centerName = centerName;
this.centerType = centerType;
this.createTime = createTime;
}
public TbsCenterDto(String id, String centerCode, String centerName, String centerType) {
this.id = id;
this.centerCode = centerCode;
this.centerName = centerName;
this.centerType = centerType;
}
}

91
src/main/java/com/qs/serve/modules/pay/controller/PayPaymentController.java

@ -14,6 +14,7 @@ import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.so.BmsSupplierSo;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.pay.common.PaymentType;
import com.qs.serve.modules.pay.entity.PayPaymentItem;
import com.qs.serve.modules.pay.entity.bo.PayUnPaymentBo;
@ -22,8 +23,10 @@ import com.qs.serve.modules.pay.entity.dto.PaySupplierAmountDto;
import com.qs.serve.modules.pay.entity.vo.PaySupplierVo;
import com.qs.serve.modules.pay.mapper.PaySupplierMapper;
import com.qs.serve.modules.pay.service.PayPaymentItemService;
import com.qs.serve.modules.sys.service.SysPostUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -38,7 +41,7 @@ import java.util.List;
import java.util.stream.Collectors;
/**
* 支付
* 支付 支付记录
* @author YenHex
* @since 2022-12-15
*/
@ -64,50 +67,56 @@ public class PayPaymentController {
PageUtil.startPage();
List<BmsSupplier> list = bmsSupplierService.list(lqw);
if(CollectionUtil.isNotEmpty(list)){
List<String> supplierIds = list.stream().map(BmsSupplier::getId).collect(Collectors.toList());
List<PaySupplierAmountDto> costAmountList = paySupplierMapper.sumCostAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime());
List<PaySupplierAmountDto> payAmountList = paySupplierMapper.sumPayAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime());
List<PaySupplierAmountDto> unPayAmountList = paySupplierMapper.sumUnPayAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime());
List<PaySupplierAmountDto> checkAmountList = paySupplierMapper.sumCheckAmount(supplierIds,paramSo.getQueryStartTime(),paramSo.getQueryEndTime());
List<PaySupplierVo> supplierVoList = list.stream().map(supplier -> {
Long supplierId = Long.parseLong(supplier.getId());
PaySupplierVo supplierVo = new PaySupplierVo();
supplierVo.setSupplierId(supplierId);
supplierVo.setSupplierCode(supplier.getCode());
supplierVo.setSupplierName(supplier.getName());
supplierVo.setSumAmountOfPay(BigDecimal.ZERO);
supplierVo.setSumAmountOfCost(BigDecimal.ZERO);
supplierVo.setSumAmountOfCheck(BigDecimal.ZERO);
supplierVo.setSumAmountOfUnPay(BigDecimal.ZERO);
for (PaySupplierAmountDto amountDto : costAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfCost(amountDto.getSumAmount());
break;
}
List<PaySupplierVo> supplierVoList = getPaySupplierVos(paramSo, list);
return R.byPageHelperList(list,supplierVoList);
}
return R.byEmptyList();
}
@NotNull
public List<PaySupplierVo> getPaySupplierVos(BmsSupplierSo paramSo, List<BmsSupplier> list) {
List<String> supplierIds = list.stream().map(BmsSupplier::getId).collect(Collectors.toList());
List<PaySupplierAmountDto> costAmountList = paySupplierMapper.sumCostAmount(supplierIds, paramSo.getQueryStartTime(), paramSo.getQueryEndTime());
List<PaySupplierAmountDto> payAmountList = paySupplierMapper.sumPayAmount(supplierIds, paramSo.getQueryStartTime(), paramSo.getQueryEndTime());
List<PaySupplierAmountDto> unPayAmountList = paySupplierMapper.sumUnPayAmount(supplierIds, paramSo.getQueryStartTime(), paramSo.getQueryEndTime());
List<PaySupplierAmountDto> checkAmountList = paySupplierMapper.sumCheckAmount(supplierIds, paramSo.getQueryStartTime(), paramSo.getQueryEndTime());
List<PaySupplierVo> supplierVoList = list.stream().map(supplier -> {
Long supplierId = Long.parseLong(supplier.getId());
PaySupplierVo supplierVo = new PaySupplierVo();
supplierVo.setSupplierId(supplierId);
supplierVo.setSupplierCode(supplier.getCode());
supplierVo.setSupplierName(supplier.getName());
supplierVo.setSumAmountOfPay(BigDecimal.ZERO);
supplierVo.setSumAmountOfCost(BigDecimal.ZERO);
supplierVo.setSumAmountOfCheck(BigDecimal.ZERO);
supplierVo.setSumAmountOfUnPay(BigDecimal.ZERO);
for (PaySupplierAmountDto amountDto : costAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfCost(amountDto.getSumAmount());
break;
}
for (PaySupplierAmountDto amountDto : checkAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfCheck(amountDto.getSumAmount());
break;
}
}
for (PaySupplierAmountDto amountDto : checkAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfCheck(amountDto.getSumAmount());
break;
}
for (PaySupplierAmountDto amountDto : payAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfPay(amountDto.getSumAmount());
break;
}
}
for (PaySupplierAmountDto amountDto : payAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfPay(amountDto.getSumAmount());
break;
}
for (PaySupplierAmountDto amountDto : unPayAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfUnPay(amountDto.getSumAmount());
break;
}
}
for (PaySupplierAmountDto amountDto : unPayAmountList) {
if(amountDto.getSupplierId().equals(supplierId)){
supplierVo.setSumAmountOfUnPay(amountDto.getSumAmount());
break;
}
return supplierVo;
}).collect(Collectors.toList());
return R.byPageHelperList(list,supplierVoList);
}
return R.byEmptyList();
}
return supplierVo;
}).collect(Collectors.toList());
return supplierVoList;
}
/**

76
src/main/java/com/qs/serve/modules/pay/controller/my/PayPaymentMyController.java

@ -0,0 +1,76 @@
package com.qs.serve.modules.pay.controller.my;
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.CollectionUtil;
import com.qs.serve.common.util.CopierUtil;
import com.qs.serve.common.util.PageUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.entity.so.BmsSupplierSo;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.his.service.HisUserSupplierService;
import com.qs.serve.modules.pay.common.PaymentType;
import com.qs.serve.modules.pay.controller.PayPaymentController;
import com.qs.serve.modules.pay.entity.PayPayment;
import com.qs.serve.modules.pay.entity.PayPaymentItem;
import com.qs.serve.modules.pay.entity.bo.PayPaymentBo;
import com.qs.serve.modules.pay.entity.bo.PayUnPaymentBo;
import com.qs.serve.modules.pay.entity.dto.PayPaymentAmountDto;
import com.qs.serve.modules.pay.entity.dto.PaySupplierAmountDto;
import com.qs.serve.modules.pay.entity.so.PayPaymentSo;
import com.qs.serve.modules.pay.entity.vo.PaySupplierVo;
import com.qs.serve.modules.pay.mapper.PaySupplierMapper;
import com.qs.serve.modules.pay.service.PayPaymentItemService;
import com.qs.serve.modules.pay.service.PayPaymentService;
import com.qs.serve.modules.sys.service.SysPostUserService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.jetbrains.annotations.NotNull;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
/**
* 支付 支付记录我的
* @author YenHex
* @since 2022-12-15
*/
@Slf4j
@AllArgsConstructor
@RestController
@RequestMapping("my/payment")
public class PayPaymentMyController {
private PayPaymentController payPaymentController;
private PayPaymentService payPaymentService;
private PayPaymentItemService paymentItemService;
private BmsSupplierService bmsSupplierService;
private PaySupplierMapper paySupplierMapper;
private HisUserSupplierService hisUserSupplierService;
private SysPostUserService postUserService;
/**
* 客户费用列表
* @return
*/
@GetMapping("supplierPage")
public R<PageVo<PaySupplierVo>> getSupplierPage(BmsSupplierSo paramSo){
BmsSupplier param = CopierUtil.copy(paramSo,new BmsSupplier());
PageVo<BmsSupplier> pageVo = hisUserSupplierService.selectPageSupplier(param);
if(CollectionUtil.isNotEmpty(pageVo.getList())){
List<PaySupplierVo> supplierVoList = payPaymentController.getPaySupplierVos(paramSo, pageVo.getList());
return R.ok(PageVo.initNewList(pageVo,supplierVoList));
}
return R.byEmptyList();
}
}

8
src/main/java/com/qs/serve/modules/tbs/service/TbsCenterDtoService.java

@ -37,16 +37,16 @@ public class TbsCenterDtoService {
public TbsCenterDto getCenterDto(String centerType, String centerId){
if(centerType.equals(TbsCenterType.center.name())){
BmsCostCenter costCenter = costCenterService.getById(centerId);
return new TbsCenterDto(centerId,costCenter.getCode(),costCenter.getName(),centerType);
return new TbsCenterDto(centerId,costCenter.getCode(),costCenter.getName(),centerType,costCenter.getCreateTime());
}else if (centerType.equals(TbsCenterType.customer.name())){
BmsSupplier supplier4Center = supplierService.getById(centerId);
return new TbsCenterDto(centerId,supplier4Center.getCode(),supplier4Center.getName(),centerType);
return new TbsCenterDto(centerId,supplier4Center.getCode(),supplier4Center.getName(),centerType,supplier4Center.getCreateTime());
}else if(centerType.equals(TbsCenterType.saleRegion.name())){
BmsRegion saleRegion = saleRegionService.getById(centerId);
return new TbsCenterDto(centerId,saleRegion.getCode(),saleRegion.getName(),centerType);
return new TbsCenterDto(centerId,saleRegion.getCode(),saleRegion.getName(),centerType,saleRegion.getCreateTime());
}else if (centerType.equals(TbsCenterType.bizRegion.name())){
BmsRegion2 bizRegion = bizRegionService.getById(centerId);
return new TbsCenterDto(centerId,bizRegion.getCode(),bizRegion.getName(),centerType);
return new TbsCenterDto(centerId,bizRegion.getCode(),bizRegion.getName(),centerType,bizRegion.getCreateTime());
}
Assert.throwEx("无法匹配成本中心类型:"+centerType);
return null;

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

@ -126,6 +126,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
data.put("targetId",tbsCostApply.getId()+"");
data.put("targetCode",tbsCostApply.getCode());
data.put("exsp1",TbsSeeYonConst.CostApplyConf.Code());
data.put("cmsLink",IdUtil.getSnowFlakeId());
//添加科目和成本中心
List<TbsActivityCenter> tbsActivityCenters = tbsActivityCenterService.listByCostApplyId(Long.parseLong(id));
List<TbsActivitySubject> tbsActivitySubjects = tbsActivitySubjectService.listByCostApplyId(Long.parseLong(id));

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

@ -282,5 +282,7 @@ public class VtbVerificationController {
return vtbVerificationOperationService.getUnfinished();
}
}

10
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbFundFlowServiceImpl.java

@ -3,6 +3,7 @@ package com.qs.serve.modules.vtb.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.JsonUtil;
import com.qs.serve.modules.tbs.common.TbsActivityState;
import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.mapper.TbsCostApplyMapper;
@ -90,8 +91,13 @@ public class VtbFundFlowServiceImpl extends ServiceImpl<VtbFundFlowMapper,VtbFun
}else {
//判断是否协议类
TbsCostApply costApply = costApplyMapper.selectById(orgActivity.getCostApplyId());
if(costApply.getContractFlag()!=null&&costApply.getContractFlag().equals(1)){
activity.setActivityState(TbsActivityState.STATE_1_Finished);
log.debug("flushActivityAmount.costApply==>{}",costApply);
if(costApply!=null){
if(costApply.getContractFlag()!=null&&costApply.getContractFlag().equals(1)){
activity.setActivityState(TbsActivityState.STATE_1_Finished);
}else {
activity.setActivityState(TbsActivityState.STATE_0_Todo);
}
}else {
activity.setActivityState(TbsActivityState.STATE_0_Todo);
}

Loading…
Cancel
Save