diff --git a/ruoyi-common/ruoyi-common-redis/pom.xml b/ruoyi-common/ruoyi-common-redis/pom.xml
index 8d6d8ee4..47a12387 100644
--- a/ruoyi-common/ruoyi-common-redis/pom.xml
+++ b/ruoyi-common/ruoyi-common-redis/pom.xml
@@ -28,6 +28,11 @@
com.ruoyi
ruoyi-common-core
-
+
+ redis.clients
+ jedis
+ 3.2.0
+
+
\ No newline at end of file
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/BusiChartController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/BusiChartController.java
new file mode 100644
index 00000000..789aa0ab
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/BusiChartController.java
@@ -0,0 +1,98 @@
+package com.ruoyi.system.controller;
+
+import com.ruoyi.common.core.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.web.controller.BaseController;
+import com.ruoyi.common.core.web.domain.AjaxResult;
+import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.log.annotation.Log;
+import com.ruoyi.common.log.enums.BusinessType;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
+import com.ruoyi.system.domain.BusiChart;
+import com.ruoyi.system.service.IBusiChartService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 测试图Controller
+ *
+ * @author ruoyi
+ * @date 2023-07-21
+ */
+@RestController
+@RequestMapping("/chart")
+public class BusiChartController extends BaseController
+{
+ @Autowired
+ private IBusiChartService busiChartService;
+
+ /**
+ * 查询测试图列表
+ */
+ @RequiresPermissions("system:chart:list")
+ @GetMapping("/list")
+ public TableDataInfo list(BusiChart busiChart)
+ {
+ startPage();
+ List list = busiChartService.selectBusiChartList(busiChart);
+ return getDataTable(list);
+ }
+
+ /**
+ * 导出测试图列表
+ */
+ @RequiresPermissions("system:chart:export")
+ @Log(title = "测试图", businessType = BusinessType.EXPORT)
+ @PostMapping("/export")
+ public void export(HttpServletResponse response, BusiChart busiChart)
+ {
+ List list = busiChartService.selectBusiChartList(busiChart);
+ ExcelUtil util = new ExcelUtil(BusiChart.class);
+ util.exportExcel(response, list, "测试图数据");
+ }
+
+ /**
+ * 获取测试图详细信息
+ */
+ @RequiresPermissions("system:chart:query")
+ @GetMapping(value = "/{id}")
+ public AjaxResult getInfo(@PathVariable("id") Long id)
+ {
+ return success(busiChartService.selectBusiChartById(id));
+ }
+
+ /**
+ * 新增测试图
+ */
+ @RequiresPermissions("system:chart:add")
+ @Log(title = "测试图", businessType = BusinessType.INSERT)
+ @PostMapping
+ public AjaxResult add(@RequestBody BusiChart busiChart)
+ {
+ return toAjax(busiChartService.insertBusiChart(busiChart));
+ }
+
+ /**
+ * 修改测试图
+ */
+ @RequiresPermissions("system:chart:edit")
+ @Log(title = "测试图", businessType = BusinessType.UPDATE)
+ @PutMapping
+ public AjaxResult edit(@RequestBody BusiChart busiChart)
+ {
+ return toAjax(busiChartService.updateBusiChart(busiChart));
+ }
+
+ /**
+ * 删除测试图
+ */
+ @RequiresPermissions("system:chart:remove")
+ @Log(title = "测试图", businessType = BusinessType.DELETE)
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids)
+ {
+ return toAjax(busiChartService.deleteBusiChartByIds(ids));
+ }
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/BusiChart.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/BusiChart.java
new file mode 100644
index 00000000..b10da06e
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/BusiChart.java
@@ -0,0 +1,138 @@
+package com.ruoyi.system.domain;
+
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.Date;
+
+/**
+ * 测试图对象 busi_chart
+ *
+ * @author ruoyi
+ * @date 2023-07-21
+ */
+public class BusiChart extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** $column.columnComment */
+ private Long id;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Long amount;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String name;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String deptId;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String gender;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String fundType;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private Date buyingTime;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String busiChartcol;
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+ public void setAmount(Long amount)
+ {
+ this.amount = amount;
+ }
+
+ public Long getAmount()
+ {
+ return amount;
+ }
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+ public void setDeptId(String deptId)
+ {
+ this.deptId = deptId;
+ }
+
+ public String getDeptId()
+ {
+ return deptId;
+ }
+ public void setGender(String gender)
+ {
+ this.gender = gender;
+ }
+
+ public String getGender()
+ {
+ return gender;
+ }
+ public void setFundType(String fundType)
+ {
+ this.fundType = fundType;
+ }
+
+ public String getFundType()
+ {
+ return fundType;
+ }
+ public void setBuyingTime(Date buyingTime)
+ {
+ this.buyingTime = buyingTime;
+ }
+
+ public Date getBuyingTime()
+ {
+ return buyingTime;
+ }
+ public void setBusiChartcol(String busiChartcol)
+ {
+ this.busiChartcol = busiChartcol;
+ }
+
+ public String getBusiChartcol()
+ {
+ return busiChartcol;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("amount", getAmount())
+ .append("createTime", getCreateTime())
+ .append("name", getName())
+ .append("deptId", getDeptId())
+ .append("gender", getGender())
+ .append("fundType", getFundType())
+ .append("buyingTime", getBuyingTime())
+ .append("busiChartcol", getBusiChartcol())
+ .toString();
+ }
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/TcTrequest.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/TcTrequest.java
new file mode 100644
index 00000000..10b223d5
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/TcTrequest.java
@@ -0,0 +1,1012 @@
+package com.ruoyi.system.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.core.annotation.Excel;
+import com.ruoyi.common.core.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 交易申请对象 tc_trequest
+ *
+ * @author ruoyi
+ * @date 2023-07-26
+ */
+public class TcTrequest extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 租户id */
+ private String vcTenantId;
+
+ /** 申请编号 */
+ private String vcRequestNo;
+
+ /** 基金账号 */
+ @Excel(name = "基金账号")
+ private String vcFundAcco;
+
+ /** 交易账号 */
+ @Excel(name = "交易账号")
+ private String vcTradeAcco;
+
+ /** 申请日期 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date vcRequestDate;
+
+ /** 申请时间 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd")
+ private Date vcRequestTime;
+
+ /** 业务代码 */
+ @Excel(name = "业务代码")
+ private String cBusinFlag;
+
+ /** 产品代码 */
+ @Excel(name = "产品代码")
+ private String vcProductCode;
+
+ /** 份额类别 */
+ @Excel(name = "份额类别")
+ private String cShareType;
+
+ /** 委托方式 */
+ @Excel(name = "委托方式")
+ private String cTrust;
+
+ /** 申请金额 */
+ @Excel(name = "申请金额")
+ private BigDecimal enBalance;
+
+ /** 申请份额 */
+ @Excel(name = "申请份额")
+ private BigDecimal enShare;
+
+ /** 折扣率 */
+ @Excel(name = "折扣率")
+ private BigDecimal enDiscount;
+
+ /** 后收费折扣 */
+ @Excel(name = "后收费折扣")
+ private BigDecimal enEndDiscount;
+
+ /** 补差费折扣 */
+ @Excel(name = "补差费折扣")
+ private BigDecimal enOtherDiscount;
+
+ /** 发送状态 */
+ @Excel(name = "发送状态")
+ private String cSendState;
+
+ /** 申清校验 */
+ @Excel(name = "申清校验")
+ private String cTradeState;
+
+ /** 确认标志 */
+ @Excel(name = "确认标志")
+ private String cConfirmFlag;
+
+ /** 确认份额 */
+ @Excel(name = "确认份额")
+ private BigDecimal enConfirmShare;
+
+ /** 确认金额 */
+ @Excel(name = "确认金额")
+ private BigDecimal enConfirmBala;
+
+ /** 预约日期 */
+ @Excel(name = "预约日期")
+ private String vcHopeDate;
+
+ /** 对方基金账号 */
+ @Excel(name = "对方基金账号")
+ private String vcOtherAcco;
+
+ /** 与安对方交易账号 */
+ @Excel(name = "与安对方交易账号")
+ private String vcOtherTradeAcco;
+
+ /** 对方产品代码 */
+ @Excel(name = "对方产品代码")
+ private String vcOtherProductCode;
+
+ /** 对方份额类别 */
+ @Excel(name = "对方份额类别")
+ private String cOtherShareType;
+
+ /** 对方销售商 */
+ @Excel(name = "对方销售商")
+ private String vcOtherAgencyNo;
+
+ /** 分红方式 */
+ @Excel(name = "分红方式")
+ private String cDividendMethod;
+
+ /** 冻结标志 */
+ @Excel(name = "冻结标志")
+ private String cFrozenFlag;
+
+ /** 冻结原因 */
+ @Excel(name = "冻结原因")
+ private String cFrozenCause;
+
+ /** 资金方式 */
+ @Excel(name = "资金方式")
+ private String cCapitalMode;
+
+ /** 明细资金方式 */
+ @Excel(name = "明细资金方式")
+ private String cSubCapitalMode;
+
+ /** 代扣接口类型 */
+ @Excel(name = "代扣接口类型")
+ private String cInterfaceType;
+
+ /** 允许顺延天数 */
+ @Excel(name = "允许顺延天数")
+ private Long lDelayDay;
+
+ /** 复核标志 */
+ @Excel(name = "复核标志")
+ private String cAuditFlag;
+
+ /** ta代码 */
+ @Excel(name = "ta代码")
+ private String vcTaCode;
+
+ /** 下单日期 */
+ @Excel(name = "下单日期")
+ private String vcAcceptDate;
+
+ /** 下单时间 */
+ @Excel(name = "下单时间")
+ private String vcAcceptTime;
+
+ /** 审批标志 */
+ @Excel(name = "审批标志")
+ private String cCheckFlag;
+
+ /** 客户确认标志 */
+ @Excel(name = "客户确认标志")
+ private String cCustConfirm;
+
+ /** 业务辅助代码 */
+ @Excel(name = "业务辅助代码")
+ private String cFixBusinFlag;
+
+ /** 系统日期 */
+ @Excel(name = "系统日期")
+ private String vcSysDate;
+
+ /** 机器日期 */
+ @Excel(name = "机器日期")
+ private String vcMachineDate;
+
+ /** 机器时间 */
+ @Excel(name = "机器时间")
+ private String vcMachineTime;
+
+ /** 批次号 */
+ @Excel(name = "批次号")
+ private String vcBatchNo;
+
+ /** 交易业务类别 */
+ @Excel(name = "交易业务类别")
+ private String cTradeBusinType;
+
+ /** 交易来源 */
+ @Excel(name = "交易来源")
+ private String vcComeFrom;
+
+ /** 银商流水号 */
+ @Excel(name = "银商流水号")
+ private String vcChinaPaySerialNo;
+
+ /** 自动发起标志 */
+ @Excel(name = "自动发起标志")
+ private String cAutoRequest;
+
+ /** 子账户编号 */
+ @Excel(name = "子账户编号")
+ private String vcSubAccoNo;
+
+ /** 客户编号 */
+ @Excel(name = "客户编号")
+ private String vcCustNo;
+
+ /** 批次申请号 */
+ @Excel(name = "批次申请号")
+ private String vcBatchRequestNo;
+
+ /** 确认处理清算日期 */
+ @Excel(name = "确认处理清算日期")
+ private String vcConfirmSettleDate;
+
+ /** 交易预处理清算日期 */
+ @Excel(name = "交易预处理清算日期")
+ private String vcRequestSettleDate;
+
+ /** 资金账号 */
+ @Excel(name = "资金账号")
+ private String vcCapAcco;
+
+ /** 功能号 */
+ @Excel(name = "功能号")
+ private String vcFunctionNo;
+
+ /** 分库分表位 */
+ @Excel(name = "分库分表位")
+ private Long lNode;
+
+ /** 导出状态 */
+ @Excel(name = "导出状态")
+ private String cExportState;
+
+ /** 删除标志 */
+ @Excel(name = "删除标志")
+ private String cDelete;
+
+ /** 时间戳 */
+ @Excel(name = "时间戳")
+ private String vcTimestamp;
+
+ /** 对方流水号 */
+ @Excel(name = "对方流水号")
+ private String vcOtherSerialNo;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String cRecordState;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String vcLcsExportBatchNo;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String cSendLiqState;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String vcAuditDateTime;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String vcCheckDateTime;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String vcFaxNo;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String vcDelayCause;
+
+ /** $column.columnComment */
+ @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+ private String cDelayCode;
+
+ //月申请金额之和
+ private BigDecimal monthEnbalance;
+ //年
+ private String year;
+
+ //月
+ private int month;
+
+ public BigDecimal getMonthEnbalance() {
+ return monthEnbalance;
+ }
+
+ public void setMonthEnbalance(BigDecimal monthEnbalance) {
+ this.monthEnbalance = monthEnbalance;
+ }
+
+ public String getYear() {
+ return year;
+ }
+
+ public void setYear(String year) {
+ this.year = year;
+ }
+
+ public int getMonth() {
+ return month;
+ }
+
+ public void setMonth(int month) {
+ this.month = month;
+ }
+
+ public void setVcTenantId(String vcTenantId)
+ {
+ this.vcTenantId = vcTenantId;
+ }
+
+ public String getVcTenantId()
+ {
+ return vcTenantId;
+ }
+ public void setVcRequestNo(String vcRequestNo)
+ {
+ this.vcRequestNo = vcRequestNo;
+ }
+
+ public String getVcRequestNo()
+ {
+ return vcRequestNo;
+ }
+ public void setVcFundAcco(String vcFundAcco)
+ {
+ this.vcFundAcco = vcFundAcco;
+ }
+
+ public String getVcFundAcco()
+ {
+ return vcFundAcco;
+ }
+ public void setVcTradeAcco(String vcTradeAcco)
+ {
+ this.vcTradeAcco = vcTradeAcco;
+ }
+
+ public String getVcTradeAcco()
+ {
+ return vcTradeAcco;
+ }
+ public void setVcRequestDate(Date vcRequestDate)
+ {
+ this.vcRequestDate = vcRequestDate;
+ }
+
+ public Date getVcRequestDate()
+ {
+ return vcRequestDate;
+ }
+ public void setVcRequestTime(Date vcRequestTime)
+ {
+ this.vcRequestTime = vcRequestTime;
+ }
+
+ public Date getVcRequestTime()
+ {
+ return vcRequestTime;
+ }
+ public void setcBusinFlag(String cBusinFlag)
+ {
+ this.cBusinFlag = cBusinFlag;
+ }
+
+ public String getcBusinFlag()
+ {
+ return cBusinFlag;
+ }
+ public void setVcProductCode(String vcProductCode)
+ {
+ this.vcProductCode = vcProductCode;
+ }
+
+ public String getVcProductCode()
+ {
+ return vcProductCode;
+ }
+ public void setcShareType(String cShareType)
+ {
+ this.cShareType = cShareType;
+ }
+
+ public String getcShareType()
+ {
+ return cShareType;
+ }
+ public void setcTrust(String cTrust)
+ {
+ this.cTrust = cTrust;
+ }
+
+ public String getcTrust()
+ {
+ return cTrust;
+ }
+ public void setEnBalance(BigDecimal enBalance)
+ {
+ this.enBalance = enBalance;
+ }
+
+ public BigDecimal getEnBalance()
+ {
+ return enBalance;
+ }
+ public void setEnShare(BigDecimal enShare)
+ {
+ this.enShare = enShare;
+ }
+
+ public BigDecimal getEnShare()
+ {
+ return enShare;
+ }
+ public void setEnDiscount(BigDecimal enDiscount)
+ {
+ this.enDiscount = enDiscount;
+ }
+
+ public BigDecimal getEnDiscount()
+ {
+ return enDiscount;
+ }
+ public void setEnEndDiscount(BigDecimal enEndDiscount)
+ {
+ this.enEndDiscount = enEndDiscount;
+ }
+
+ public BigDecimal getEnEndDiscount()
+ {
+ return enEndDiscount;
+ }
+ public void setEnOtherDiscount(BigDecimal enOtherDiscount)
+ {
+ this.enOtherDiscount = enOtherDiscount;
+ }
+
+ public BigDecimal getEnOtherDiscount()
+ {
+ return enOtherDiscount;
+ }
+ public void setcSendState(String cSendState)
+ {
+ this.cSendState = cSendState;
+ }
+
+ public String getcSendState()
+ {
+ return cSendState;
+ }
+ public void setcTradeState(String cTradeState)
+ {
+ this.cTradeState = cTradeState;
+ }
+
+ public String getcTradeState()
+ {
+ return cTradeState;
+ }
+ public void setcConfirmFlag(String cConfirmFlag)
+ {
+ this.cConfirmFlag = cConfirmFlag;
+ }
+
+ public String getcConfirmFlag()
+ {
+ return cConfirmFlag;
+ }
+ public void setEnConfirmShare(BigDecimal enConfirmShare)
+ {
+ this.enConfirmShare = enConfirmShare;
+ }
+
+ public BigDecimal getEnConfirmShare()
+ {
+ return enConfirmShare;
+ }
+ public void setEnConfirmBala(BigDecimal enConfirmBala)
+ {
+ this.enConfirmBala = enConfirmBala;
+ }
+
+ public BigDecimal getEnConfirmBala()
+ {
+ return enConfirmBala;
+ }
+ public void setVcHopeDate(String vcHopeDate)
+ {
+ this.vcHopeDate = vcHopeDate;
+ }
+
+ public String getVcHopeDate()
+ {
+ return vcHopeDate;
+ }
+ public void setVcOtherAcco(String vcOtherAcco)
+ {
+ this.vcOtherAcco = vcOtherAcco;
+ }
+
+ public String getVcOtherAcco()
+ {
+ return vcOtherAcco;
+ }
+ public void setVcOtherTradeAcco(String vcOtherTradeAcco)
+ {
+ this.vcOtherTradeAcco = vcOtherTradeAcco;
+ }
+
+ public String getVcOtherTradeAcco()
+ {
+ return vcOtherTradeAcco;
+ }
+ public void setVcOtherProductCode(String vcOtherProductCode)
+ {
+ this.vcOtherProductCode = vcOtherProductCode;
+ }
+
+ public String getVcOtherProductCode()
+ {
+ return vcOtherProductCode;
+ }
+ public void setcOtherShareType(String cOtherShareType)
+ {
+ this.cOtherShareType = cOtherShareType;
+ }
+
+ public String getcOtherShareType()
+ {
+ return cOtherShareType;
+ }
+ public void setVcOtherAgencyNo(String vcOtherAgencyNo)
+ {
+ this.vcOtherAgencyNo = vcOtherAgencyNo;
+ }
+
+ public String getVcOtherAgencyNo()
+ {
+ return vcOtherAgencyNo;
+ }
+ public void setcDividendMethod(String cDividendMethod)
+ {
+ this.cDividendMethod = cDividendMethod;
+ }
+
+ public String getcDividendMethod()
+ {
+ return cDividendMethod;
+ }
+ public void setcFrozenFlag(String cFrozenFlag)
+ {
+ this.cFrozenFlag = cFrozenFlag;
+ }
+
+ public String getcFrozenFlag()
+ {
+ return cFrozenFlag;
+ }
+ public void setcFrozenCause(String cFrozenCause)
+ {
+ this.cFrozenCause = cFrozenCause;
+ }
+
+ public String getcFrozenCause()
+ {
+ return cFrozenCause;
+ }
+ public void setcCapitalMode(String cCapitalMode)
+ {
+ this.cCapitalMode = cCapitalMode;
+ }
+
+ public String getcCapitalMode()
+ {
+ return cCapitalMode;
+ }
+ public void setcSubCapitalMode(String cSubCapitalMode)
+ {
+ this.cSubCapitalMode = cSubCapitalMode;
+ }
+
+ public String getcSubCapitalMode()
+ {
+ return cSubCapitalMode;
+ }
+ public void setcInterfaceType(String cInterfaceType)
+ {
+ this.cInterfaceType = cInterfaceType;
+ }
+
+ public String getcInterfaceType()
+ {
+ return cInterfaceType;
+ }
+ public void setlDelayDay(Long lDelayDay)
+ {
+ this.lDelayDay = lDelayDay;
+ }
+
+ public Long getlDelayDay()
+ {
+ return lDelayDay;
+ }
+ public void setcAuditFlag(String cAuditFlag)
+ {
+ this.cAuditFlag = cAuditFlag;
+ }
+
+ public String getcAuditFlag()
+ {
+ return cAuditFlag;
+ }
+ public void setVcTaCode(String vcTaCode)
+ {
+ this.vcTaCode = vcTaCode;
+ }
+
+ public String getVcTaCode()
+ {
+ return vcTaCode;
+ }
+ public void setVcAcceptDate(String vcAcceptDate)
+ {
+ this.vcAcceptDate = vcAcceptDate;
+ }
+
+ public String getVcAcceptDate()
+ {
+ return vcAcceptDate;
+ }
+ public void setVcAcceptTime(String vcAcceptTime)
+ {
+ this.vcAcceptTime = vcAcceptTime;
+ }
+
+ public String getVcAcceptTime()
+ {
+ return vcAcceptTime;
+ }
+ public void setcCheckFlag(String cCheckFlag)
+ {
+ this.cCheckFlag = cCheckFlag;
+ }
+
+ public String getcCheckFlag()
+ {
+ return cCheckFlag;
+ }
+ public void setcCustConfirm(String cCustConfirm)
+ {
+ this.cCustConfirm = cCustConfirm;
+ }
+
+ public String getcCustConfirm()
+ {
+ return cCustConfirm;
+ }
+ public void setcFixBusinFlag(String cFixBusinFlag)
+ {
+ this.cFixBusinFlag = cFixBusinFlag;
+ }
+
+ public String getcFixBusinFlag()
+ {
+ return cFixBusinFlag;
+ }
+ public void setVcSysDate(String vcSysDate)
+ {
+ this.vcSysDate = vcSysDate;
+ }
+
+ public String getVcSysDate()
+ {
+ return vcSysDate;
+ }
+ public void setVcMachineDate(String vcMachineDate)
+ {
+ this.vcMachineDate = vcMachineDate;
+ }
+
+ public String getVcMachineDate()
+ {
+ return vcMachineDate;
+ }
+ public void setVcMachineTime(String vcMachineTime)
+ {
+ this.vcMachineTime = vcMachineTime;
+ }
+
+ public String getVcMachineTime()
+ {
+ return vcMachineTime;
+ }
+ public void setVcBatchNo(String vcBatchNo)
+ {
+ this.vcBatchNo = vcBatchNo;
+ }
+
+ public String getVcBatchNo()
+ {
+ return vcBatchNo;
+ }
+ public void setcTradeBusinType(String cTradeBusinType)
+ {
+ this.cTradeBusinType = cTradeBusinType;
+ }
+
+ public String getcTradeBusinType()
+ {
+ return cTradeBusinType;
+ }
+ public void setVcComeFrom(String vcComeFrom)
+ {
+ this.vcComeFrom = vcComeFrom;
+ }
+
+ public String getVcComeFrom()
+ {
+ return vcComeFrom;
+ }
+ public void setVcChinaPaySerialNo(String vcChinaPaySerialNo)
+ {
+ this.vcChinaPaySerialNo = vcChinaPaySerialNo;
+ }
+
+ public String getVcChinaPaySerialNo()
+ {
+ return vcChinaPaySerialNo;
+ }
+ public void setcAutoRequest(String cAutoRequest)
+ {
+ this.cAutoRequest = cAutoRequest;
+ }
+
+ public String getcAutoRequest()
+ {
+ return cAutoRequest;
+ }
+ public void setVcSubAccoNo(String vcSubAccoNo)
+ {
+ this.vcSubAccoNo = vcSubAccoNo;
+ }
+
+ public String getVcSubAccoNo()
+ {
+ return vcSubAccoNo;
+ }
+ public void setVcCustNo(String vcCustNo)
+ {
+ this.vcCustNo = vcCustNo;
+ }
+
+ public String getVcCustNo()
+ {
+ return vcCustNo;
+ }
+ public void setVcBatchRequestNo(String vcBatchRequestNo)
+ {
+ this.vcBatchRequestNo = vcBatchRequestNo;
+ }
+
+ public String getVcBatchRequestNo()
+ {
+ return vcBatchRequestNo;
+ }
+ public void setVcConfirmSettleDate(String vcConfirmSettleDate)
+ {
+ this.vcConfirmSettleDate = vcConfirmSettleDate;
+ }
+
+ public String getVcConfirmSettleDate()
+ {
+ return vcConfirmSettleDate;
+ }
+ public void setVcRequestSettleDate(String vcRequestSettleDate)
+ {
+ this.vcRequestSettleDate = vcRequestSettleDate;
+ }
+
+ public String getVcRequestSettleDate()
+ {
+ return vcRequestSettleDate;
+ }
+ public void setVcCapAcco(String vcCapAcco)
+ {
+ this.vcCapAcco = vcCapAcco;
+ }
+
+ public String getVcCapAcco()
+ {
+ return vcCapAcco;
+ }
+ public void setVcFunctionNo(String vcFunctionNo)
+ {
+ this.vcFunctionNo = vcFunctionNo;
+ }
+
+ public String getVcFunctionNo()
+ {
+ return vcFunctionNo;
+ }
+ public void setlNode(Long lNode)
+ {
+ this.lNode = lNode;
+ }
+
+ public Long getlNode()
+ {
+ return lNode;
+ }
+ public void setcExportState(String cExportState)
+ {
+ this.cExportState = cExportState;
+ }
+
+ public String getcExportState()
+ {
+ return cExportState;
+ }
+ public void setcDelete(String cDelete)
+ {
+ this.cDelete = cDelete;
+ }
+
+ public String getcDelete()
+ {
+ return cDelete;
+ }
+ public void setVcTimestamp(String vcTimestamp)
+ {
+ this.vcTimestamp = vcTimestamp;
+ }
+
+ public String getVcTimestamp()
+ {
+ return vcTimestamp;
+ }
+ public void setVcOtherSerialNo(String vcOtherSerialNo)
+ {
+ this.vcOtherSerialNo = vcOtherSerialNo;
+ }
+
+ public String getVcOtherSerialNo()
+ {
+ return vcOtherSerialNo;
+ }
+ public void setcRecordState(String cRecordState)
+ {
+ this.cRecordState = cRecordState;
+ }
+
+ public String getcRecordState()
+ {
+ return cRecordState;
+ }
+ public void setVcLcsExportBatchNo(String vcLcsExportBatchNo)
+ {
+ this.vcLcsExportBatchNo = vcLcsExportBatchNo;
+ }
+
+ public String getVcLcsExportBatchNo()
+ {
+ return vcLcsExportBatchNo;
+ }
+ public void setcSendLiqState(String cSendLiqState)
+ {
+ this.cSendLiqState = cSendLiqState;
+ }
+
+ public String getcSendLiqState()
+ {
+ return cSendLiqState;
+ }
+ public void setVcAuditDateTime(String vcAuditDateTime)
+ {
+ this.vcAuditDateTime = vcAuditDateTime;
+ }
+
+ public String getVcAuditDateTime()
+ {
+ return vcAuditDateTime;
+ }
+ public void setVcCheckDateTime(String vcCheckDateTime)
+ {
+ this.vcCheckDateTime = vcCheckDateTime;
+ }
+
+ public String getVcCheckDateTime()
+ {
+ return vcCheckDateTime;
+ }
+ public void setVcFaxNo(String vcFaxNo)
+ {
+ this.vcFaxNo = vcFaxNo;
+ }
+
+ public String getVcFaxNo()
+ {
+ return vcFaxNo;
+ }
+ public void setVcDelayCause(String vcDelayCause)
+ {
+ this.vcDelayCause = vcDelayCause;
+ }
+
+ public String getVcDelayCause()
+ {
+ return vcDelayCause;
+ }
+ public void setcDelayCode(String cDelayCode)
+ {
+ this.cDelayCode = cDelayCode;
+ }
+
+ public String getcDelayCode()
+ {
+ return cDelayCode;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("vcTenantId", getVcTenantId())
+ .append("vcRequestNo", getVcRequestNo())
+ .append("vcFundAcco", getVcFundAcco())
+ .append("vcTradeAcco", getVcTradeAcco())
+ .append("vcRequestDate", getVcRequestDate())
+ .append("vcRequestTime", getVcRequestTime())
+ .append("cBusinFlag", getcBusinFlag())
+ .append("vcProductCode", getVcProductCode())
+ .append("cShareType", getcShareType())
+ .append("cTrust", getcTrust())
+ .append("enBalance", getEnBalance())
+ .append("enShare", getEnShare())
+ .append("enDiscount", getEnDiscount())
+ .append("enEndDiscount", getEnEndDiscount())
+ .append("enOtherDiscount", getEnOtherDiscount())
+ .append("cSendState", getcSendState())
+ .append("cTradeState", getcTradeState())
+ .append("cConfirmFlag", getcConfirmFlag())
+ .append("enConfirmShare", getEnConfirmShare())
+ .append("enConfirmBala", getEnConfirmBala())
+ .append("vcHopeDate", getVcHopeDate())
+ .append("vcOtherAcco", getVcOtherAcco())
+ .append("vcOtherTradeAcco", getVcOtherTradeAcco())
+ .append("vcOtherProductCode", getVcOtherProductCode())
+ .append("cOtherShareType", getcOtherShareType())
+ .append("vcOtherAgencyNo", getVcOtherAgencyNo())
+ .append("cDividendMethod", getcDividendMethod())
+ .append("cFrozenFlag", getcFrozenFlag())
+ .append("cFrozenCause", getcFrozenCause())
+ .append("cCapitalMode", getcCapitalMode())
+ .append("cSubCapitalMode", getcSubCapitalMode())
+ .append("cInterfaceType", getcInterfaceType())
+ .append("lDelayDay", getlDelayDay())
+ .append("cAuditFlag", getcAuditFlag())
+ .append("vcTaCode", getVcTaCode())
+ .append("vcAcceptDate", getVcAcceptDate())
+ .append("vcAcceptTime", getVcAcceptTime())
+ .append("cCheckFlag", getcCheckFlag())
+ .append("cCustConfirm", getcCustConfirm())
+ .append("cFixBusinFlag", getcFixBusinFlag())
+ .append("vcSysDate", getVcSysDate())
+ .append("vcMachineDate", getVcMachineDate())
+ .append("vcMachineTime", getVcMachineTime())
+ .append("vcBatchNo", getVcBatchNo())
+ .append("cTradeBusinType", getcTradeBusinType())
+ .append("vcComeFrom", getVcComeFrom())
+ .append("vcChinaPaySerialNo", getVcChinaPaySerialNo())
+ .append("cAutoRequest", getcAutoRequest())
+ .append("vcSubAccoNo", getVcSubAccoNo())
+ .append("vcCustNo", getVcCustNo())
+ .append("vcBatchRequestNo", getVcBatchRequestNo())
+ .append("vcConfirmSettleDate", getVcConfirmSettleDate())
+ .append("vcRequestSettleDate", getVcRequestSettleDate())
+ .append("vcCapAcco", getVcCapAcco())
+ .append("vcFunctionNo", getVcFunctionNo())
+ .append("lNode", getlNode())
+ .append("cExportState", getcExportState())
+ .append("cDelete", getcDelete())
+ .append("vcTimestamp", getVcTimestamp())
+ .append("vcOtherSerialNo", getVcOtherSerialNo())
+ .append("cRecordState", getcRecordState())
+ .append("vcLcsExportBatchNo", getVcLcsExportBatchNo())
+ .append("cSendLiqState", getcSendLiqState())
+ .append("vcAuditDateTime", getVcAuditDateTime())
+ .append("vcCheckDateTime", getVcCheckDateTime())
+ .append("vcFaxNo", getVcFaxNo())
+ .append("vcDelayCause", getVcDelayCause())
+ .append("cDelayCode", getcDelayCode())
+ .toString();
+ }
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BusiChartMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BusiChartMapper.java
new file mode 100644
index 00000000..630a38cb
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/BusiChartMapper.java
@@ -0,0 +1,62 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.domain.BusiChart;
+
+import java.util.List;
+
+/**
+ * 测试图Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-07-21
+ */
+public interface BusiChartMapper
+{
+ /**
+ * 查询测试图
+ *
+ * @param id 测试图主键
+ * @return 测试图
+ */
+ public BusiChart selectBusiChartById(Long id);
+
+ /**
+ * 查询测试图列表
+ *
+ * @param busiChart 测试图
+ * @return 测试图集合
+ */
+ public List selectBusiChartList(BusiChart busiChart);
+
+ /**
+ * 新增测试图
+ *
+ * @param busiChart 测试图
+ * @return 结果
+ */
+ public int insertBusiChart(BusiChart busiChart);
+
+ /**
+ * 修改测试图
+ *
+ * @param busiChart 测试图
+ * @return 结果
+ */
+ public int updateBusiChart(BusiChart busiChart);
+
+ /**
+ * 删除测试图
+ *
+ * @param id 测试图主键
+ * @return 结果
+ */
+ public int deleteBusiChartById(Long id);
+
+ /**
+ * 批量删除测试图
+ *
+ * @param ids 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteBusiChartByIds(Long[] ids);
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TcTrequestMapper.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TcTrequestMapper.java
new file mode 100644
index 00000000..a088120c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TcTrequestMapper.java
@@ -0,0 +1,64 @@
+package com.ruoyi.system.mapper;
+
+import com.ruoyi.system.domain.TcTrequest;
+
+import java.util.List;
+
+/**
+ * 交易申请Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-07-26
+ */
+public interface TcTrequestMapper
+{
+ /**
+ * 查询交易申请
+ *
+ * @param vcTenantId 交易申请主键
+ * @return 交易申请
+ */
+ public TcTrequest selectTcTrequestByVcTenantId(String vcTenantId);
+
+ /**
+ * 查询交易申请列表
+ *
+ * @param tcTrequest 交易申请
+ * @return 交易申请集合
+ */
+ public List selectTcTrequestList(TcTrequest tcTrequest);
+
+ /**
+ * 新增交易申请
+ *
+ * @param tcTrequest 交易申请
+ * @return 结果
+ */
+ public int insertTcTrequest(TcTrequest tcTrequest);
+
+ /**
+ * 修改交易申请
+ *
+ * @param tcTrequest 交易申请
+ * @return 结果
+ */
+ public int updateTcTrequest(TcTrequest tcTrequest);
+
+ /**
+ * 删除交易申请
+ *
+ * @param vcTenantId 交易申请主键
+ * @return 结果
+ */
+ public int deleteTcTrequestByVcTenantId(String vcTenantId);
+
+ /**
+ * 批量删除交易申请
+ *
+ * @param vcTenantIds 需要删除的数据主键集合
+ * @return 结果
+ */
+ public int deleteTcTrequestByVcTenantIds(String[] vcTenantIds);
+
+ public List selectMonthEnBalance(String year);
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IBusiChartService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IBusiChartService.java
new file mode 100644
index 00000000..83c6a14a
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/IBusiChartService.java
@@ -0,0 +1,62 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.domain.BusiChart;
+
+import java.util.List;
+
+/**
+ * 测试图Service接口
+ *
+ * @author ruoyi
+ * @date 2023-07-21
+ */
+public interface IBusiChartService
+{
+ /**
+ * 查询测试图
+ *
+ * @param id 测试图主键
+ * @return 测试图
+ */
+ public BusiChart selectBusiChartById(Long id);
+
+ /**
+ * 查询测试图列表
+ *
+ * @param busiChart 测试图
+ * @return 测试图集合
+ */
+ public List selectBusiChartList(BusiChart busiChart);
+
+ /**
+ * 新增测试图
+ *
+ * @param busiChart 测试图
+ * @return 结果
+ */
+ public int insertBusiChart(BusiChart busiChart);
+
+ /**
+ * 修改测试图
+ *
+ * @param busiChart 测试图
+ * @return 结果
+ */
+ public int updateBusiChart(BusiChart busiChart);
+
+ /**
+ * 批量删除测试图
+ *
+ * @param ids 需要删除的测试图主键集合
+ * @return 结果
+ */
+ public int deleteBusiChartByIds(Long[] ids);
+
+ /**
+ * 删除测试图信息
+ *
+ * @param id 测试图主键
+ * @return 结果
+ */
+ public int deleteBusiChartById(Long id);
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ITcTrequestService.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ITcTrequestService.java
new file mode 100644
index 00000000..c0bcbc43
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/ITcTrequestService.java
@@ -0,0 +1,64 @@
+package com.ruoyi.system.service;
+
+import com.ruoyi.system.domain.TcTrequest;
+
+import java.util.List;
+
+/**
+ * 交易申请Service接口
+ *
+ * @author ruoyi
+ * @date 2023-07-26
+ */
+public interface ITcTrequestService
+{
+ /**
+ * 查询交易申请
+ *
+ * @param vcTenantId 交易申请主键
+ * @return 交易申请
+ */
+ public TcTrequest selectTcTrequestByVcTenantId(String vcTenantId);
+
+ /**
+ * 查询交易申请列表
+ *
+ * @param tcTrequest 交易申请
+ * @return 交易申请集合
+ */
+ public List selectTcTrequestList(TcTrequest tcTrequest);
+
+ /**
+ * 新增交易申请
+ *
+ * @param tcTrequest 交易申请
+ * @return 结果
+ */
+ public int insertTcTrequest(TcTrequest tcTrequest);
+
+ /**
+ * 修改交易申请
+ *
+ * @param tcTrequest 交易申请
+ * @return 结果
+ */
+ public int updateTcTrequest(TcTrequest tcTrequest);
+
+ /**
+ * 批量删除交易申请
+ *
+ * @param vcTenantIds 需要删除的交易申请主键集合
+ * @return 结果
+ */
+ public int deleteTcTrequestByVcTenantIds(String[] vcTenantIds);
+
+ /**
+ * 删除交易申请信息
+ *
+ * @param vcTenantId 交易申请主键
+ * @return 结果
+ */
+ public int deleteTcTrequestByVcTenantId(String vcTenantId);
+
+ List selectMonthEnBalance(String year);
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BusiChartServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BusiChartServiceImpl.java
new file mode 100644
index 00000000..415756cf
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/BusiChartServiceImpl.java
@@ -0,0 +1,96 @@
+package com.ruoyi.system.service.impl;
+
+import com.ruoyi.common.core.utils.DateUtils;
+import com.ruoyi.system.domain.BusiChart;
+import com.ruoyi.system.mapper.BusiChartMapper;
+import com.ruoyi.system.service.IBusiChartService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 测试图Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-07-21
+ */
+@Service
+public class BusiChartServiceImpl implements IBusiChartService
+{
+ @Autowired
+ private BusiChartMapper busiChartMapper;
+
+ /**
+ * 查询测试图
+ *
+ * @param id 测试图主键
+ * @return 测试图
+ */
+ @Override
+ public BusiChart selectBusiChartById(Long id)
+ {
+ return busiChartMapper.selectBusiChartById(id);
+ }
+
+ /**
+ * 查询测试图列表
+ *
+ * @param busiChart 测试图
+ * @return 测试图
+ */
+ @Override
+ public List selectBusiChartList(BusiChart busiChart)
+ {
+ return busiChartMapper.selectBusiChartList(busiChart);
+ }
+
+ /**
+ * 新增测试图
+ *
+ * @param busiChart 测试图
+ * @return 结果
+ */
+ @Override
+ public int insertBusiChart(BusiChart busiChart)
+ {
+ busiChart.setCreateTime(DateUtils.getNowDate());
+ return busiChartMapper.insertBusiChart(busiChart);
+ }
+
+ /**
+ * 修改测试图
+ *
+ * @param busiChart 测试图
+ * @return 结果
+ */
+ @Override
+ public int updateBusiChart(BusiChart busiChart)
+ {
+ return busiChartMapper.updateBusiChart(busiChart);
+ }
+
+ /**
+ * 批量删除测试图
+ *
+ * @param ids 需要删除的测试图主键
+ * @return 结果
+ */
+ @Override
+ public int deleteBusiChartByIds(Long[] ids)
+ {
+ return busiChartMapper.deleteBusiChartByIds(ids);
+ }
+
+ /**
+ * 删除测试图信息
+ *
+ * @param id 测试图主键
+ * @return 结果
+ */
+ @Override
+ public int deleteBusiChartById(Long id)
+ {
+ return busiChartMapper.deleteBusiChartById(id);
+ }
+}
diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TcTrequestServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TcTrequestServiceImpl.java
new file mode 100644
index 00000000..bea34914
--- /dev/null
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TcTrequestServiceImpl.java
@@ -0,0 +1,101 @@
+package com.ruoyi.system.service.impl;
+
+import com.ruoyi.system.domain.TcTrequest;
+import com.ruoyi.system.mapper.TcTrequestMapper;
+import com.ruoyi.system.service.ITcTrequestService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 交易申请Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-07-26
+ */
+@Service
+public class TcTrequestServiceImpl implements ITcTrequestService
+{
+ @Autowired
+ private TcTrequestMapper tcTrequestMapper;
+
+ /**
+ * 查询交易申请
+ *
+ * @param vcTenantId 交易申请主键
+ * @return 交易申请
+ */
+ @Override
+ public TcTrequest selectTcTrequestByVcTenantId(String vcTenantId)
+ {
+ return tcTrequestMapper.selectTcTrequestByVcTenantId(vcTenantId);
+ }
+
+ /**
+ * 查询交易申请列表
+ *
+ * @param tcTrequest 交易申请
+ * @return 交易申请
+ */
+ @Override
+ public List selectTcTrequestList(TcTrequest tcTrequest)
+ {
+ return tcTrequestMapper.selectTcTrequestList(tcTrequest);
+ }
+
+ /**
+ * 新增交易申请
+ *
+ * @param tcTrequest 交易申请
+ * @return 结果
+ */
+ @Override
+ public int insertTcTrequest(TcTrequest tcTrequest)
+ {
+ return tcTrequestMapper.insertTcTrequest(tcTrequest);
+ }
+
+ /**
+ * 修改交易申请
+ *
+ * @param tcTrequest 交易申请
+ * @return 结果
+ */
+ @Override
+ public int updateTcTrequest(TcTrequest tcTrequest)
+ {
+ return tcTrequestMapper.updateTcTrequest(tcTrequest);
+ }
+
+ /**
+ * 批量删除交易申请
+ *
+ * @param vcTenantIds 需要删除的交易申请主键
+ * @return 结果
+ */
+ @Override
+ public int deleteTcTrequestByVcTenantIds(String[] vcTenantIds)
+ {
+ return tcTrequestMapper.deleteTcTrequestByVcTenantIds(vcTenantIds);
+ }
+
+ /**
+ * 删除交易申请信息
+ *
+ * @param vcTenantId 交易申请主键
+ * @return 结果
+ */
+ @Override
+ public int deleteTcTrequestByVcTenantId(String vcTenantId)
+ {
+ return tcTrequestMapper.deleteTcTrequestByVcTenantId(vcTenantId);
+ }
+
+ @Override
+ public List selectMonthEnBalance(String year){
+ return tcTrequestMapper.selectMonthEnBalance(year);
+
+ }
+
+}
diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index 3eeec8af..9912453c 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -1,90 +1,92 @@
-{
- "name": "ruoyi",
- "version": "3.6.2",
- "description": "若依管理系统",
- "author": "若依",
- "license": "MIT",
- "scripts": {
- "dev": "vue-cli-service serve",
- "build:prod": "vue-cli-service build",
- "build:stage": "vue-cli-service build --mode staging",
- "preview": "node build/index.js --preview",
- "lint": "eslint --ext .js,.vue src"
- },
- "husky": {
- "hooks": {
- "pre-commit": "lint-staged"
- }
- },
- "lint-staged": {
- "src/**/*.{js,vue}": [
- "eslint --fix",
- "git add"
- ]
- },
- "keywords": [
- "vue",
- "admin",
- "dashboard",
- "element-ui",
- "boilerplate",
- "admin-template",
- "management-system"
- ],
- "repository": {
- "type": "git",
- "url": "https://gitee.com/y_project/RuoYi-Cloud.git"
- },
- "dependencies": {
- "@riophae/vue-treeselect": "0.4.0",
- "axios": "0.24.0",
- "clipboard": "2.0.8",
- "core-js": "3.25.3",
- "echarts": "5.4.0",
- "element-ui": "2.15.12",
- "file-saver": "2.0.5",
- "fuse.js": "6.4.3",
- "highlight.js": "9.18.5",
- "js-beautify": "1.13.0",
- "js-cookie": "3.0.1",
- "jsencrypt": "3.0.0-rc.1",
- "nprogress": "0.2.0",
- "quill": "1.3.7",
- "screenfull": "5.0.2",
- "sortablejs": "1.10.2",
- "vue": "2.6.12",
- "vue-count-to": "1.0.13",
- "vue-cropper": "0.5.5",
- "vue-meta": "2.4.0",
- "vue-router": "3.4.9",
- "vuedraggable": "2.24.3",
- "vuex": "3.6.0"
- },
- "devDependencies": {
- "@vue/cli-plugin-babel": "4.4.6",
- "@vue/cli-plugin-eslint": "4.4.6",
- "@vue/cli-service": "4.4.6",
- "babel-eslint": "10.1.0",
- "babel-plugin-dynamic-import-node": "2.3.3",
- "chalk": "4.1.0",
- "compression-webpack-plugin": "5.0.2",
- "connect": "3.6.6",
- "eslint": "7.15.0",
- "eslint-plugin-vue": "7.2.0",
- "lint-staged": "10.5.3",
- "runjs": "4.4.2",
- "sass": "1.32.13",
- "sass-loader": "10.1.1",
- "script-ext-html-webpack-plugin": "2.1.5",
- "svg-sprite-loader": "5.1.1",
- "vue-template-compiler": "2.6.12"
- },
- "engines": {
- "node": ">=8.9",
- "npm": ">= 3.0.0"
- },
- "browserslist": [
- "> 1%",
- "last 2 versions"
- ]
-}
+{
+ "name": "ruoyi",
+ "version": "3.6.3",
+ "description": "基金销售后台日志分析管理平台",
+ "author": "若依",
+ "license": "MIT",
+ "scripts": {
+ "dev": "vue-cli-service serve",
+ "build:prod": "vue-cli-service build",
+ "build:stage": "vue-cli-service build --mode staging",
+ "preview": "node build/index.js --preview",
+ "lint": "eslint --ext .js,.vue src",
+ "serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
+ "build": "vue-cli-service build"
+ },
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged"
+ }
+ },
+ "lint-staged": {
+ "src/**/*.{js,vue}": [
+ "eslint --fix",
+ "git add"
+ ]
+ },
+ "keywords": [
+ "vue",
+ "admin",
+ "dashboard",
+ "element-ui",
+ "boilerplate",
+ "admin-template",
+ "management-system"
+ ],
+ "repository": {
+ "type": "git",
+ "url": "https://gitee.com/y_project/RuoYi-Cloud.git"
+ },
+ "dependencies": {
+ "@riophae/vue-treeselect": "0.4.0",
+ "axios": "0.24.0",
+ "clipboard": "2.0.8",
+ "core-js": "3.25.3",
+ "echarts": "^5.4.0",
+ "element-ui": "2.15.13",
+ "file-saver": "2.0.5",
+ "fuse.js": "6.4.3",
+ "highlight.js": "9.18.5",
+ "js-beautify": "1.13.0",
+ "js-cookie": "3.0.1",
+ "jsencrypt": "3.0.0-rc.1",
+ "nprogress": "0.2.0",
+ "quill": "1.3.7",
+ "screenfull": "5.0.2",
+ "sortablejs": "1.10.2",
+ "vue": "2.6.12",
+ "vue-count-to": "1.0.13",
+ "vue-cropper": "0.5.5",
+ "vue-meta": "2.4.0",
+ "vue-router": "3.4.9",
+ "vuedraggable": "2.24.3",
+ "vuex": "3.6.0"
+ },
+ "devDependencies": {
+ "@vue/cli-plugin-babel": "4.4.6",
+ "@vue/cli-plugin-eslint": "4.4.6",
+ "@vue/cli-service": "4.4.6",
+ "babel-eslint": "10.1.0",
+ "babel-plugin-dynamic-import-node": "2.3.3",
+ "chalk": "4.1.0",
+ "compression-webpack-plugin": "5.0.2",
+ "connect": "3.6.6",
+ "eslint": "7.15.0",
+ "eslint-plugin-vue": "7.2.0",
+ "lint-staged": "10.5.3",
+ "runjs": "4.4.2",
+ "sass": "1.32.13",
+ "sass-loader": "10.1.1",
+ "script-ext-html-webpack-plugin": "2.1.5",
+ "svg-sprite-loader": "5.1.1",
+ "vue-template-compiler": "2.6.12"
+ },
+ "engines": {
+ "node": ">=8.9",
+ "npm": ">= 3.0.0"
+ },
+ "browserslist": [
+ "> 1%",
+ "last 2 versions"
+ ]
+}
diff --git a/ruoyi-ui/src/api/system/trequest.js b/ruoyi-ui/src/api/system/trequest.js
new file mode 100644
index 00000000..d800067f
--- /dev/null
+++ b/ruoyi-ui/src/api/system/trequest.js
@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 查询交易申请列表
+export function listTrequest(query) {
+ return request({
+ url: '/system/trequest/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 查询交易申请详细
+export function getTrequest(vcTenantId) {
+ return request({
+ url: '/system/trequest/' + vcTenantId,
+ method: 'get'
+ })
+}
+
+// 新增交易申请
+export function addTrequest(data) {
+ return request({
+ url: '/system/trequest',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改交易申请
+export function updateTrequest(data) {
+ return request({
+ url: '/system/trequest',
+ method: 'put',
+ data: data
+ })
+}
+
+// 删除交易申请
+export function delTrequest(vcTenantId) {
+ return request({
+ url: '/system/trequest/' + vcTenantId,
+ method: 'delete'
+ })
+}
+
+// 查询每月金额统计
+export function monthEnBalance(query) {
+ return request({
+ url: '/system/trequest/monthEnBalance',
+ method: 'get',
+ params: query
+ })
+}
+
diff --git a/ruoyi-ui/src/assets/images/11.jpg b/ruoyi-ui/src/assets/images/11.jpg
new file mode 100644
index 00000000..83780d5b
Binary files /dev/null and b/ruoyi-ui/src/assets/images/11.jpg differ
diff --git a/ruoyi-ui/src/main.js b/ruoyi-ui/src/main.js
index ebd94b9d..a5a65411 100644
--- a/ruoyi-ui/src/main.js
+++ b/ruoyi-ui/src/main.js
@@ -1,86 +1,88 @@
-import Vue from 'vue'
-
-import Cookies from 'js-cookie'
-
-import Element from 'element-ui'
-import './assets/styles/element-variables.scss'
-
-import '@/assets/styles/index.scss' // global css
-import '@/assets/styles/ruoyi.scss' // ruoyi css
-import App from './App'
-import store from './store'
-import router from './router'
-import directive from './directive' // directive
-import plugins from './plugins' // plugins
-import { download } from '@/utils/request'
-
-import './assets/icons' // icon
-import './permission' // permission control
-import { getDicts } from "@/api/system/dict/data";
-import { getConfigKey } from "@/api/system/config";
-import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
-// 分页组件
-import Pagination from "@/components/Pagination";
-// 自定义表格工具组件
-import RightToolbar from "@/components/RightToolbar"
-// 富文本组件
-import Editor from "@/components/Editor"
-// 文件上传组件
-import FileUpload from "@/components/FileUpload"
-// 图片上传组件
-import ImageUpload from "@/components/ImageUpload"
-// 图片预览组件
-import ImagePreview from "@/components/ImagePreview"
-// 字典标签组件
-import DictTag from '@/components/DictTag'
-// 头部标签组件
-import VueMeta from 'vue-meta'
-// 字典数据组件
-import DictData from '@/components/DictData'
-
-// 全局方法挂载
-Vue.prototype.getDicts = getDicts
-Vue.prototype.getConfigKey = getConfigKey
-Vue.prototype.parseTime = parseTime
-Vue.prototype.resetForm = resetForm
-Vue.prototype.addDateRange = addDateRange
-Vue.prototype.selectDictLabel = selectDictLabel
-Vue.prototype.selectDictLabels = selectDictLabels
-Vue.prototype.download = download
-Vue.prototype.handleTree = handleTree
-
-// 全局组件挂载
-Vue.component('DictTag', DictTag)
-Vue.component('Pagination', Pagination)
-Vue.component('RightToolbar', RightToolbar)
-Vue.component('Editor', Editor)
-Vue.component('FileUpload', FileUpload)
-Vue.component('ImageUpload', ImageUpload)
-Vue.component('ImagePreview', ImagePreview)
-
-Vue.use(directive)
-Vue.use(plugins)
-Vue.use(VueMeta)
-DictData.install()
-
-/**
- * If you don't want to use mock-server
- * you want to use MockJs for mock api
- * you can execute: mockXHR()
- *
- * Currently MockJs will be used in the production environment,
- * please remove it before going online! ! !
- */
-
-Vue.use(Element, {
- size: Cookies.get('size') || 'medium' // set element-ui default size
-})
-
-Vue.config.productionTip = false
-
-new Vue({
- el: '#app',
- router,
- store,
- render: h => h(App)
-})
+import Vue from 'vue'
+
+import Cookies from 'js-cookie'
+
+import Element from 'element-ui'
+import './assets/styles/element-variables.scss'
+
+import '@/assets/styles/index.scss' // global css
+import '@/assets/styles/ruoyi.scss' // ruoyi css
+import App from './App'
+import store from './store'
+import router from './router'
+import directive from './directive' // directive
+import plugins from './plugins' // plugins
+import { download } from '@/utils/request'
+import * as echarts from 'echarts'
+Vue.prototype.$echarts = echarts;
+
+import './assets/icons' // icon
+import './permission' // permission control
+import { getDicts } from "@/api/system/dict/data";
+import { getConfigKey } from "@/api/system/config";
+import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
+// 分页组件
+import Pagination from "@/components/Pagination";
+// 自定义表格工具组件
+import RightToolbar from "@/components/RightToolbar"
+// 富文本组件
+import Editor from "@/components/Editor"
+// 文件上传组件
+import FileUpload from "@/components/FileUpload"
+// 图片上传组件
+import ImageUpload from "@/components/ImageUpload"
+// 图片预览组件
+import ImagePreview from "@/components/ImagePreview"
+// 字典标签组件
+import DictTag from '@/components/DictTag'
+// 头部标签组件
+import VueMeta from 'vue-meta'
+// 字典数据组件
+import DictData from '@/components/DictData'
+
+// 全局方法挂载
+Vue.prototype.getDicts = getDicts
+Vue.prototype.getConfigKey = getConfigKey
+Vue.prototype.parseTime = parseTime
+Vue.prototype.resetForm = resetForm
+Vue.prototype.addDateRange = addDateRange
+Vue.prototype.selectDictLabel = selectDictLabel
+Vue.prototype.selectDictLabels = selectDictLabels
+Vue.prototype.download = download
+Vue.prototype.handleTree = handleTree
+
+// 全局组件挂载
+Vue.component('DictTag', DictTag)
+Vue.component('Pagination', Pagination)
+Vue.component('RightToolbar', RightToolbar)
+Vue.component('Editor', Editor)
+Vue.component('FileUpload', FileUpload)
+Vue.component('ImageUpload', ImageUpload)
+Vue.component('ImagePreview', ImagePreview)
+
+Vue.use(directive)
+Vue.use(plugins)
+Vue.use(VueMeta)
+DictData.install()
+
+/**
+ * If you don't want to use mock-server
+ * you want to use MockJs for mock api
+ * you can execute: mockXHR()
+ *
+ * Currently MockJs will be used in the production environment,
+ * please remove it before going online! ! !
+ */
+
+Vue.use(Element, {
+ size: Cookies.get('size') || 'medium' // set element-ui default size
+})
+
+Vue.config.productionTip = false
+
+new Vue({
+ el: '#app',
+ router,
+ store,
+ render: h => h(App)
+})
diff --git a/ruoyi-ui/src/views/login.vue b/ruoyi-ui/src/views/login.vue
index cdae8dc7..3eccb88a 100644
--- a/ruoyi-ui/src/views/login.vue
+++ b/ruoyi-ui/src/views/login.vue
@@ -1,7 +1,7 @@
- 若依后台管理系统
+ 基金销售后台日志分析管理平台
- 若依后台管理系统
+ 基金销售后台日志分析管理平台
diff --git a/ruoyi-ui/src/views/system/trequest/index.vue b/ruoyi-ui/src/views/system/trequest/index.vue
new file mode 100644
index 00000000..cc7ca90f
--- /dev/null
+++ b/ruoyi-ui/src/views/system/trequest/index.vue
@@ -0,0 +1,707 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ parseTime(scope.row.vcRequestDate, '{y}-{m}-{d}') }}
+
+
+
+
+ {{ parseTime(scope.row.vcRequestTime, '{y}-{m}-{d}') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index 2506c93a..903d2c05 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -7,7 +7,7 @@ function resolve(dir) {
const CompressionPlugin = require('compression-webpack-plugin')
-const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题
+const name = process.env.VUE_APP_TITLE || '基金销售后台日志分析管理平台' // 网页标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口
@@ -90,9 +90,7 @@ module.exports = {
})
.end()
- config
- .when(process.env.NODE_ENV !== 'development',
- config => {
+ config.when(process.env.NODE_ENV !== 'development', config => {
config
.plugin('ScriptExtHtmlWebpackPlugin')
.after('html')
@@ -101,36 +99,36 @@ module.exports = {
inline: /runtime\..*\.js$/
}])
.end()
- config
- .optimization.splitChunks({
- chunks: 'all',
- cacheGroups: {
- libs: {
- name: 'chunk-libs',
- test: /[\\/]node_modules[\\/]/,
- priority: 10,
- chunks: 'initial' // only package third parties that are initially dependent
- },
- elementUI: {
- name: 'chunk-elementUI', // split elementUI into a single package
- priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
- test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
- },
- commons: {
- name: 'chunk-commons',
- test: resolve('src/components'), // can customize your rules
- minChunks: 3, // minimum common number
- priority: 5,
- reuseExistingChunk: true
- }
+
+ config.optimization.splitChunks({
+ chunks: 'all',
+ cacheGroups: {
+ libs: {
+ name: 'chunk-libs',
+ test: /[\\/]node_modules[\\/]/,
+ priority: 10,
+ chunks: 'initial' // only package third parties that are initially dependent
+ },
+ elementUI: {
+ name: 'chunk-elementUI', // split elementUI into a single package
+ test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm
+ priority: 20 // the weight needs to be larger than libs and app or it will be packaged into libs or app
+ },
+ commons: {
+ name: 'chunk-commons',
+ test: resolve('src/components'), // can customize your rules
+ minChunks: 3, // minimum common number
+ priority: 5,
+ reuseExistingChunk: true
}
- })
+ }
+ })
+
config.optimization.runtimeChunk('single'),
{
from: path.resolve(__dirname, './public/robots.txt'), //防爬虫文件
to: './' //到根目录下
}
- }
- )
+ })
}
}