Merge remote-tracking branch 'origin/branch20211210' into branch20211210

This commit is contained in:
liangqitao
2021-12-16 10:03:33 +08:00
12 changed files with 202 additions and 72 deletions
@@ -155,6 +155,9 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
if(!StringUtils.isBlank(payCompanyManagement.getCompanyName()) && payCompanyManagement.getCompanyName().length() > 50){
return Result.error("企业名称长度不能大于50个字符!");
}
if(!StringUtils.isBlank(payCompanyManagement.getMemberNature()) && !"2".equals(payCompanyManagement.getMemberNature())){
return Result.error("理事会标识错误");
}
QueryWrapper<PayCompanyManagement> queryWrapper = QueryGenerator.initQueryWrapper(payCompanyManagement, req.getParameterMap());
Page<PayCompanyManagement> page = new Page<PayCompanyManagement>(pageNo, pageSize);
IPage<PayCompanyManagement> pageList = payCompanyManagementService.page(page, queryWrapper);
@@ -22,7 +22,6 @@ import com.jero.company.service.IPayContactsManagementService;
import com.jero.data.entity.*;
import com.jero.data.entity.DTO.PayCaseCommitteeSubitemDTO;
import com.jero.data.entity.VO.payCaseCommitteeSubitemVO;
import com.jero.data.mapper.PayCaseCommitteeSubitemMapper;
import com.jero.data.service.IPayCaseCommitteeService;
import com.jero.data.service.IPayCaseCommitteeSubitemService;
import com.jero.mail.commont.constant;
@@ -30,11 +29,8 @@ import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.jero.meeting.service.IPayMeetingRemindRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.util.AmountUtil;
import com.jero.util.SearchUtil;
import io.swagger.annotations.ApiImplicitParam;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.jetbrains.annotations.NotNull;
@@ -32,5 +32,17 @@ public class PayPaymentCheckController extends JeroController<PayPaymentRecordSu
return Result.OK("操作成功");
}
@ApiOperation(value="审核", notes="审核")
@PostMapping(value = "/check")
public Result<?> check(@RequestBody PayPaymentRecord payPaymentRecord) {
try{
payPaymentCheckService.check(payPaymentRecord);
}catch (Exception e){
log.error("审核异常",e);
return Result.error(e.getMessage());
}
return Result.OK("操作成功");
}
}
@@ -3,6 +3,7 @@ package com.jero.payment.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.payment.entity.PayPaymentRecordSub;
import com.jero.payment.entity.PayPaymentRecord;
import org.springframework.web.bind.annotation.RequestBody;
import java.math.BigDecimal;
@@ -14,7 +15,13 @@ public interface IPayPaymentCheckService extends IService<PayPaymentRecordSub> {
* 申请
* @param payPaymentRecord
*/
public void applicant(PayPaymentRecord payPaymentRecord);
void applicant(PayPaymentRecord payPaymentRecord);
/**
* 审核
* @param payPaymentRecord
*/
void check(PayPaymentRecord payPaymentRecord);
/**
* 得到缴费状态
@@ -58,6 +58,21 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
void updateStandards(String tbPaymentId, MemberInfo memberInfo);
/**
* 累加实收并四舍五入
* @param paidAmount 实收
* @param amountReceived 到账
* @return
*/
BigDecimal addPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived);
/**
* 得到到账状态
* @param receivableAmount 应收
* @param paidAmount 实收
* @return
*/
Integer getInAccount(BigDecimal receivableAmount,BigDecimal paidAmount);
//标协类型新增时条件校验
void type5AddCheck(PayPaymentRecord payPaymentRecord);
@@ -145,6 +145,116 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
payPaymentCheckMapper.insert(payPaymentRecordSub);
}
/**
* 审核
* @param payPaymentRecord
*/
@Override
public void check(PayPaymentRecord payPaymentRecord){
//拒绝
if(PaymentStatusEnum.REJECTED.getCode().equals(payPaymentRecord.getPaymentStatus())){
LoginUser sysUser = (LoginUser)SecurityUtils.getSubject().getPrincipal();
payPaymentRecord.setReviewerId(sysUser.getId());
payPaymentRecord.setReviewerName(sysUser.getRealname());
//更新来款记录主表
payPaymentRecordMapper.updateById(payPaymentRecord);
//新增来款记录表子表
PayPaymentRecordSub payPaymentRecordSub = new PayPaymentRecordSub();
payPaymentRecordSub.setRecordId(payPaymentRecord.getId());
BeanUtils.copyProperties(payPaymentRecord, payPaymentRecordSub);
payPaymentCheckMapper.insert(payPaymentRecordSub);
return;
}
//通过
BigDecimal newPaidAmount;
Integer inAccount;
String paymentStatus;
switch (String.valueOf(payPaymentRecord.getProjectType())){
// 普通项目
case PayIncomeContractCommon.PROJECT_TYPE1:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayCommonProject payCommonProject = payCommonProjectMapper.selectById(payPaymentRecord.getProjectId());
newPaidAmount =payPaymentRecordService.addPaidAmount(payCommonProject.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = payPaymentRecordService.getInAccount(payCommonProject.getReceivableAmount(), newPaidAmount);//到账状态
paymentStatus = getPaymentStatus(payCommonProject.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
//更新主列表
payCommonProject.setPaidAmount(newPaidAmount);
payCommonProject.setInAccount(inAccount);
payCommonProject.setPaymentStatus(paymentStatus);
payCommonProjectMapper.updateById(payCommonProject);
break;
// 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayWorkingGroupSubItem payWorking = payWorkingGroupSubItemMapper.selectById(payPaymentRecord.getProjectId());
newPaidAmount =payPaymentRecordService.addPaidAmount(payWorking.getPaidAmount(),payPaymentRecord.getAmountReceived());//累加实收
inAccount = payPaymentRecordService.getInAccount(payWorking.getReceivableAmount(), newPaidAmount);//到账状态
paymentStatus = getPaymentStatus(payWorking.getReceivableAmount(), newPaidAmount, PaymentStatusEnum.COMPLETED.getCode());//缴费状态
//更新主列表
payWorking.setPaidAmount(newPaidAmount);
payWorking.setInAccount(inAccount);
payWorking.setPaymentStatus(paymentStatus);
payWorkingGroupSubItemMapper.updateById(payWorking);
break;
//会议项目
case PayIncomeContractCommon.PROJECT_TYPE3:
// //来款条件校验
// payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
//
// PayMeetingSituation meeting = payMeetingSituationMapper.selectById(payPaymentRecord.getProjectId());
//
// PayMeetingSituation meeting = new PayMeetingSituation();
// meeting.setId(payPaymentRecord.getProjectId());
// meeting.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
// payMeetingSituationMapper.updateById(meeting);
break;
//会员项目
case PayIncomeContractCommon.PROJECT_TYPE4:
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
PayMemberProjectSubitem member = new PayMemberProjectSubitem();
member.setId(payPaymentRecord.getProjectId());
member.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
payMemberProjectSubitemMapper.updateById(member);
break;
//标协会员
case PayIncomeContractCommon.PROJECT_TYPE5:
//标协类型条件校验
payPaymentRecordService.type5AddCheck(payPaymentRecord);
//来款条件校验
payPaymentRecordService.amountReceivedVerification( payPaymentRecord, ProjectCommon.PAYMENT_FLAG2);
TbMemberProjectSubitem tbMember= new TbMemberProjectSubitem();
tbMember.setId(payPaymentRecord.getProjectId());
tbMember.setPaymentStatus(PaymentStatusEnum.TO_BE_REVIEWED.getCode());
tbMemberProjectSubitemMapper.updateById(tbMember);
break;
default:break;
}
}
/**
* 得到缴费状态
* @param amountReceivable 应收
@@ -545,7 +545,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @param amountReceived 到账
* @return
*/
private BigDecimal addPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived){
@Override
public BigDecimal addPaidAmount(BigDecimal paidAmount,BigDecimal amountReceived){
if(paidAmount == null){
paidAmount = new BigDecimal("0");
@@ -559,7 +560,8 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
* @param paidAmount 实收
* @return
*/
private Integer getInAccount(BigDecimal receivableAmount,BigDecimal paidAmount){
@Override
public Integer getInAccount(BigDecimal receivableAmount,BigDecimal paidAmount){
BigDecimal zero =new BigDecimal("0");
if(receivableAmount == null){
receivableAmount = new BigDecimal("0");
@@ -1184,6 +1184,23 @@
GROUP BY tmps1.id) tmps2 group by tmps2.project_id) tmps on(tmp.id=tmps.project_id)
left JOIN sys_user su on(tmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by tmp.director_id
union all
SELECT
tmp.director_id as principalId,
tmp.director_name as principalName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmp.create_time as createTime
FROM tb_member_project tmp right join (
select id,project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,max(tmps2.payment_date) as payment_date
from
(select tmps1.id,tmps1.project_id,amount_receivable,paid_amount,max(ppr.payment_date) as payment_date from tb_certificate_payment tmps1
inner join pay_payment_record ppr on(tmps1.id=ppr.project_id)
GROUP BY tmps1.id) tmps2 group by tmps2.project_id) tmps on(tmp.id=tmps.project_id)
left JOIN sys_user su on(tmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by tmp.director_id
) pp
group by pp.principalId order by pp.createTime) ppp order by ppp.comeAllMoney ) pppp left join sys_user su on(pppp.principalId=su.id) left join sys_depart sd on(su.org_code=sd.org_code) group by sd.org_code order by pppp.comeAllMoney desc limit 10
</select>
@@ -1531,6 +1548,23 @@
GROUP BY tmps1.id) tmps2 group by tmps2.project_id) tmps on(tmp.id=tmps.project_id)
left JOIN sys_user su on(tmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by tmp.director_id
union all
SELECT
tmp.director_id as principalId,
tmp.director_name as principalName,
sum(tmps.allMoney) as allMoney,
sum(tmps.comeAllMoney) as comeAllMoney,
tmp.create_time as createTime
FROM tb_member_project tmp right join (
select id,project_id,SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,max(tmps2.payment_date) as payment_date
from
(select tmps1.id,tmps1.project_id,amount_receivable,paid_amount,max(ppr.payment_date) as payment_date from tb_certificate_payment tmps1
inner join pay_payment_record ppr on(tmps1.id=ppr.project_id)
GROUP BY tmps1.id) tmps2 group by tmps2.project_id) tmps on(tmp.id=tmps.project_id)
left JOIN sys_user su on(tmp.director_id=su.id) left join sys_depart sd on(su.org_code=sd.org_code)
group by tmp.director_id
) pp
group by pp.principalId order by pp.createTime) ppp order by ppp.comeAllMoney desc limit 10
</select>
@@ -2318,6 +2352,22 @@
group by tmp1s.id) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
group by tpms.company_id) ppp
union all
SELECT
company_id as chargeCompanyTemporaryId,
company_name as chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
createTime
FROM (select SUM(amount_receivable) AS
allMoney,SUM(paid_amount) AS comeAllMoney,tpms.create_time as createTime ,company_id,company_name
from(select amount_receivable,paid_amount,tmp1s.create_time,company_id,company_name,tmp1s.project_id
from tb_certificate_payment tmp1s
inner join pay_payment_record ppr on(tmp1s.id=ppr.project_id)
group by tmp1s.id) tpms
left join tb_member_project tmp on(tmp.id=tpms.project_id)
group by tpms.company_id) tcps
) pp
group by pp.chargeCompanyTemporaryId order by pp.createTime) ppp
order by ppp.comeAllMoney desc limit 10
@@ -6,38 +6,18 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.system.vo.SysDepartModel;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.oConvertUtils;
import com.jero.mail.commont.constant;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.service.IPayMemberProjectService;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.modules.system.entity.SysDepart;
import com.jero.modules.system.entity.SysRole;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.ISysDepartService;
import com.jero.modules.system.service.ISysRoleService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.util.UserUtil;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupStatistics;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.util.AmountUtil;
import com.jero.util.SearchUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -49,8 +29,6 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -1,30 +1,21 @@
package com.jero.statistics.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.mail.commont.constant;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.statistics.entity.*;
import com.jero.util.AmountUtil;
import com.jero.util.SearchUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -36,7 +27,6 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author zql
@@ -1,20 +1,12 @@
package com.jero.statistics.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.ComboModel;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.system.vo.SysDepartTreeModel;
import com.jero.common.util.oConvertUtils;
import com.jero.mail.commont.constant;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupSearch;
@@ -22,18 +14,13 @@ import com.jero.project.entity.PayWorkingGroupStatistics;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.statistics.entity.CompanyComeMoneyDetail;
import com.jero.util.AmountUtil;
import com.jero.util.SearchUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.hssf.record.DVALRecord;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
@@ -41,7 +28,6 @@ import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.text.DecimalFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author zql
@@ -1,19 +0,0 @@
package com.jero.util;
import org.apache.commons.lang3.ObjectUtils;
/**
* @author zql
* @date 2021/10/9 10:46
*/
public class SearchUtil {
public static String exchenge(String string){
if(!ObjectUtils.isEmpty(string)){
string = string.replaceAll("/", "//") ;
string = string.replaceAll("_", "/_") ;
string = string.replaceAll("%", "/%") ;
}
return string;
}
}