diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/BpmOAReceiptApi.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/BpmOAReceiptApi.java new file mode 100644 index 00000000..c04077e6 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/BpmOAReceiptApi.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.bpm.api.oa; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.BpmOAReceiptDTO; +import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.BpmOAReceiptVO; +import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.ReceiptStatisticsDTO; +import cn.iocoder.yudao.module.bpm.enums.ApiConstants; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; + +import java.time.LocalDateTime; +import java.util.List; + +@FeignClient(name = ApiConstants.NAME) // TODO 芋艿:fallbackFactory = +@Tag(name = "RPC 服务 - 流程实例") +public interface BpmOAReceiptApi { + + String PREFIX = ApiConstants.PREFIX + "/oa/receipt"; + + @GetMapping(PREFIX + "/get-receipt-count") + @Operation(summary = "获得当日回款统计 | 新增金额") + CommonResult getReceiptCount(@RequestParam("relation") String relation); + + @PostMapping(PREFIX + "/getList") + @Operation(summary = "获得回款列表") + CommonResult> getReceiptList(@RequestBody BpmOAReceiptVO respVO); + + @GetMapping(PREFIX + "/get-receipt-statistics") + @Operation(summary = "获得指定用户的回款统计信息") + CommonResult> getContractStatistics(@RequestParam("userId") List userIds, + @RequestParam(name = "createTime", required = false) LocalDateTime[] createTime); +} diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/BpmOAReceiptDTO.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/BpmOAReceiptDTO.java new file mode 100644 index 00000000..8dcc651e --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/BpmOAReceiptDTO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.bpm.api.oa.vo.receipt; + +import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; +import org.springframework.format.annotation.DateTimeFormat; + +import java.math.BigDecimal; +import java.time.LocalDate; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY; + +/** + * @author 符溶馨 + */ +@Schema(description = "管理后台 - 退款申请 请求Request VO") +@Data +@ToString(callSuper = true) +public class BpmOAReceiptDTO { + + @Schema(description = "主键") + private Long id; + + @Schema(description = "客户ID") + private Long customerId; + + @Schema(description = "客户名称") + private String customerName; + + @Schema(description = "合同ID") + private Long contractId; + + @Schema(description = "合同编号") + private String contractNo; + + @Schema(description = "合同名称") + private String contractName; + + @Schema(description = "回款日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY) + private LocalDate returnTime; + + @Schema(description = "回款金额") + private BigDecimal money; + + @Schema(description = "备注") + private String remark; + + @Schema(description = "创建人") + private String createName; + + @Schema(description = "流程实例编号") + private String processInstanceId; + + @Schema(description = "状态-参见 bpm_process_instance_result 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + private Integer result; + + @Schema(description = "上传文件", requiredMode = Schema.RequiredMode.REQUIRED) + private List fileItems; +} diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/BpmOAReceiptVO.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/BpmOAReceiptVO.java new file mode 100644 index 00000000..46932c4e --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/BpmOAReceiptVO.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.bpm.api.oa.vo.receipt; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.Date; +import java.util.List; + +@Schema(description = "BpmOA回款申请流程的VO对象") +@Data +public class BpmOAReceiptVO { + + @Schema(description = "用户编号") + private List userId; + + @Schema(description = "开始时间") + private Date starTime; + + @Schema(description = "结束时间") + private Date endTime; +} diff --git a/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/ReceiptStatisticsDTO.java b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/ReceiptStatisticsDTO.java new file mode 100644 index 00000000..45507fe9 --- /dev/null +++ b/yudao-module-bpm/yudao-module-bpm-api/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/vo/receipt/ReceiptStatisticsDTO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.bpm.api.oa.vo.receipt; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.math.BigDecimal; + +@Schema(description = "管理后台 - 合同审批 请求Request VO") +@Data +public class ReceiptStatisticsDTO { + + @Schema(description = "用户编号") + private Long userId; + + @Schema(description = "今日新增回款金额") + private BigDecimal todayAddMoney; + + @Schema(description = "昨日新增回款金额") + private BigDecimal yesterdayAddMoney; + + @Schema(description = "较昨日百分比 | 金额") + private BigDecimal moneyPercentage; + + @Schema(description = "回款总金额") + private BigDecimal money; +} diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/BpmOAReceiptApiImpl.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/BpmOAReceiptApiImpl.java index 3707e4f4..b1b2fed3 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/BpmOAReceiptApiImpl.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/api/oa/BpmOAReceiptApiImpl.java @@ -5,7 +5,6 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.BpmOAReceiptDTO; import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.BpmOAReceiptVO; import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.ReceiptStatisticsDTO; -import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.contract.ContractStatisticsRespVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.receipt.ReceiptStatisticsVO; import cn.iocoder.yudao.module.bpm.dal.dataobject.oa.BpmOAReceiptDO; import cn.iocoder.yudao.module.bpm.service.oa.BpmOAReceiptService; @@ -13,7 +12,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; - import java.time.LocalDateTime; import java.util.List; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReceiptDO.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReceiptDO.java index c8065dad..94638fa9 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReceiptDO.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/dataobject/oa/BpmOAReceiptDO.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.bpm.dal.dataobject.oa; import cn.iocoder.yudao.framework.common.pojo.UploadUserFile; import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; -import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.refund.BpmOARefundItems; import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAReceiptMapper.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAReceiptMapper.java index 1571ccfd..b3f357ad 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAReceiptMapper.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/dal/mysql/oa/BpmOAReceiptMapper.java @@ -4,8 +4,6 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.framework.mybatis.core.query.MPJLambdaWrapperX; import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.ReceiptStatisticsDTO; -import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.contract.BpmOAContractPageReqVO; -import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.contract.BpmOAContractRespVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.receipt.BpmOAReceiptPageReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.receipt.BpmOAReceiptRespVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.receipt.ReceiptStatisticsVO; diff --git a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReceiptService.java b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReceiptService.java index bd1bf894..4772fb76 100644 --- a/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReceiptService.java +++ b/yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/oa/BpmOAReceiptService.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.bpm.service.oa; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.BpmOAReceiptVO; import cn.iocoder.yudao.module.bpm.api.oa.vo.receipt.ReceiptStatisticsDTO; -import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.contract.BpmOAContractPageReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.receipt.BpmOAReceiptCreateReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.receipt.BpmOAReceiptPageReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.oa.vo.receipt.BpmOAReceiptRespVO;