Merge branch 'master' into 2023年7月变更
This commit is contained in:
+228
@@ -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;
|
||||
+2
-2
@@ -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
|
||||
|
||||
+9
-9
@@ -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;
|
||||
/**
|
||||
|
||||
+2
-2
@@ -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"));
|
||||
|
||||
+5
-5
@@ -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;
|
||||
/**已收金额*/
|
||||
|
||||
+3
-3
@@ -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)
|
||||
|
||||
+5
-5
@@ -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;
|
||||
/**应收时间*/
|
||||
|
||||
+5
-5
@@ -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)
|
||||
|
||||
+3
-3
@@ -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)
|
||||
|
||||
+3
-3
@@ -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;
|
||||
/**
|
||||
|
||||
+32
@@ -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;
|
||||
/**
|
||||
|
||||
+1
-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 = "";
|
||||
|
||||
+2
-2
@@ -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;//是否需要发票
|
||||
|
||||
//之前开票总额-编辑之前的开票金额=原始开票总额
|
||||
|
||||
+2
-2
@@ -315,9 +315,9 @@ public class PayMeetingSituation implements Serializable {
|
||||
private Integer newContact;
|
||||
|
||||
/**
|
||||
* 应收金额
|
||||
* 待确收金额
|
||||
*/
|
||||
@ApiModelProperty(value = "应收金额")
|
||||
@ApiModelProperty(value = "待确收金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal amountReceivable;
|
||||
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -265,9 +265,9 @@ public class MeetingSituationContractVO {
|
||||
private Integer newContact;
|
||||
|
||||
/**
|
||||
* 应收金额
|
||||
* 待确收金额
|
||||
*/
|
||||
@ApiModelProperty(value = "应收金额")
|
||||
@ApiModelProperty(value = "待确收金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal amountReceivable;
|
||||
|
||||
|
||||
+2
-2
@@ -278,9 +278,9 @@ public class PayMeetingSituationVO {
|
||||
private String paymentRecord;
|
||||
|
||||
/**
|
||||
* 应收金额
|
||||
* 待确收金额
|
||||
*/
|
||||
@ApiModelProperty(value = "应收金额")
|
||||
@ApiModelProperty(value = "待确收金额")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||
private BigDecimal amountReceivable;
|
||||
|
||||
|
||||
+2
-2
@@ -69,9 +69,9 @@ public class StandardsSituationExcel extends SituationBaseExcel {
|
||||
private String postCode;
|
||||
|
||||
/**
|
||||
* 应收金额
|
||||
* 待确收金额
|
||||
*/
|
||||
@Excel(name = "应收金额", width = 15)
|
||||
@Excel(name = "待确收金额", width = 15)
|
||||
private BigDecimal amountReceivable;
|
||||
|
||||
/**缴费方式*/
|
||||
|
||||
+1
-1
@@ -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));
|
||||
|
||||
+5
-5
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
+4
-4
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
+5
-5
@@ -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;
|
||||
|
||||
/**
|
||||
|
||||
+2
-2
@@ -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())){
|
||||
|
||||
+5
-5
@@ -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;
|
||||
/**实收金额(元)*/
|
||||
|
||||
+2
-2
@@ -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();//已完结
|
||||
|
||||
+5
-5
@@ -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;
|
||||
/**实收金额(元)*/
|
||||
|
||||
+4
-4
@@ -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;
|
||||
/**实收金额(元)*/
|
||||
|
||||
+13
-11
@@ -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>
|
||||
|
||||
+2
-2
@@ -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())){
|
||||
|
||||
+1
-1
@@ -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);
|
||||
}
|
||||
|
||||
+9
-9
@@ -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 = "收费通知号")
|
||||
|
||||
+3
-3
@@ -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;
|
||||
/**
|
||||
|
||||
+21
-18
@@ -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时
|
||||
|
||||
Reference in New Issue
Block a user