Browse Source

10-14-工作台图表顺序调整,收款审核人补充

lijianlin/feature-202509231533026-现金管理-收款管理
lijianlin 1 month ago
parent
commit
1cfaf7a662
  1. 11
      src/main/java/com/example/demo/controller/coin/WorkbenchController.java
  2. 1
      src/main/java/com/example/demo/domain/vo/cash/CashCollection.java
  3. 24
      src/main/java/com/example/demo/domain/vo/coin/WorkbenchDayStatistics.java
  4. 2
      src/main/java/com/example/demo/domain/vo/coin/WorkbenchFullStatistics.java
  5. 2
      src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketCard.java
  6. 2
      src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketGraph.java
  7. 23
      src/main/java/com/example/demo/domain/vo/coin/WorkbenchMonthStatistics.java
  8. 32
      src/main/java/com/example/demo/domain/vo/coin/WorkbenchRevenue.java
  9. 2
      src/main/java/com/example/demo/service/coin/WorkbenchService.java
  10. 28
      src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java
  11. 2
      src/main/resources/cashMapper/CashCollectionMapper.xml

11
src/main/java/com/example/demo/controller/coin/WorkbenchController.java

@ -92,5 +92,16 @@ public class WorkbenchController {
WorkbenchCard result =workbenchService.getSingleGraph(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets()); WorkbenchCard result =workbenchService.getSingleGraph(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets());
return ResponseEntity.ok(result); return ResponseEntity.ok(result);
} }
//总营收
@PostMapping("/getTotalRevenue")
public ResponseEntity<WorkbenchCard> getTotalRevenue(@RequestBody WorkbenchCard workbench, @AuthenticationPrincipal Admin admin) {
String account = admin.getAccount();
List<String> markets = workbenchService.getAdminMarket(account);
workbench.setMarkets(markets);
WorkbenchCard result =workbenchService.getTotalRevenue(workbench.getStartDate(),workbench.getEndDate(),workbench.getMarkets());
return ResponseEntity.ok(result);
}
} }

1
src/main/java/com/example/demo/domain/vo/cash/CashCollection.java

@ -57,6 +57,7 @@ public class CashCollection implements Serializable {
private String receivedRemark; //到账备注 private String receivedRemark; //到账备注
private String rejectReason; // 驳回理由 private String rejectReason; // 驳回理由
private String auditId; //审核人id private String auditId; //审核人id
private String auditName; //审核人id
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
private LocalDateTime createTime; private LocalDateTime createTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")

24
src/main/java/com/example/demo/domain/vo/coin/WorkbenchDayStatistics.java

@ -1,24 +0,0 @@
package com.example.demo.domain.vo.coin;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @program: gold-java
* @ClassName WorkbenchDayStatistics
* @description:
* @author: Ethan
* @create: 202510-10 09:46
* @Version 1.0
**/
@Data
public class WorkbenchDayStatistics {
private Date statDate;
private BigDecimal dayRechargePermanent;
private BigDecimal dayRechargeFree;
private BigDecimal dayConsumePermanent;
private BigDecimal dayConsumeFree;
private BigDecimal dayConsumeTask;
}

2
src/main/java/com/example/demo/domain/vo/coin/WorkbenchFullStatistics.java

@ -9,7 +9,7 @@ import java.io.Serializable;
/** /**
* @program: gold-java * @program: gold-java
* @ClassName WorkbenchFullStatistics * @ClassName WorkbenchFullStatistics
* @description:
* @description: 工作台全量统计
* @author: Ethan * @author: Ethan
* @create: 202507-03 13:46 * @create: 202507-03 13:46
* @Version 1.0 * @Version 1.0

2
src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketCard.java

@ -11,7 +11,7 @@ import java.util.Date;
/** /**
* @program: gold-java * @program: gold-java
* @ClassName WorkbenchMarketCard * @ClassName WorkbenchMarketCard
* @description:
* @description: 工作台卡片数据
* @author: Ethan * @author: Ethan
* @create: 202506-25 16:20 * @create: 202506-25 16:20
* @Version 1.0 * @Version 1.0

2
src/main/java/com/example/demo/domain/vo/coin/WorkbenchMarketGraph.java

@ -11,7 +11,7 @@ import java.util.Date;
/** /**
* @program: gold-java * @program: gold-java
* @ClassName WorkbenchMarketGraph * @ClassName WorkbenchMarketGraph
* @description:
* @description: 工作台图表
* @author: Ethan * @author: Ethan
* @create: 202507-03 10:16 * @create: 202507-03 10:16
* @Version 1.0 * @Version 1.0

23
src/main/java/com/example/demo/domain/vo/coin/WorkbenchMonthStatistics.java

@ -1,23 +0,0 @@
package com.example.demo.domain.vo.coin;
import lombok.Data;
import java.math.BigDecimal;
/**
* @program: gold-java
* @ClassName WorkbenchMonthStatistics
* @description:
* @author: Ethan
* @create: 202510-10 09:46
* @Version 1.0
**/
@Data
public class WorkbenchMonthStatistics {
private String month;
private BigDecimal monthRechargePermanent;
private BigDecimal monthRechargeFree;
private BigDecimal monthConsumePermanent;
private BigDecimal monthConsumeFree;
private BigDecimal monthConsumeTask;
}

32
src/main/java/com/example/demo/domain/vo/coin/WorkbenchRevenue.java

@ -0,0 +1,32 @@
package com.example.demo.domain.vo.coin;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.poi.hpsf.Decimal;
import java.io.Serializable;
/**
* @program: gold-java
* @ClassName WorkbenchRevenue
* @description: //工作台营收
* @author: Ethan
* @create: 202510-14 10:01
* @Version 1.0
**/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class WorkbenchRevenue implements Serializable {
private String market; //地区
private Decimal TotalSGD; //总营收新币
private Decimal SGD ; //新币
private Decimal MYR; //马币
private Decimal HKD; //港币
private Decimal USD; //美元
private Decimal THB; //泰铢
private Decimal VDN; //越南盾
private Decimal KRW; //韩元
private Decimal CAD; //加币
}

2
src/main/java/com/example/demo/service/coin/WorkbenchService.java

@ -45,4 +45,6 @@ public interface WorkbenchService {
Date getStartOfWeek(Date date); Date getStartOfWeek(Date date);
//获取单一市场的工作台图表 //获取单一市场的工作台图表
WorkbenchCard getSingleGraph(Date startDate, Date endDate, List<String> markets); WorkbenchCard getSingleGraph(Date startDate, Date endDate, List<String> markets);
//获取总营收
WorkbenchCard getTotalRevenue(Date startDate, Date endDate, List<String> markets);
} }

