来款开票修改

This commit is contained in:
梁琦涛
2021-10-15 11:10:14 +08:00
parent 5eb19ef4d4
commit cdcb65cb03
2 changed files with 57 additions and 11 deletions
@@ -16,6 +16,7 @@ import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement; import com.jero.company.entity.PayContactsManagement;
import com.jero.company.mapper.PayCompanyManagementMapper; import com.jero.company.mapper.PayCompanyManagementMapper;
import com.jero.company.mapper.PayContactsManagementMapper; import com.jero.company.mapper.PayContactsManagementMapper;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.mail.PayMailBillVO; import com.jero.mail.PayMailBillVO;
@@ -99,8 +100,11 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
private PayMailBillProjectMapper payMailBillProjectMapper; private PayMailBillProjectMapper payMailBillProjectMapper;
@Resource @Resource
PayCompanyManagementMapper payCompanyManagementMapper; PayCompanyManagementMapper payCompanyManagementMapper;
@Autowired @Resource
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService; private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Resource
private IPayCompanyManagementService payCompanyManagementService;
@Override @Override
public List<PayMailBill> selectMailBillVO(String projectId) { public List<PayMailBill> selectMailBillVO(String projectId) {
@@ -314,6 +318,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(payCommonProject.getReceivableAmount()) == 1){ if(invoiceAmount.compareTo(payCommonProject.getReceivableAmount()) == 1){
return "开票金额大于当前欠未开票金额,输入有误!"; return "开票金额大于当前欠未开票金额,输入有误!";
} }
PayCompanyManagementTemporary payCompanyManagement = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagement) && "2".equals(payCompanyManagement.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break; break;
// 工作组项目 // 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2: case PayIncomeContractCommon.PROJECT_TYPE2:
@@ -335,6 +343,10 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(workingGroup.getReceivableAmount()) == 1){ if(invoiceAmount.compareTo(workingGroup.getReceivableAmount()) == 1){
return "开票金额大于当前欠未开票金额,输入有误!"; return "开票金额大于当前欠未开票金额,输入有误!";
} }
PayCompanyManagementTemporary payCompanyManagementWorkingGroup = payCompanyManagementTemporaryService.getById(workingGroup.getChargeCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagementWorkingGroup) && "2".equals(payCompanyManagementWorkingGroup.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break; break;
//会议项目 //会议项目
case PayIncomeContractCommon.PROJECT_TYPE3: case PayIncomeContractCommon.PROJECT_TYPE3:
@@ -356,6 +368,11 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(meeting.getAmountReceivable()) == 1){ if(invoiceAmount.compareTo(meeting.getAmountReceivable()) == 1){
return "开票金额大于当前欠未开票金额,输入有误!"; return "开票金额大于当前欠未开票金额,输入有误!";
} }
// TODO 缺少会议报名审核状态(非凭证审核的状态)的校验,审核通过的可以来款
PayCompanyManagement payCompanyManagementMeeting = payCompanyManagementService.getById(meeting.getCompanyId());
if(!Objects.isNull(payCompanyManagementMeeting) && "2".equals(payCompanyManagementMeeting.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break; break;
//会员项目 //会员项目
case PayIncomeContractCommon.PROJECT_TYPE4: case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -375,7 +392,11 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP); invoiceAmount = oldInvoiceAmount.add(bmpList.get(i).getInvoiceAmount()).setScale(2, BigDecimal.ROUND_HALF_UP);
//开票总额>应收 //开票总额>应收
if(invoiceAmount.compareTo(memberProject.getAmountReceivable()) == 1){ if(invoiceAmount.compareTo(memberProject.getAmountReceivable()) == 1){
return "开票金额大于当前欠未开票金额,输入有误!"; return "开票金额大于当前未开票金额,输入有误!";
}
PayCompanyManagementTemporary payCompanyManagementMember = payCompanyManagementTemporaryService.getById(memberProject.getCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagementMember) && "2".equals(payCompanyManagementMember.getStatus()) ){
return "企业未审核,需要审核后开票";
} }
break; break;
//标协会员 //标协会员
@@ -398,15 +419,14 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
if(invoiceAmount.compareTo(tbMemberProject.getAmountReceivable()) != 0){ if(invoiceAmount.compareTo(tbMemberProject.getAmountReceivable()) != 0){
return "开票金额应等于当前未开票金额,输入有误!"; return "开票金额应等于当前未开票金额,输入有误!";
} }
PayCompanyManagement payCompanyManagementTbMember = payCompanyManagementService.getById(tbMemberProject.getCompanyId());
if(!Objects.isNull(payCompanyManagementTbMember) && "2".equals(payCompanyManagementTbMember.getStatus()) ){
return "企业未审核,需要审核后开票";
}
break; break;
default: default:
break; break;
} }
PayCompanyManagementTemporary payCompanyManagement = payCompanyManagementTemporaryService.getById(standardCompanyId);
if("2".equals(payCompanyManagement.getStatus()) ){
return "企业名称未审核,需要审核后开票";
}
} }
return "success"; return "success";
} }
@@ -7,8 +7,9 @@ import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.util.oConvertUtils; import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.home.vo.DataStatisticsVO;
import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper; import com.jero.meeting.mapper.PayMeetingSituationMapper;
import com.jero.member.entity.PayMemberProjectSubitem; import com.jero.member.entity.PayMemberProjectSubitem;
@@ -25,17 +26,17 @@ import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper; import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.AuthenticationUtils;
import com.jero.project.vo.PayCommonProjectOutput; import com.jero.project.vo.PayCommonProjectOutput;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants; import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -63,8 +64,12 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper; private PayMemberProjectSubitemMapper payMemberProjectSubitemMapper;
@Resource @Resource
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper; private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Autowired @Resource
private ISysBaseAPI sysBaseAPI; private ISysBaseAPI sysBaseAPI;
@Resource
private IPayCompanyManagementTemporaryService payCompanyManagementTemporaryService;
@Resource
private IPayCompanyManagementService payCompanyManagementService;
@Value("${jero.path.upload}") @Value("${jero.path.upload}")
private String upLoadPath; private String upLoadPath;
@@ -140,6 +145,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}else{ }else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!"); throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
} }
PayCompanyManagementTemporary payCompanyManagement = payCompanyManagementTemporaryService.getById(payCommonProject.getChargeCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagement) && "2".equals(payCompanyManagement.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
break; break;
// 工作组项目 // 工作组项目
case PayIncomeContractCommon.PROJECT_TYPE2: case PayIncomeContractCommon.PROJECT_TYPE2:
@@ -161,6 +170,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}else{ }else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!"); throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
} }
PayCompanyManagementTemporary payCompanyManagementWorkingGroup = payCompanyManagementTemporaryService.getById(payWorking.getChargeCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagementWorkingGroup) && "2".equals(payCompanyManagementWorkingGroup.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
break; break;
//会议项目 //会议项目
case PayIncomeContractCommon.PROJECT_TYPE3: case PayIncomeContractCommon.PROJECT_TYPE3:
@@ -182,6 +195,11 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}else{ }else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!"); throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
} }
// TODO 缺少会议报名审核状态(非凭证审核的状态)的校验,审核通过的可以开票
PayCompanyManagement payCompanyManagementMeeting = payCompanyManagementService.getById(meeting.getCompanyId());
if(!Objects.isNull(payCompanyManagementMeeting) && "2".equals(payCompanyManagementMeeting.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
break; break;
//会员项目 //会员项目
case PayIncomeContractCommon.PROJECT_TYPE4: case PayIncomeContractCommon.PROJECT_TYPE4:
@@ -204,6 +222,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}else{ }else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!"); throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
} }
PayCompanyManagementTemporary payCompanyManagementMember = payCompanyManagementTemporaryService.getById(member.getCompanyTemporaryId());
if(!Objects.isNull(payCompanyManagementMember) && "2".equals(payCompanyManagementMember.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
break; break;
//标协会员 //标协会员
case PayIncomeContractCommon.PROJECT_TYPE5: case PayIncomeContractCommon.PROJECT_TYPE5:
@@ -233,6 +255,10 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
}else{ }else{
throw new JeroBootException("到账金额大于当前欠款金额,不可提交!"); throw new JeroBootException("到账金额大于当前欠款金额,不可提交!");
} }
PayCompanyManagement payCompanyManagementTbMember = payCompanyManagementService.getById(tbMember.getCompanyId());
if(!Objects.isNull(payCompanyManagementTbMember) && "2".equals(payCompanyManagementTbMember.getStatus()) ){
throw new JeroBootException("企业未审核,需要审核后来款");
}
break; break;
default:break; default:break;
} }