|
@@ -208,6 +208,7 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public String addInfo(ExpenseInfo expenseInfo) {
|
|
public String addInfo(ExpenseInfo expenseInfo) {
|
|
|
|
+ Integer flag=0;
|
|
expenseInfo.setId(IdGenerator.generateUUID());
|
|
expenseInfo.setId(IdGenerator.generateUUID());
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
Integer num = this.expenseCount(expenseInfo) + 1;
|
|
Integer num = this.expenseCount(expenseInfo) + 1;
|
|
@@ -257,7 +258,6 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
|
|
if(!"1".equals(expenseInfo.getCostType())&&!"1".equals(expenseInfo.getExpensesPurpose())) {
|
|
if(!"1".equals(expenseInfo.getCostType())&&!"1".equals(expenseInfo.getExpensesPurpose())) {
|
|
expenseInfo.setUnallocatedAmount(expenseInfo.getAmountMoney());
|
|
expenseInfo.setUnallocatedAmount(expenseInfo.getAmountMoney());
|
|
}
|
|
}
|
|
- this.insert(expenseInfo);
|
|
|
|
//合同粮款校验
|
|
//合同粮款校验
|
|
if("1".equals(expenseInfo.getCostType())&&"1".equals(expenseInfo.getExpensesPurpose())) {
|
|
if("1".equals(expenseInfo.getCostType())&&"1".equals(expenseInfo.getExpensesPurpose())) {
|
|
ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
ContractManagementInfo contractManagementInfo=contractManagementInfoService.selectOne(new EntityWrapper<ContractManagementInfo>()
|
|
@@ -269,21 +269,24 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
|
|
Double grainFund=contractManagementInfo.getUnitContractPrice()*contractManagementInfo.getWeight();
|
|
Double grainFund=contractManagementInfo.getUnitContractPrice()*contractManagementInfo.getWeight();
|
|
//合同已请粮款金额
|
|
//合同已请粮款金额
|
|
Double money=0d;
|
|
Double money=0d;
|
|
|
|
+ //合同保证金余额+预付款余额
|
|
|
|
+ money=contractManagementInfo.getAccumulatedPrepayment()-contractManagementInfo.getAccumulatedRecovery()-contractManagementInfo.getPrepaidAssigned()+contractManagementInfo.getAccumulatedMargin()-contractManagementInfo.getWithdrawalOfMargin()-contractManagementInfo.getAllocatedMargin();
|
|
List<ExpenseInfo> expenseInfoList=this.selectList(new EntityWrapper<ExpenseInfo>()
|
|
List<ExpenseInfo> expenseInfoList=this.selectList(new EntityWrapper<ExpenseInfo>()
|
|
.eq("contract_no",expenseInfo.getContractNo())
|
|
.eq("contract_no",expenseInfo.getContractNo())
|
|
.ne("status","已驳回")
|
|
.ne("status","已驳回")
|
|
.eq("comp_id",expenseInfo.getCompId()));
|
|
.eq("comp_id",expenseInfo.getCompId()));
|
|
if (!CollectionUtils.isEmpty(expenseInfoList)){
|
|
if (!CollectionUtils.isEmpty(expenseInfoList)){
|
|
- money = expenseInfoList.stream().mapToDouble(ExpenseInfo::getAmountMoney).sum();
|
|
|
|
|
|
+ money = money+ expenseInfoList.stream().mapToDouble(ExpenseInfo::getAmountMoney).sum();
|
|
}
|
|
}
|
|
//本次金额加上已请款金额>总粮款时
|
|
//本次金额加上已请款金额>总粮款时
|
|
-// if (money+expenseInfo.getAmountMoney()>grainFund){
|
|
|
|
-// throw new YException(YExceptionEnum.AMOUNT_EXCEEDS__ERROR);
|
|
|
|
-// }
|
|
|
|
|
|
+ if (money+expenseInfo.getAmountMoney()>grainFund){
|
|
|
|
+ flag=1;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+ this.insert(expenseInfo);
|
|
//分配列表
|
|
//分配列表
|
|
List<ExpenseAllocationInfo> expenseAllocationInfoList = expenseInfo.getExpenseAllocationInfoList();
|
|
List<ExpenseAllocationInfo> expenseAllocationInfoList = expenseInfo.getExpenseAllocationInfoList();
|
|
if (!CollectionUtils.isEmpty(expenseAllocationInfoList)) {
|
|
if (!CollectionUtils.isEmpty(expenseAllocationInfoList)) {
|
|
@@ -323,12 +326,16 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
|
|
workflowService.activateInstance(expenseInfo.getWorkflowId(), expenseInfo.getId());
|
|
workflowService.activateInstance(expenseInfo.getWorkflowId(), expenseInfo.getId());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (flag==1){
|
|
|
|
+ return "合同请款金额超出总粮款!";
|
|
|
|
+ }
|
|
return "ok";
|
|
return "ok";
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public String editInfo(ExpenseInfo expenseInfo) {
|
|
public String editInfo(ExpenseInfo expenseInfo) {
|
|
|
|
+ Integer flag=0;
|
|
ExpenseInfo expenseInfo1=this.selectById(expenseInfo.getId());
|
|
ExpenseInfo expenseInfo1=this.selectById(expenseInfo.getId());
|
|
//确认收款
|
|
//确认收款
|
|
if ("0".equals(expenseInfo.getFlag())) {
|
|
if ("0".equals(expenseInfo.getFlag())) {
|
|
@@ -506,17 +513,19 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
|
|
Double grainFund=contractManagementInfo.getUnitContractPrice()*contractManagementInfo.getWeight();
|
|
Double grainFund=contractManagementInfo.getUnitContractPrice()*contractManagementInfo.getWeight();
|
|
//合同已请粮款金额
|
|
//合同已请粮款金额
|
|
Double money=0d;
|
|
Double money=0d;
|
|
|
|
+ //合同保证金余额+预付款余额
|
|
|
|
+ money=contractManagementInfo.getAccumulatedPrepayment()-contractManagementInfo.getAccumulatedRecovery()-contractManagementInfo.getPrepaidAssigned()+contractManagementInfo.getAccumulatedMargin()-contractManagementInfo.getWithdrawalOfMargin()-contractManagementInfo.getAllocatedMargin();
|
|
List<ExpenseInfo> expenseInfoList=this.selectList(new EntityWrapper<ExpenseInfo>()
|
|
List<ExpenseInfo> expenseInfoList=this.selectList(new EntityWrapper<ExpenseInfo>()
|
|
.eq("contract_no",expenseInfo1.getContractNo())
|
|
.eq("contract_no",expenseInfo1.getContractNo())
|
|
.ne("status","已驳回")
|
|
.ne("status","已驳回")
|
|
.eq("comp_id",expenseInfo1.getCompId()));
|
|
.eq("comp_id",expenseInfo1.getCompId()));
|
|
if (!CollectionUtils.isEmpty(expenseInfoList)){
|
|
if (!CollectionUtils.isEmpty(expenseInfoList)){
|
|
- money = expenseInfoList.stream().mapToDouble(ExpenseInfo::getAmountMoney).sum();
|
|
|
|
|
|
+ money = money+ expenseInfoList.stream().mapToDouble(ExpenseInfo::getAmountMoney).sum();
|
|
}
|
|
}
|
|
//本次金额加上已请款金额>总粮款时
|
|
//本次金额加上已请款金额>总粮款时
|
|
-// if (money+expenseInfo.getAmountMoney()>grainFund){
|
|
|
|
-// throw new YException(YExceptionEnum.AMOUNT_EXCEEDS__ERROR);
|
|
|
|
-// }
|
|
|
|
|
|
+ if (money+expenseInfo.getAmountMoney()>grainFund){
|
|
|
|
+ flag=1;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -565,13 +574,11 @@ public class ExpenseInfoServiceImpl extends ServiceImpl<ExpenseInfoMapper, Expen
|
|
expenseInfo.setStatus(StatusEnum.REJECTED.getName());
|
|
expenseInfo.setStatus(StatusEnum.REJECTED.getName());
|
|
}
|
|
}
|
|
// 主表信息编辑
|
|
// 主表信息编辑
|
|
- boolean one = this.updateById(expenseInfo);
|
|
|
|
- // 假如成功返回ok
|
|
|
|
- if (one) {
|
|
|
|
|
|
+ this.updateById(expenseInfo);
|
|
|
|
+ if (flag==1) {
|
|
return "OK";
|
|
return "OK";
|
|
- } else {
|
|
|
|
- return "NG";
|
|
|
|
}
|
|
}
|
|
|
|
+ return "OK";
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|