28
src/main/java/com/example/demo/serviceImpl/coin/WorkbenchServiceImpl.java

@ -60,11 +60,28 @@ public class WorkbenchServiceImpl implements WorkbenchService {
//判断是否是总部 //判断是否是总部
if (list != null && list.contains("总部")||market.equals("研发部")) { if (list != null && list.contains("总部")||market.equals("研发部")) {
List<String> allMarkets = workBenchMapper.getMarket(); // 获取所有地区 List<String> allMarkets = workBenchMapper.getMarket(); // 获取所有地区
allMarkets.remove("总部"); // 先移除可能存在的总部
allMarkets.add(0, "总部"); // 将总部添加到列表第一位
list = allMarkets; // 更新list
allMarkets.remove("总部");
// 固定顺序
List<String> fixed = Arrays.asList(
"新加坡", "马来西亚", "香港", "加拿大", "泰国", "越南HCM", "韩国", "未知"
);
// 先放固定顺序存在的才放
List<String> result = new ArrayList<>();
for (String m : fixed) {
if (allMarkets.contains(m)) result.add(m);
}
// 其余按字母序追加
allMarkets.removeAll(fixed);
Collections.sort(allMarkets);
result.addAll(allMarkets);
return result;
} }
return list; return list;
} catch (Exception e) { } catch (Exception e) {
// 记录日志 // 记录日志
log.error("获取地区权限失败", e); log.error("获取地区权限失败", e);
@ -392,6 +409,11 @@ public class WorkbenchServiceImpl implements WorkbenchService {
return new WorkbenchCard(new ArrayList<>(), list, markets, startDate, endDate, 0, 0, new Date()); return new WorkbenchCard(new ArrayList<>(), list, markets, startDate, endDate, 0, 0, new Date());
} }
} }
//获取总营收
@Override
public WorkbenchCard getTotalRevenue(Date startDate, Date endDate, List<String> markets) {
return null;
}
//获取最近的更新时间 //获取最近的更新时间
private Date findLatestUpdateTime(List<Statistics> statsList) { private Date findLatestUpdateTime(List<Statistics> statsList) {

2
src/main/resources/cashMapper/CashCollectionMapper.xml

@ -75,7 +75,7 @@
cr.received_currency,cr.received_amount,cr.handling_charge, cr.received_currency,cr.received_amount,cr.handling_charge,
cr.received_market,cr.pay_type,cr.pay_time,cr.received_time, cr.received_market,cr.pay_type,cr.pay_time,cr.received_time,
cr.status,cr.submitter_id,cr.voucher,cr.remark,cr.reject_reason, cr.status,cr.submitter_id,cr.voucher,cr.remark,cr.reject_reason,
cr.create_time,cr.update_time,cr.audit_time,
cr.audit_id,cr.create_time,cr.update_time,cr.audit_time,
a1.admin_name as submitterName, a1.admin_name as submitterName,
a2.admin_name as auditName a2.admin_name as auditName

Loading…
Cancel
Save