1 changed files with 104 additions and 0 deletions
@ -0,0 +1,104 @@ |
|||||
|
package com.easy.admin.modules.huzhou.controller; |
||||
|
|
||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
||||
|
import com.easy.admin.auth.model.SysUser; |
||||
|
import com.easy.admin.common.api.vo.Result; |
||||
|
import com.easy.admin.common.core.exception.EasyException; |
||||
|
import com.easy.admin.modules.huzhou.dao.HuzhouProjectinfoMoneyMapper; |
||||
|
import com.easy.admin.modules.huzhou.entity.HuzhouContractinfo; |
||||
|
import com.easy.admin.modules.huzhou.entity.HuzhouProjectinfoMoney; |
||||
|
import com.easy.admin.modules.huzhou.service.IHuzhouContractinfoService; |
||||
|
import com.easy.admin.util.ShiroUtil; |
||||
|
import com.fasterxml.jackson.core.JsonProcessingException; |
||||
|
import com.fasterxml.jackson.core.type.TypeReference; |
||||
|
import com.fasterxml.jackson.databind.ObjectMapper; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.web.bind.annotation.*; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @Author gejunhao |
||||
|
* @Date 2025/2/12 9:52 |
||||
|
* @Description: 用于测试接口逻辑 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@RequestMapping("/test") |
||||
|
@RestController |
||||
|
public class TestController { |
||||
|
@Resource |
||||
|
private IHuzhouContractinfoService contractinfoService; |
||||
|
@Autowired |
||||
|
private HuzhouProjectinfoMoneyMapper projectinfoMoneyMapper; |
||||
|
|
||||
|
@GetMapping("/getContractInfo") |
||||
|
public Result<?> getProjectContractInfo(String projectId,String taskName){ |
||||
|
// 查询存在的问题:根据提交的合同信息去查询 用户提交的 taskName可能更改,只能根据projectId查询,查询的数据是 有两中Flag区分
|
||||
|
// 合同签订阶段回显的是 合同信息(计划)
|
||||
|
LambdaQueryWrapper<HuzhouContractinfo> qw = new LambdaQueryWrapper<>(); |
||||
|
qw.eq(HuzhouContractinfo::getProjectId, projectId) |
||||
|
.eq(HuzhouContractinfo::getFlag, taskName.equals("合同签订") ? "计划" : "实际"); |
||||
|
// 2.查询数据库中符合条件的合同信息
|
||||
|
// List<HuzhouContractinfo> dbList = contractinfoService.list(qw);
|
||||
|
// boolean flag = contractinfoService.removeBatchByIds(dbList);
|
||||
|
// if (flag){
|
||||
|
// log.info("删除原有数据成功!---{}",dbList);
|
||||
|
// }
|
||||
|
SysUser currentUser = ShiroUtil.getCurrentUser(); |
||||
|
currentUser.getId(); |
||||
|
return Result.OK(currentUser.getId()); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 金额校验 |
||||
|
* @param contractinfoList |
||||
|
* @return |
||||
|
* @throws JsonProcessingException |
||||
|
*/ |
||||
|
@PostMapping("/checkAmount") |
||||
|
public Result<?> checkAmount( @RequestParam(value = "contractinfoList", required = false) String contractinfoList, |
||||
|
@RequestParam(value = "contractMoneyFieldsValue", required = false) String contractMoneyFieldsValue) throws JsonProcessingException { |
||||
|
ObjectMapper mapper = new ObjectMapper(); |
||||
|
// 1.需要更新的合同信息集合
|
||||
|
List<HuzhouContractinfo> contractList = mapper.readValue(contractinfoList, new TypeReference<List<HuzhouContractinfo>>() { |
||||
|
}); |
||||
|
Boolean flag = false; |
||||
|
String msg = "总金额与其他金额之和不相等,请重新输入!"; |
||||
|
HuzhouProjectinfoMoney huzhouProjectinfoMoney = new HuzhouProjectinfoMoney(); |
||||
|
ObjectMapper mapper2 = new ObjectMapper(); |
||||
|
huzhouProjectinfoMoney = mapper2.readValue(contractMoneyFieldsValue, new TypeReference<HuzhouProjectinfoMoney>(){}); |
||||
|
HuzhouProjectinfoMoney projectMoney = projectinfoMoneyMapper.selectById(huzhouProjectinfoMoney.getId()); |
||||
|
Double contractTotalMoney = projectMoney.getContractTotalMoney(); |
||||
|
Double contractSelfMoney = projectMoney.getContractSelfMoney(); |
||||
|
Double contractCentralMoney = projectMoney.getContractCentralMoney(); |
||||
|
Double contractProvincialMoney = projectMoney.getContractProvincialMoney(); |
||||
|
Double contractCityMoney = projectMoney.getContractCityMoney(); |
||||
|
Double contractCountyMoney = projectMoney.getContractCountyMoney(); |
||||
|
Double approvalProvincialMoney = projectMoney.getApprovalProvincialMoney(); |
||||
|
|
||||
|
// 总金额等于其他金额相加之和
|
||||
|
for (HuzhouContractinfo contract : contractList) { |
||||
|
Double totalMoney = contract.getTotalMoney(); |
||||
|
Double centralMoney = contract.getCentralMoney() != null ? contract.getCentralMoney() : 0.0; |
||||
|
Double provincialMoney = contract.getProvincialMoney() != null ? contract.getProvincialMoney() : 0.0; |
||||
|
Double cityMoney = contract.getCityMoney() != null ? contract.getCityMoney() : 0.0; |
||||
|
Double countyMoney = contract.getCountyMoney() != null ? contract.getCountyMoney() : 0.0; |
||||
|
Double selfMoney = contract.getSelfMoney() != null ? contract.getSelfMoney() : 0.0; |
||||
|
|
||||
|
// 计算其他资金来源金额之和
|
||||
|
double sumOfOtherMoneys = centralMoney + provincialMoney + cityMoney + countyMoney + selfMoney; |
||||
|
|
||||
|
// 检查总金额是否等于其他资金来源金额之和
|
||||
|
if (Double.compare(totalMoney, sumOfOtherMoneys) != 0) { |
||||
|
// 可以在这里抛出异常或者记录错误信息
|
||||
|
throw new EasyException("总金额与其他金额之和不相等,请重新输入! " ); |
||||
|
}else { |
||||
|
flag = true; |
||||
|
//msg = "总金额与其他金额之和相等,校验通过!" ;
|
||||
|
} |
||||
|
} |
||||
|
return Result.OK(flag); |
||||
|
} |
||||
|
} |
Loading…
Reference in new issue