新增财务分析查询接口,新增编辑时单独处理财务分析相关表的类型逻辑

master
xiaoCJ 5 months ago
parent a645d41b60
commit 0e0a5b4ffa

@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
import com.sztzjy.money_management.annotation.AnonymousAccess;
import com.sztzjy.money_management.config.Constant;
import com.sztzjy.money_management.entity.*;
import com.sztzjy.money_management.entity.dto.CaseFinanceDto;
import com.sztzjy.money_management.entity.dto.CaseInvestmentPlanDto;
import com.sztzjy.money_management.mapper.*;
import com.sztzjy.money_management.service.CaseService;
@ -45,7 +46,14 @@ public class CaseController {
private p2pDataMapper p2pDataMapper;
@Autowired
private SynthesisPlanClientMapper synthesisPlanClientMapper;
@Autowired
private CaseFinanceLiabilityMapper caseFinanceLiabilityMapper;
@Autowired
private CaseIncomeAndExpensesMapper caseIncomeAndExpensesMapper;
@Autowired
private CaseCashFlowMapper caseCashFlowMapper;
@Autowired
private CaseFinancialRatiosMapper caseFinancialRatiosMapper;
@PostMapping("/insertCase")
@ApiOperation("新增/编辑案例学生端新增传isAnswer为学生答案+userId")
@ -64,6 +72,47 @@ public class CaseController {
}
@PostMapping("/getCaseFinance")
@ApiOperation("老师端/管理员端/查询财务分析四张表")
@AnonymousAccess
private ResultEntity<CaseFinanceDto> getCaseFinance(@RequestParam String caseId) {
CaseFinanceDto caseFinanceDto = new CaseFinanceDto();
CaseFinanceLiabilityExample caseFinanceLiabilityExample = new CaseFinanceLiabilityExample();
caseFinanceLiabilityExample.createCriteria().andCaseIdEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案");
List<CaseFinanceLiability> caseFinanceLiabilities = caseFinanceLiabilityMapper.selectByExample(caseFinanceLiabilityExample);
if (caseFinanceLiabilities != null && !caseFinanceLiabilities.isEmpty()) {
CaseFinanceLiability caseFinanceLiability = caseFinanceLiabilities.get(0);
caseFinanceDto.setCaseFinanceLiability(caseFinanceLiability);
}
CaseIncomeAndExpensesExample caseIncomeAndExpensesExample = new CaseIncomeAndExpensesExample();
caseIncomeAndExpensesExample.createCriteria().andCaseidEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案");
List<CaseIncomeAndExpenses> caseIncomeAndExpenses = caseIncomeAndExpensesMapper.selectByExample(caseIncomeAndExpensesExample);
if (caseIncomeAndExpenses != null && !caseIncomeAndExpenses.isEmpty()) {
CaseIncomeAndExpenses caseIncomeAndExpenses1 = caseIncomeAndExpenses.get(0);
caseFinanceDto.setCaseIncomeAndExpenses(caseIncomeAndExpenses1);
}
CaseCashFlowExample example = new CaseCashFlowExample();
example.createCriteria().andCaseidEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案");
List<CaseCashFlow> caseCashFlows = caseCashFlowMapper.selectByExample(example);
if (caseCashFlows != null && !caseCashFlows.isEmpty()) {
CaseCashFlow caseCashFlow = caseCashFlows.get(0);
caseFinanceDto.setCaseCashFlow(caseCashFlow);
}
CaseFinancialRatiosExample caseFinancialRatiosExample = new CaseFinancialRatiosExample();
caseFinancialRatiosExample.createCriteria().andCaseidEqualTo(caseId).andUserIdIsNull().andIsAnswerEqualTo("题目答案");
List<CaseFinancialRatiosWithBLOBs> caseFinancialRatiosWithBLOBs = caseFinancialRatiosMapper.selectByExampleWithBLOBs(caseFinancialRatiosExample);
if (caseFinancialRatiosWithBLOBs != null && !caseFinancialRatiosWithBLOBs.isEmpty()) {
CaseFinancialRatiosWithBLOBs caseFinancialRatios = caseFinancialRatiosWithBLOBs.get(0);
caseFinanceDto.setCaseFinancialRatios(caseFinancialRatios);
}
return new ResultEntity<CaseFinanceDto>(caseFinanceDto);
}
@PostMapping("/getInsurancePro")
@ApiOperation("查询保险规划产品名称")
@AnonymousAccess

@ -0,0 +1,31 @@
package com.sztzjy.money_management.entity.dto;
import com.sztzjy.money_management.entity.CaseCashFlow;
import com.sztzjy.money_management.entity.CaseFinanceLiability;
import com.sztzjy.money_management.entity.CaseFinancialRatiosWithBLOBs;
import com.sztzjy.money_management.entity.CaseIncomeAndExpenses;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author xcj
* @Date 2024/10/30
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class CaseFinanceDto {
@ApiModelProperty("案例-财务分析-资产负债表")
private CaseFinanceLiability caseFinanceLiability;
@ApiModelProperty("案例-财务分析-收支储蓄")
private CaseIncomeAndExpenses caseIncomeAndExpenses;
@ApiModelProperty("案例财务分析-现金流量")
private CaseCashFlow caseCashFlow;
@ApiModelProperty("财务比率分析表")
private CaseFinancialRatiosWithBLOBs caseFinancialRatios;
}

@ -529,54 +529,10 @@ public class CaseServiceImpl implements CaseService {
example.createCriteria().andIdCardEqualTo(newCase.getIdCard());
List<CaseInfo> list = caseInfoMapper.selectByExampleWithBLOBs(example);
// //判断身份证号是否存在,不存在才新增 客户信息 和综合规划客户表
// if (list == null || list.isEmpty()) {
// //前端没传主键ID为新增
// newCase.setCaseid(IdUtil.randomUUID());
// newCase.setAddTime(new Date());
// caseInfoMapper.insert(newCase);
// //综合规划需要额外新增一张表
// if (newCase.getModel().equals("综合规划")) {
// ComCase comCase = new ComCase();
// comCase.setCaseid(newCase.getCaseid());
// comCase.setComCaseId(IdUtil.randomUUID());
// comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType());
// comCaseMapper.insert(comCase);
// }
// insertSynthesisPlanClient(newCase);
// return newCase.getCaseid();
// } else {
// //修改案例信息表
//
// //传了相同的身份证系统判定是编辑但是没传CaseId直接return
// if (StringUtils.isBlank(newCase.getCaseid())) {
// return "false";
// }
// caseInfoMapper.updateByPrimaryKeySelective(newCase);
//
// //修改实训类型
// if (newCase.getModel().equals("综合规划")) {
// ComCaseExample example1 = new ComCaseExample();
// example1.createCriteria().andCaseidEqualTo(newCase.getCaseid());
// List<ComCase> comCases = comCaseMapper.selectByExample(example1);
// ComCase comCase = comCases.get(0);
// comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType());
// comCaseMapper.updateByPrimaryKeySelective(comCase);
// }
//
// //同时修改综合综合规划客户表
// SynthesisPlanClient synthesisPlanClient = new SynthesisPlanClient();
// synthesisPlanClient.setName(newCase.getCustomerName());
// synthesisPlanClient.setIdcard(newCase.getIdCard());
// synthesisPlanClient.setManageMoneyMattersType(newCase.getManageMoneyMattersType());
// synthesisPlanClient.setAge(newCase.getAge());
// synthesisPlanClientMapper.updateByPrimaryKeySelective(synthesisPlanClient);
// return newCase.getCaseid();
// }
// }
// return null;
// }
String manageMoneyMattersType = newCase.getManageMoneyMattersType();
//单独处理财务分析相关表的类型
String type = getString(newCase, manageMoneyMattersType);
//新增
if (StringUtils.isBlank(newCase.getCaseid())) {
@ -592,7 +548,7 @@ public class CaseServiceImpl implements CaseService {
ComCase comCase = new ComCase();
comCase.setCaseid(newCase.getCaseid());
comCase.setComCaseId(IdUtil.randomUUID());
comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType());
comCase.setManageMoneyMattersType(type);
comCaseMapper.insert(comCase);
}
insertSynthesisPlanClient(newCase);
@ -619,7 +575,7 @@ public class CaseServiceImpl implements CaseService {
example1.createCriteria().andCaseidEqualTo(newCase.getCaseid());
List<ComCase> comCases = comCaseMapper.selectByExample(example1);
ComCase comCase = comCases.get(0);
comCase.setManageMoneyMattersType(newCase.getManageMoneyMattersType());
comCase.setManageMoneyMattersType(manageMoneyMattersType);
comCaseMapper.updateByPrimaryKeySelective(comCase);
}
@ -627,7 +583,7 @@ public class CaseServiceImpl implements CaseService {
SynthesisPlanClient synthesisPlanClient = new SynthesisPlanClient();
synthesisPlanClient.setName(newCase.getCustomerName());
synthesisPlanClient.setIdcard(newCase.getIdCard());
synthesisPlanClient.setManageMoneyMattersType(newCase.getManageMoneyMattersType());
synthesisPlanClient.setManageMoneyMattersType(type);
synthesisPlanClient.setAge(newCase.getAge());
synthesisPlanClientMapper.updateByPrimaryKeySelective(synthesisPlanClient);
return newCase.getCaseid();
@ -637,6 +593,24 @@ public class CaseServiceImpl implements CaseService {
}
//单独处理财务分析相关表的类型
private String getString(CaseInfo newCase, String manageMoneyMattersType) {
String[] split = manageMoneyMattersType.split(",");
List<String> list1 = Arrays.asList(split);
String type = "";
for (String s : list1) {
if (s.equals("财务分析")) {
s = "财务分析-收支储蓄表,财务分析-资产负债表,财务分析-现金流量表,财务分析-财务比例分析";
}
type += s + ",";
}
type = type.replaceAll(",$", "");
newCase.setManageMoneyMattersType(type);
return type;
}
//判断综合规划客户表是否存在,取status字段用于判断学生编辑综合规划使用
private ResultEntity<HttpStatus> getHttpStatusResultEntity(String caseid, String userId) {
//提交过答案则直接返回

Loading…
Cancel
Save