Merge branch 'master' into 2023年7月变更

This commit is contained in:
lijiarao
2023-07-27 09:10:57 +08:00
40 changed files with 412 additions and 147 deletions
+228
View File
@@ -720,3 +720,231 @@ INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `descri
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('1587319992635285506', '1587319627974107138', '13%', '0.13', '', 7.00, 1, 'LKGLZ', '2022-11-01 13:45:52', 'LKGLZ', '2022-11-01 13:54:02');
INSERT INTO `sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES ('1587320050650898434', '1587319627974107138', '19%欧洲', '0.19', '', 8.00, 1, 'LKGLZ', '2022-11-01 13:46:06', 'LKGLZ', '2022-11-01 13:53:55');
create view v_statistical_all as
select pp.id as projectId,
pp.superId,
pp.projectName,
principalName,
chargeCompanyId,
chargeCompanyTemporaryId,
chargeCompanyTemporaryName,
allMoney,
comeAllMoney,
chargeUse,
depart,
createTime,
if(pp.pack = 0, '', '') as packText,
year,
payStatue,
departId,
departCode,
principalNameId,
type,
billMoney as invoiceAmount,
if(billMoney is null, 0, billMoney) as billMoney,
confirmAmount,
invoiceNoTaxAmount,
paidNoTaxAmount,
confirmNoTaxAmount,
contactsName,
confirmDate,
pp.pack
from (SELECT pwgs.id,
pwg.id as superId,
pwg.working_group_project AS projectName,
pwg.principal_name_a as principalName,
pwgs.charge_company_id AS chargeCompanyId,
pwgs.charge_company_temporary_id as chargeCompanyTemporaryId,
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
pwgs.no_tax_amount as allMoney,
pwgs.paid_amount as comeAllMoney,
pwgs.charge_use as chargeUse,
sd.depart_name as depart,
pwgs.pack as pack,
pwg.year as year,
pwgs.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pwg.principal_id_a as principalNameId,
2 as type,
pwgs.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
GROUP_CONCAT(DISTINCT pwgsc.contacts_temporary_name order by pwgsc.contacts_temporary_name) as contactsName,
GROUP_CONCAT(DISTINCT DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
pwgs.create_time as createTime
FROM pay_working_group pwg
right join pay_working_group_subitem pwgs on (pwg.id = pwgs.working_group_id)
left JOIN sys_user su on (pwg.principal_id_a = su.id)
left join sys_depart sd on (su.depart_ids = sd.id)
left JOIN pay_working_group_subitem_contacts pwgsc on pwgsc.working_group_sub_id = pwgs.id
left join pay_confirm_payment_record pcpr on pwgs.id = pcpr.project_id
group by pwgs.id
union all
SELECT pcp.id,
pcp.id as superId,
pcp.charge_project AS projectName,
pcp.principal_name as principalName,
pcp.charge_company_id AS chargeCompanyId,
pcp.charge_company_temporary_id as chargeCompanyTemporaryId,
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
pcp.no_tax_amount as allMoney,
pcp.paid_amount as comeAllMoney,
pcp.charge_use as chargeUse,
sd.depart_name as depart,
pcp.pack as pack,
pcp.year as year,
pcp.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pcp.principal_id as principalNameId,
1 as type,
pcp.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
contacts_temporary_name as contactsName,
GROUP_CONCAT(DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
pcp.create_time as createTime
FROM pay_common_project pcp
left JOIN sys_user su on (pcp.principal_id = su.id)
left join sys_depart sd on (su.depart_ids = sd.id)
left join pay_confirm_payment_record pcpr on pcp.id = pcpr.project_id
group by pcp.id
union all
SELECT pmps.id,
pmp.id as superId,
pmp.project_name AS projectName,
su.realname as principalName,
pmps.company_id AS chargeCompanyId,
pmps.company_id as chargeCompanyTemporaryId,
pmps.company_name AS chargeCompanyTemporaryName,
pmps.no_tax_amount as allMoney,
pmps.paid_amount as comeAllMoney,
pmps.charge_use as chargeUse,
sd.depart_name as depart,
pmps.pack as pack,
pmp.particular_year as year,
pmps.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pmp.director_id as principalNameId,
4 as type,
pmps.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
company_contact_name as contactsName,
GROUP_CONCAT(DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
pmps.create_time as createTime
FROM pay_member_project pmp
right join pay_member_project_subitem pmps on (pmp.id = pmps.project_id)
left JOIN sys_user su on (pmp.director_id = su.id)
left join sys_depart sd on (su.depart_ids = sd.id)
left join pay_confirm_payment_record pcpr on pmps.id = pcpr.project_id
group by pmps.id
union all
SELECT pms.id,
pm.id as superId,
pm.meeting_name AS projectName,
su.realname as principalName,
pms.company_id AS chargeCompanyId,
pms.company_id as chargeCompanyTemporaryId,
pms.company_name AS chargeCompanyTemporaryName,
pms.no_tax_amount as allMoney,
pms.paid_amount as comeAllMoney,
pms.charge_use as chargeUse,
sd.depart_name as depart,
pms.pack as pack,
pm.particular_year as year,
pms.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
pm.director_id as principalNameId,
3 as type,
pms.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
company_contact_name as contactsName,
GROUP_CONCAT(DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
pms.create_time as createTime
FROM pay_meeting pm
right join pay_meeting_situation pms on (pm.id = pms.meeting_id)
left JOIN sys_user su on (pm.director_id = su.id)
left join sys_depart sd on (su.depart_ids = sd.id)
left join pay_confirm_payment_record pcpr on pms.id = pcpr.project_id
group by pms.id
union all
SELECT tmps.id,
tmp.id as superId,
tmp.project_name AS projectName,
su.realname as principalName,
tmps.company_id AS chargeCompanyId,
tmps.company_id as chargeCompanyTemporaryId,
tmps.company_name AS chargeCompanyTemporaryName,
tmps.no_tax_amount as allMoney,
tmps.paid_amount as comeAllMoney,
tmps.charge_use as chargeUse,
sd.depart_name as depart,
tmps.pack as pack,
tmp.year as year,
tmps.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
tmp.director_id as principalNameId,
5 as type,
tmps.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
liaison_man as contactsName,
GROUP_CONCAT(DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
tmps.create_time as createTime
FROM tb_member_project tmp
left join tb_member_project_subitem 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.depart_ids = sd.id)
left join pay_confirm_payment_record pcpr on tmps.id = pcpr.project_id
group by tmps.id
union all
SELECT tcp.id,
tmp.id as superId,
tmp.project_name AS projectName,
su.realname as principalName,
tcp.company_id AS chargeCompanyId,
tcp.company_id as chargeCompanyTemporaryId,
tcp.company_name AS chargeCompanyTemporaryName,
tcp.no_tax_amount as allMoney,
tcp.paid_amount as comeAllMoney,
tcp.charge_use as chargeUse,
sd.depart_name as depart,
tcp.pack as pack,
tmp.year as year,
tcp.in_account as payStatue,
sd.org_code as departCode,
sd.id as departId,
tmp.director_id as principalNameId,
6 as type,
tcp.invoice_amount AS billMoney,
confirm_amount as confirmAmount,
invoice_no_tax_amount as invoiceNoTaxAmount,
paid_no_tax_amount as paidNoTaxAmount,
confirm_no_tax_amount as confirmNoTaxAmount,
liaison_man as contactsName,
GROUP_CONCAT(DATE_FORMAT(pcpr.payment_date,'%Y-%m')) as confirmDate,
tcp.create_time as createTime
FROM tb_member_project tmp
left join tb_certificate_payment tcp on (tmp.id = tcp.project_id)
left JOIN sys_user su on (tmp.director_id = su.id)
left join sys_depart sd on (su.depart_ids = sd.id)
left join pay_confirm_payment_record pcpr on tcp.id = pcpr.project_id
group by tcp.id
) pp
order by pp.createTime;
@@ -28,11 +28,11 @@ public interface ProjectDetailService {
*/
List<PayCommonProject> queryProjectList(List<String> list);
/**
* @Description 获取变更收金额之后的状态
* @Description 获取变更待确收金额之后的状态
* @Author lqt
* @Date 2021/9/14
* @Param projectId 项目id
* @Param receivableAmount 收金额
* @Param receivableAmount 待确收金额
* @Param needInvoice 需要发票
* @Return
* @Exception
@@ -358,13 +358,13 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(Objects.isNull(payCommonProject.getPaidAmount())){
payCommonProject.setPaidAmount(new BigDecimal("0.00"));
}
// 收金额没有变更 && 验证来款方式没有变更
// 待确收金额没有变更 && 验证来款方式没有变更
if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice.equals(payCommonProject.getNeedInvoice())){
return null;
}
// 验证收金额不能小于实收金额
// 验证待确收金额不能小于实收金额
if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) < 0){
throw new JeroBootException("收金额不能小于实收金额!");
throw new JeroBootException("待确收金额不能小于实收金额!");
}
// 验证来款方式,有变更,按照变更处理
if(!needInvoice.equals(payCommonProject.getNeedInvoice())){
@@ -384,7 +384,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
invoice = invoice.add(b);
if(receivableAmount.compareTo(invoice) < 0){
throw new JeroBootException("收金额不可小于实收金额,请先修改实际来款后再来修改!");
throw new JeroBootException("待确收金额不可小于实收金额,请先修改实际来款后再来修改!");
}
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
@@ -394,7 +394,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
y = listPayMailBill.size();
}
// 到账
// 收金额 = 实收金额 = 1
// 待确收金额 = 实收金额 = 1
if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) == 0){
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT1);
}
@@ -402,7 +402,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 0){
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT0);
}
// 0 < 实收金额 && 实收金额 < 收金额 = 2
// 0 < 实收金额 && 实收金额 < 待确收金额 = 2
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) > 0
&& payCommonProject.getPaidAmount().compareTo(receivableAmount) < 0){
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2);
@@ -412,7 +412,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(Objects.equals(payCommonProject.getNeedInvoice(),ProjectCommon.NEED_INVOICE0)){
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
}else{
// 开票金额 = 收金额 = 1
// 开票金额 = 待确收金额 = 1
if(invoice.compareTo(receivableAmount) == 0 ){
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE1);
}
@@ -420,13 +420,13 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(invoice.compareTo(new BigDecimal("0.00")) == 0){
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
}
// 开票金额 > 0 && 开票金额 < 收金额 = 2
// 开票金额 > 0 && 开票金额 < 待确收金额 = 2
if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(payCommonProject.getReceivableAmount()) < 0){
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE2);
}
}
// 邮寄
// 开票金额 = 收金额 && 邮寄次数 = 开票次数 = 1
// 开票金额 = 待确收金额 && 邮寄次数 = 开票次数 = 1
if(invoice.compareTo(receivableAmount) == 0 && c == y){
projectStatusVO.setMail(ProjectCommon.MAIL1);
}
@@ -24,9 +24,9 @@ public class ProjectDetailVO implements Serializable {
@ApiModelProperty(value = "项目类型")
private Integer projectType;
/**
* 收金额
* 待确收金额
*/
@ApiModelProperty(value = "收金额")
@ApiModelProperty(value = "待确收金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal receivableAmount;
/**
@@ -663,7 +663,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
}
//已收金额
BigDecimal amountReceived = payIncomeContractDetailOutput.getAmountReceived();
//收金额
//待确收金额
BigDecimal accountsReceivableAmount = payIncomeContractDetailOutput.getAccountsReceivableAmount();
//相减得到未收金额
BigDecimal outstandingAmount = accountsReceivableAmount.subtract(amountReceived);
@@ -797,7 +797,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
filedsList.add(new ExcelExportEntity("合同签订日期", "contractDate"));
filedsList.add(new ExcelExportEntity("合同终止日期", "terminationDate"));
filedsList.add(new ExcelExportEntity("合同约定主要时点", "contractTimePoints"));
filedsList.add(new ExcelExportEntity("收金额", "accountsReceivableAmount"));
filedsList.add(new ExcelExportEntity("待确收金额", "accountsReceivableAmount"));
filedsList.add(new ExcelExportEntity("已收金额", "amountReceived"));
filedsList.add(new ExcelExportEntity("未收金额", "outstandingAmount"));
filedsList.add(new ExcelExportEntity("账款状态", "accountStatus"));
@@ -140,11 +140,11 @@ public class PayIncomeContract implements Serializable {
@ApiModelProperty(value = "合同约定主要时点")
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
private java.lang.String contractTimePoints;
/**收金额*/
@Excel(name = "收金额", width = 15)
@ApiModelProperty(value = "收金额")
@NotNull(message = "收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "收金额格式错误")
/**待确收金额*/
@Excel(name = "待确收金额", width = 15)
@ApiModelProperty(value = "待确收金额")
@NotNull(message = "待确收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal accountsReceivableAmount;
/**已收金额*/
@@ -58,9 +58,9 @@ public class PayIncomeContractAssociatedCancellation implements Serializable {
@Excel(name = "来款单位", width = 15)
@ApiModelProperty(value = "来款单位")
private java.lang.String chargeCompanyName;
/**收金额(元)*/
@Excel(name = "收金额(元)", width = 15)
@ApiModelProperty(value = "收金额(元)")
/**待确收金额(元)*/
@Excel(name = "待确收金额(元)", width = 15)
@ApiModelProperty(value = "待确收金额(元)")
private java.math.BigDecimal receivableAmount;
/**实收金额(元)*/
@Excel(name = "实收金额(元)", width = 15)
@@ -47,11 +47,11 @@ public class PayIncomeContractInstallment implements Serializable {
@NotEmpty(message = "阶段不能为空")
@Size(max = 50, message = "阶段长度不能大于50个字符")
private java.lang.String phaseName;
/**收金额*/
@Excel(name = "收金额", width = 15)
@ApiModelProperty(value = "收金额")
@NotNull(message = "收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "收金额格式错误")
/**待确收金额*/
@Excel(name = "待确收金额", width = 15)
@ApiModelProperty(value = "待确收金额")
@NotNull(message = "待确收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal accountsReceivableAmount;
/**应收时间*/
@@ -144,12 +144,12 @@ public class PaySpendingContract implements Serializable {
@ApiModelProperty(value = "合同约定主要时点")
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
private String contractTimePoints;
/**收金额*/
@Excel(name = "收金额", width = 15)
@ApiModelProperty(value = "收金额")
@NotNull(message = "收金额不能为空")
/**待确收金额*/
@Excel(name = "待确收金额", width = 15)
@ApiModelProperty(value = "待确收金额")
@NotNull(message = "待确收金额不能为空")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@DecimalMax(value = "9999999999.99",message = "收金额格式错误")
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
private BigDecimal accountsReceivableAmount;
/**已收金额*/
@Excel(name = "已收金额", width = 15)
@@ -47,9 +47,9 @@ public class PaySpendingContractInstallment implements Serializable {
@NotEmpty(message = "阶段不能为空")
@Size(max = 50, message = "阶段长度不能大于50个字符")
private String phaseName;
/**收金额*/
@Excel(name = "阶段收金额", width = 15)
@ApiModelProperty(value = "收金额")
/**待确收金额*/
@Excel(name = "阶段待确收金额", width = 15)
@ApiModelProperty(value = "待确收金额")
@NotNull(message = "阶段应收不能为空")
@DecimalMax(value = "9999999999.99",message = "阶段应收格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@@ -146,7 +146,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
// if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
// throw new JeroBootException("已收金额大于收金额!");
// throw new JeroBootException("已收金额大于待确收金额!");
// }
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
@@ -237,7 +237,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) < 0){
msgPayIncomeContractInstallment.append("").append(listPayIncomeContractInstallment.indexOf(p) + 1).append("期实收金额大于收金额!");
msgPayIncomeContractInstallment.append("").append(listPayIncomeContractInstallment.indexOf(p) + 1).append("期实收金额大于待确收金额!");
}
});
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
@@ -259,7 +259,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
}
// if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
// throw new JeroBootException("已收金额大于收金额!");
// throw new JeroBootException("已收金额大于待确收金额!");
// }
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
if(!StringUtils.isBlank(msgPayIncomeContract)){
@@ -53,9 +53,9 @@ public class ProjectOutput implements Serializable {
@ApiModelProperty(value = "来款单位")
private String chargeCompanyName;
/**
* 收金额
* 待确收金额
*/
@ApiModelProperty(value = "收金额")
@ApiModelProperty(value = "待确收金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal receivableAmount;
/**
@@ -15,11 +15,16 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.enmus.ExcelType;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import java.text.DecimalFormat;
@@ -132,4 +137,31 @@ public class IndexController {
}
@ApiOperation(value = "导出应收账款统计列表")
@GetMapping(value = "/exportUncollectedList")
public ModelAndView exportUncollectedList(
@RequestParam(name="type",defaultValue = "1")String type,
@RequestParam(name="departCode",required = false)String departCode,
@RequestParam(name="column",required = false)String column,
@RequestParam(name="order",required = false)String order) {
Page<AllProjectStatistics> page = new Page<>(-1, -1);
HashMap<String, Object> hashMap = indexService.uncollectedList(type,departCode,page,column,order);
IPage<AllProjectStatistics> pageList = (IPage<AllProjectStatistics>) hashMap.get("pageList");
List<AllProjectStatistics> records = pageList.getRecords();
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
String title = "应收账款统计";
mv.addObject(NormalExcelConstants.FILE_NAME, title); //此处设置的filename无效 ,前端会重更新设置一下
mv.addObject(NormalExcelConstants.CLASS, AllProjectStatistics.class);
//update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
ExportParams exportParams=new ExportParams(title, title);
exportParams.setType(ExcelType.XSSF);
//update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
mv.addObject(NormalExcelConstants.PARAMS,exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, records);
return mv;
}
}
@@ -6,7 +6,7 @@ package com.jero.mail.commont;
*/
public interface constant {
/**
* 邮寄状态标识√,收金额等于开票金额,开票次数等于邮寄次数。
* 邮寄状态标识√,待确收金额等于开票金额,开票次数等于邮寄次数。
*/
public static final int ONE=1;
/**
@@ -428,7 +428,7 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
y = listPayMailBill.size();
}
//获取项目收金额
//获取项目待确收金额
BigDecimal receivableAmount = new BigDecimal("0.00");
String project = "";
@@ -798,7 +798,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
StringBuilder projectName,StringBuilder chargeCompanyName,StringBuilder principalName,StringBuilder principalId,
int i) {
int makeInvoice=4;
BigDecimal amountReceivable=new BigDecimal("0");//收金额
BigDecimal amountReceivable=new BigDecimal("0");//待确收金额
Integer needInvoice = 0;//是否需要发票
BigDecimal invoiceAmount=payMailBillProject.getInvoiceAmount();//本次开票金额
if(invoiceAmount ==null){
@@ -1131,7 +1131,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
private String editCheckCompanyProject(PayMailBillVO bm,PayMailBillProject oldBmp) {
int makeInvoice=4;
BigDecimal amountReceivable=new BigDecimal("0");//收金额
BigDecimal amountReceivable=new BigDecimal("0");//待确收金额
Integer needInvoice = 0;//是否需要发票
//之前开票总额-编辑之前的开票金额=原始开票总额
@@ -315,9 +315,9 @@ public class PayMeetingSituation implements Serializable {
private Integer newContact;
/**
* 收金额
* 待确收金额
*/
@ApiModelProperty(value = "收金额")
@ApiModelProperty(value = "待确收金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal amountReceivable;
@@ -672,7 +672,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
throw new JeroBootException("合并开票只能是同一企业");
}
if (amountReceivable.compareTo(new BigDecimal("0")) == 0) {
throw new JeroBootException("收金额为0,不能合并开票");
throw new JeroBootException("待确收金额为0,不能合并开票");
}
if (MeetingSubitemCommon.PAY_MODE_3.equals(payMeetingSituation1.getPayMode())) {
throw new JeroBootException("缴费方式为打包,不能合并开票");
@@ -1279,7 +1279,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
payMeetingSituation1.setNoTaxAmount(payMeetingSituation.getNoTaxAmount());
payMeetingSituation1.setTax(payMeetingSituation.getTax());
}
//如果是编辑可以更新收金额
//如果是编辑可以更新待确收金额
if (payMeetingSituation.getId() != null){
payMeetingSituation1.setAmountReceivable(payMeetingSituation.getAmountReceivable());
}
@@ -85,9 +85,9 @@ public class MeetingEntity implements Serializable {
private Integer identity;
/**
* 收金额
* 待确收金额
*/
@ApiModelProperty(value = "收金额")
@ApiModelProperty(value = "待确收金额")
private BigDecimal amountReceivable;
/**
@@ -265,9 +265,9 @@ public class MeetingSituationContractVO {
private Integer newContact;
/**
* 收金额
* 待确收金额
*/
@ApiModelProperty(value = "收金额")
@ApiModelProperty(value = "待确收金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal amountReceivable;
@@ -278,9 +278,9 @@ public class PayMeetingSituationVO {
private String paymentRecord;
/**
* 收金额
* 待确收金额
*/
@ApiModelProperty(value = "收金额")
@ApiModelProperty(value = "待确收金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal amountReceivable;
@@ -69,9 +69,9 @@ public class StandardsSituationExcel extends SituationBaseExcel {
private String postCode;
/**
* 收金额
* 待确收金额
*/
@Excel(name = "收金额", width = 15)
@Excel(name = "待确收金额", width = 15)
private BigDecimal amountReceivable;
/**缴费方式*/
@@ -283,7 +283,7 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
projectSubitemExcel.setProjectId(projectId);
PayMemberProjectSubitem projectSubitem = new PayMemberProjectSubitem();
errorMessage.addAll(ValidUtil.validateReturnListWithNum(projectSubitemExcel,errorRowNum));
//收金额
//待确收金额
String amountReceivable = projectSubitemExcel.getAmountReceivable();
if (errorMessage.isEmpty()) {
projectSubitem.setAmountReceivable(new BigDecimal(amountReceivable));
@@ -164,13 +164,13 @@ public class PayMemberProjectSubitem implements Serializable {
private String postContactName;
/**
* 收金额
* 待确收金额
*/
@Excel(name = "收金额", width = 15,orderNum = "8")
@Excel(name = "待确收金额", width = 15,orderNum = "8")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "收金额")
@NotNull(message = "收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "收金额格式错误")
@ApiModelProperty(value = "待确收金额")
@NotNull(message = "待确收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
private BigDecimal amountReceivable;
/**
@@ -194,11 +194,11 @@ public class TbCertificatePayment implements Serializable {
private String certificateId;
/**
* 收金额
* 待确收金额
*/
@Excel(name = "收金额", width = 15)
@ApiModelProperty(value = "收金额")
@DecimalMax(value = "9999999999.99", message = "收金额格式错误")
@Excel(name = "待确收金额", width = 15)
@ApiModelProperty(value = "待确收金额")
@DecimalMax(value = "9999999999.99", message = "待确收金额格式错误")
private BigDecimal amountReceivable;
/**
@@ -129,12 +129,12 @@ public class TbMemberProjectSubitem implements Serializable {
private java.util.Date registerTime;
/**
* 收金额
* 待确收金额
*/
@Excel(name = "收金额", width = 15)
@ApiModelProperty(value = "收金额")
@NotNull(message = "收金额不能为空")
@DecimalMax(value = "9999999999.99", message = "收金额格式错误")
@Excel(name = "待确收金额", width = 15)
@ApiModelProperty(value = "待确收金额")
@NotNull(message = "待确收金额不能为空")
@DecimalMax(value = "9999999999.99", message = "待确收金额格式错误")
private BigDecimal amountReceivable;
/**
@@ -141,7 +141,7 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setUserId(memberProject.getDirectorId());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的收金额>0 发送缴费通知
// 项目的待确收金额>0 发送缴费通知
if(payMemberProjectSubitem.getAmountReceivable().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
@@ -220,7 +220,7 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
// if (!payMemberProjectSubitem1.getPostContactTemporaryId().equals(postContactId)) {
// contactsManagementTemporaryService.removeById(postContactId);
// }
// 变更收金额,重新校验状态
// 变更待确收金额,重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payMemberProjectSubitem.getId(),payMemberProjectSubitem.getAmountReceivable(),payMemberProjectSubitem.getNeedInvoice());
if(!Objects.isNull(projectStatusVO)){
if(!Objects.isNull(projectStatusVO.getInAccount())){
@@ -55,12 +55,12 @@ public class PayMemberProjectSubitemExcel {
private String postContactId;
/**
* 收金额
* 待确收金额
*/
@Excel(name = "收金额", width = 15,orderNum = "4")
@ApiModelProperty(value = "收金额")
@NotBlank(message = "收金额不能为空")
@Pattern(regexp = "^[0-9]{1,10}(\\.[0-9]{1,2})?$",message = "收金额格式错误")
@Excel(name = "待确收金额", width = 15,orderNum = "4")
@ApiModelProperty(value = "待确收金额")
@NotBlank(message = "待确收金额不能为空")
@Pattern(regexp = "^[0-9]{1,10}(\\.[0-9]{1,2})?$",message = "待确收金额格式错误")
private String amountReceivable;
@@ -105,11 +105,11 @@ public class PayProjectExcel implements Serializable {
@TableField(exist = false)
@ApiModelProperty(value = "联系人邮箱")
private String email;
/**收金额(元)*/
@Excel(name = "收金额(元)", width = 15)
@ApiModelProperty(value = "收金额(元)")
@NotNull(message = "收金额(元)不能为空!")
@DecimalMax(value = "9999999999.99",message = "收金额(元)格式错误")
/**待确收金额(元)*/
@Excel(name = "待确收金额(元)", width = 15)
@ApiModelProperty(value = "待确收金额(元)")
@NotNull(message = "待确收金额(元)不能为空!")
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal receivableAmount;
/**实收金额(元)*/
@@ -751,13 +751,13 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
paidAmount = new BigDecimal("0.00");
}
// 实收金额 < 收金额 && 不等于待审核/已拒绝
// 实收金额 < 待确收金额 && 不等于待审核/已拒绝
if(paidAmount.compareTo(amountReceivable) < 0
&& !PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)
&& !PaymentStatusEnum.REJECTED.getCode().equals(paymentStatus)){
paymentStatus = PaymentStatusEnum.TO_BE_UPLOADED.getCode();//待上传
}
// 应收>0 && 实收金额 == 收金额
// 应收>0 && 实收金额 == 待确收金额
if(amountReceivable.compareTo(new BigDecimal("0.00")) > 0
&& paidAmount.compareTo(amountReceivable) == 0){
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//已完结
@@ -90,11 +90,11 @@ public class PayCommonProject implements Serializable {
@ApiModelProperty(value = "临时联系人名称")
@Excel(name = "企业联系人", width = 15,orderNum = "3")
private String contactsTemporaryName;
/**收金额(元)*/
@Excel(name = "收金额(元)", width = 15,orderNum = "4")
@ApiModelProperty(value = "收金额(元)")
@NotNull(message = "收金额(元)不能为空")
@DecimalMax(value = "9999999999.99",message = "收金额(元)格式错误")
/**待确收金额(元)*/
@Excel(name = "待确收金额(元)", width = 15,orderNum = "4")
@ApiModelProperty(value = "待确收金额(元)")
@NotNull(message = "待确收金额(元)不能为空")
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal receivableAmount;
/**实收金额(元)*/
@@ -117,10 +117,10 @@ public class PayWorkingGroupSubItem implements Serializable {
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
@NotNull(message = "来款方式不能为空")
private java.lang.Integer chargeWay;
/**收金额(元)*/
@Excel(name = "收金额(元)", width = 15)
@ApiModelProperty(value = "收金额(元)")
@DecimalMax(value = "9999999999.99",message = "收金额(元)格式错误")
/**待确收金额(元)*/
@Excel(name = "待确收金额(元)", width = 15)
@ApiModelProperty(value = "待确收金额(元)")
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal receivableAmount;
/**实收金额(元)*/
@@ -456,7 +456,8 @@
packText,
pack,
invoiceNoTaxAmount as billMoney,
confirmNoTaxAmount as confirmAmount
confirmNoTaxAmount as confirmAmount,
year
from
<if test="allProjectStatisticsSearch.paymentYear == null or allProjectStatisticsSearch.paymentYear == ''">
v_statistical v
@@ -2367,7 +2368,7 @@
IFNULL(sum(money),0) from
(
SELECT distinct v.projectId, invoiceNoTaxAmount - ifnull( paidNoTaxAmount, 0) money
FROM v_statistical v
FROM v_statistical_all v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
<where>
@@ -2384,8 +2385,8 @@
and departCode = #{departCode}
</if>
<!-- 开票未来款 -->
AND (paidNoTaxAmount <![CDATA[<]]> invoiceNoTaxAmount or
(paidNoTaxAmount is null and invoiceNoTaxAmount is not null and invoiceNoTaxAmount != 0))
AND (comeAllMoney <![CDATA[<]]> v.invoiceAmount or
(comeAllMoney is null and v.invoiceAmount is not null and v.invoiceAmount != 0))
</where>
) a
</select>
@@ -2435,8 +2436,9 @@
allMoney,
paidNoTaxAmount AS comeAllMoney,
invoiceNoTaxAmount AS billMoney,
confirmNoTaxAmount AS confirmAmount
FROM v_statistical v
confirmNoTaxAmount AS confirmAmount,
year
FROM v_statistical_all v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
<where>
@@ -2453,8 +2455,8 @@
and departCode = #{departCode}
</if>
<!-- 开票未来款 -->
AND (paidNoTaxAmount <![CDATA[<]]> invoiceNoTaxAmount or
(paidNoTaxAmount is null and invoiceNoTaxAmount is not null and invoiceNoTaxAmount != 0))
AND (comeAllMoney <![CDATA[<]]> v.invoiceAmount or
(comeAllMoney is null and v.invoiceAmount is not null and v.invoiceAmount != 0))
</where>) p
<if test="column != null and column != ''">
<if test="column == 'allMoney' and order == 'desc'">
@@ -2496,7 +2498,7 @@
paidNoTaxAmount,
invoiceNoTaxAmount,
confirmNoTaxAmount
FROM v_statistical v
FROM v_statistical_all v
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
<where>
@@ -2513,8 +2515,8 @@
and departCode = #{departCode}
</if>
<!-- 开票未来款 -->
AND (paidNoTaxAmount <![CDATA[<]]> invoiceNoTaxAmount or
(paidNoTaxAmount is null and invoiceNoTaxAmount is not null and invoiceNoTaxAmount != 0))
AND (comeAllMoney <![CDATA[<]]> v.invoiceAmount or
(comeAllMoney is null and v.invoiceAmount is not null and v.invoiceAmount != 0))
</where>
) a
</select>
@@ -149,7 +149,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setUserId(payCommonProject.getPrincipalId());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的收金额0 发送缴费通知
// 项目的待确收金额0 发送缴费通知
if(!Objects.isNull(payCommonProject.getReceivableAmount()) && payCommonProject.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
@@ -223,7 +223,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
}
setPayCommonProjectEdit(payCommonProject,payCommonProjectOld);
// 变更收金额重新校验状态
// 变更待确收金额重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payCommonProject.getId(),payCommonProject.getReceivableAmount(),payCommonProject.getNeedInvoice());
if(!Objects.isNull(projectStatusVO)){
if(!Objects.isNull(projectStatusVO.getInAccount())){
@@ -346,7 +346,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
paySendContactsMessageDTO.setUserId(payWorkingGroupOld.getPrincipalIdA());
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的收金额0 发送缴费通知
// 项目的待确收金额0 发送缴费通知
if(!Objects.isNull(p.getReceivableAmount()) && p.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
@@ -184,7 +184,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
throw new JeroBootException("收金额不能为空");
throw new JeroBootException("待确收金额不能为空");
}
if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){
throw new JeroBootException("合同号不能为空");
@@ -195,7 +195,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
throw new JeroBootException("收费通知号不能为空");
}
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
throw new JeroBootException("收金额不能为空");
throw new JeroBootException("待确收金额不能为空");
}
}
@@ -293,7 +293,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
paySendContactsMessageDTO.setListFile(listFile);
}
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
// 项目的收金额0 发送缴费通知
// 项目的待确收金额0 发送缴费通知
if(!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
}
@@ -332,7 +332,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
throw new JeroBootException("收金额不能为空");
throw new JeroBootException("待确收金额不能为空");
}
if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){
throw new JeroBootException("合同号不能为空");
@@ -343,7 +343,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
throw new JeroBootException("收费通知号不能为空");
}
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
throw new JeroBootException("收金额不能为空");
throw new JeroBootException("待确收金额不能为空");
}
}
@@ -412,7 +412,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
payWorkingGroupSubItemContactsService.saveBatch(listPayWorkingGroupSubItemContactsNew);
}
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
// 变更收金额重新校验状态
// 变更待确收金额重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(workingGroupSubItemId,payWorkingGroupSubItem.getReceivableAmount(),payWorkingGroupSubItem.getNeedInvoice());
if(!Objects.isNull(projectStatusVO)){
if(!Objects.isNull(projectStatusVO.getInAccount())){
@@ -629,7 +629,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
// 校验
if (Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY2)) {
if (Objects.isNull(p.getReceivableAmount())) {
msg.append("").append(count + 3).append("行:收金额不能为空,请修改。<br/>");
msg.append("").append(count + 3).append("行:待确收金额不能为空,请修改。<br/>");
}
if (StringUtils.isBlank(p.getContractNum())) {
msg.append("").append(count + 3).append("行:合同号不能为空,请修改。<br/>");
@@ -661,7 +661,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
}
if (Objects.isNull(p.getReceivableAmount())) {
msg.append("").append(count + 3).append("行:收金额不能为空,请修改。<br/>");
msg.append("").append(count + 3).append("行:待确收金额不能为空,请修改。<br/>");
}
}
p.setChargeUse(PayProjectCommon.CHARGE_USE1);
@@ -926,7 +926,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
return;
}
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
// 变更收金额重新校验状态
// 变更待确收金额重新校验状态
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(p.getId(),input.getReceivableAmount(),p.getNeedInvoice());
if(!Objects.isNull(projectStatusVO)){
if(!Objects.isNull(projectStatusVO.getInAccount())){
@@ -20,10 +20,10 @@ public class SetChargeInput implements Serializable {
@ApiModelProperty(value = "收费通知唯一标识(收费通知号A:a,收费通知号B:b)")
@NotEmpty(message = "收费通知唯一标识不能为空")
private java.lang.String charge;
/**收金额(元)*/
@ApiModelProperty(value = "收金额(元)")
@DecimalMax(value = "9999999999.99",message = "收金额(元)格式错误")
@NotNull(message = "收金额(元)不能为空!")
/**待确收金额(元)*/
@ApiModelProperty(value = "待确收金额(元)")
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
@NotNull(message = "待确收金额(元)不能为空!")
private BigDecimal receivableAmount;
/**收费通知号*/
@ApiModelProperty(value = "收费通知号")
@@ -38,10 +38,10 @@ public class PayWorkingGroupSubItemExcel implements Serializable {
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
private Integer chargeWay;
/**
* 收金额
* 待确收金额
*/
@Excel(name = "收金额(元)", width = 15)
@ApiModelProperty(value = "收金额(元)")
@Excel(name = "待确收金额(元)", width = 15)
@ApiModelProperty(value = "待确收金额(元)")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal receivableAmount;
/**
@@ -22,10 +22,26 @@ public class AllProjectStatistics {
@ApiModelProperty(value = "来款项目")
private String projectName;
@Excel(name = "项目负责人", width = 15)
@ApiModelProperty(value = "项目负责人")
private String principalName;
@Excel(name = "科室", width = 15)
@ApiModelProperty(value = "科室")
private String depart;
@Excel(name = "来款单位", width = 15)
@ApiModelProperty(value = "来款单位")
private String chargeCompanyTemporaryName;
@ApiModelProperty(value = "打包")
private Integer pack;
@TableField(exist = false)
@Excel(name = "打包", width = 15)
@ApiModelProperty(value = "打包")
private String packText;
@Excel(name = "年度待确收金额", width = 15)
@ApiModelProperty(value = "合同金额")
private String allMoney;
@@ -49,27 +65,14 @@ public class AllProjectStatistics {
@ApiModelProperty(value = "来款用途")
private String ChargeUse_text;
@ApiModelProperty(value = "打包")
private Integer pack;
@TableField(exist = false)
@Excel(name = "打包", width = 15)
@ApiModelProperty(value = "打包")
private String packText;
@Excel(name = "科室", width = 15)
@ApiModelProperty(value = "科室")
private String depart;
@Excel(name = "项目负责人", width = 15)
@ApiModelProperty(value = "项目负责人")
private String principalName;
@Excel(name = "到账时间", width = 15)
@ApiModelProperty(value = "到账时间")
private String paymentDate;
@Excel(name = "项目年份", width = 15)
@ApiModelProperty(value = "项目年份")
private String year;
public AllProjectStatistics(String allMoney, String confirmAmount, String billMoney, String comeAllMoney, String paymentDate) {
this.allMoney=allMoney;
this.confirmAmount=confirmAmount;
@@ -22,17 +22,17 @@ public class AmountUtil {
/**
* 计算到账状态
*
* @param amountReceivable 收金额
* @param amountReceivable 待确收金额
* @param paidAmount 实收金额
* @return
*/
public static int calculate(Integer amountReceivable, Integer paidAmount) {
//收金额大于0时
//待确收金额大于0时
if (amountReceivable > 0) {
//实收金额等于收金额
//实收金额等于待确收金额
if (paidAmount.equals(amountReceivable)) {
return 2;
//实收金额大于0小于收金额时
//实收金额大于0小于待确收金额时
} else if (paidAmount > 0 && paidAmount < amountReceivable) {
return 1;
//实收金额等于0时