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 ('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');
|
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);
|
List<PayCommonProject> queryProjectList(List<String> list);
|
||||||
/**
|
/**
|
||||||
* @Description 获取变更应收金额之后的状态
|
* @Description 获取变更待确收金额之后的状态
|
||||||
* @Author lqt
|
* @Author lqt
|
||||||
* @Date 2021/9/14
|
* @Date 2021/9/14
|
||||||
* @Param projectId 项目id
|
* @Param projectId 项目id
|
||||||
* @Param receivableAmount 应收金额
|
* @Param receivableAmount 待确收金额
|
||||||
* @Param needInvoice 需要发票
|
* @Param needInvoice 需要发票
|
||||||
* @Return
|
* @Return
|
||||||
* @Exception
|
* @Exception
|
||||||
|
|||||||
+9
-9
@@ -358,13 +358,13 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
|||||||
if(Objects.isNull(payCommonProject.getPaidAmount())){
|
if(Objects.isNull(payCommonProject.getPaidAmount())){
|
||||||
payCommonProject.setPaidAmount(new BigDecimal("0.00"));
|
payCommonProject.setPaidAmount(new BigDecimal("0.00"));
|
||||||
}
|
}
|
||||||
// 应收金额没有变更 && 验证来款方式没有变更
|
// 待确收金额没有变更 && 验证来款方式没有变更
|
||||||
if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice.equals(payCommonProject.getNeedInvoice())){
|
if(receivableAmount.compareTo(payCommonProject.getReceivableAmount()) == 0 && needInvoice.equals(payCommonProject.getNeedInvoice())){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
// 验证应收金额不能小于实收金额
|
// 验证待确收金额不能小于实收金额
|
||||||
if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) < 0){
|
if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) < 0){
|
||||||
throw new JeroBootException("应收金额不能小于实收金额!");
|
throw new JeroBootException("待确收金额不能小于实收金额!");
|
||||||
}
|
}
|
||||||
// 验证来款方式,有变更,按照变更处理
|
// 验证来款方式,有变更,按照变更处理
|
||||||
if(!needInvoice.equals(payCommonProject.getNeedInvoice())){
|
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);
|
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
|
||||||
invoice = invoice.add(b);
|
invoice = invoice.add(b);
|
||||||
if(receivableAmount.compareTo(invoice) < 0){
|
if(receivableAmount.compareTo(invoice) < 0){
|
||||||
throw new JeroBootException("应收金额不可小于实收金额,请先修改实际来款后再来修改!");
|
throw new JeroBootException("待确收金额不可小于实收金额,请先修改实际来款后再来修改!");
|
||||||
}
|
}
|
||||||
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
|
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
|
||||||
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
|
||||||
@@ -394,7 +394,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
|||||||
y = listPayMailBill.size();
|
y = listPayMailBill.size();
|
||||||
}
|
}
|
||||||
// 到账
|
// 到账
|
||||||
// 应收金额 = 实收金额 = 1
|
// 待确收金额 = 实收金额 = 1
|
||||||
if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) == 0){
|
if(receivableAmount.compareTo(payCommonProject.getPaidAmount()) == 0){
|
||||||
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT1);
|
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT1);
|
||||||
}
|
}
|
||||||
@@ -402,7 +402,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
|||||||
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 0){
|
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) == 0){
|
||||||
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT0);
|
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT0);
|
||||||
}
|
}
|
||||||
// 0 < 实收金额 && 实收金额 < 应收金额 = 2
|
// 0 < 实收金额 && 实收金额 < 待确收金额 = 2
|
||||||
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) > 0
|
if(payCommonProject.getPaidAmount().compareTo(new BigDecimal("0.00")) > 0
|
||||||
&& payCommonProject.getPaidAmount().compareTo(receivableAmount) < 0){
|
&& payCommonProject.getPaidAmount().compareTo(receivableAmount) < 0){
|
||||||
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2);
|
projectStatusVO.setInAccount(ProjectCommon.IN_ACCOUNT2);
|
||||||
@@ -412,7 +412,7 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
|||||||
if(Objects.equals(payCommonProject.getNeedInvoice(),ProjectCommon.NEED_INVOICE0)){
|
if(Objects.equals(payCommonProject.getNeedInvoice(),ProjectCommon.NEED_INVOICE0)){
|
||||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
||||||
}else{
|
}else{
|
||||||
// 开票金额 = 应收金额 = 1
|
// 开票金额 = 待确收金额 = 1
|
||||||
if(invoice.compareTo(receivableAmount) == 0 ){
|
if(invoice.compareTo(receivableAmount) == 0 ){
|
||||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE1);
|
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE1);
|
||||||
}
|
}
|
||||||
@@ -420,13 +420,13 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
|
|||||||
if(invoice.compareTo(new BigDecimal("0.00")) == 0){
|
if(invoice.compareTo(new BigDecimal("0.00")) == 0){
|
||||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE0);
|
||||||
}
|
}
|
||||||
// 开票金额 > 0 && 开票金额 < 应收金额 = 2
|
// 开票金额 > 0 && 开票金额 < 待确收金额 = 2
|
||||||
if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(payCommonProject.getReceivableAmount()) < 0){
|
if(invoice.compareTo(new BigDecimal("0.00")) > 0 && invoice.compareTo(payCommonProject.getReceivableAmount()) < 0){
|
||||||
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE2);
|
projectStatusVO.setMakeInvoice(ProjectCommon.MAKE_INVOICE2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 邮寄
|
// 邮寄
|
||||||
// 开票金额 = 应收金额 && 邮寄次数 = 开票次数 = 1
|
// 开票金额 = 待确收金额 && 邮寄次数 = 开票次数 = 1
|
||||||
if(invoice.compareTo(receivableAmount) == 0 && c == y){
|
if(invoice.compareTo(receivableAmount) == 0 && c == y){
|
||||||
projectStatusVO.setMail(ProjectCommon.MAIL1);
|
projectStatusVO.setMail(ProjectCommon.MAIL1);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,9 +24,9 @@ public class ProjectDetailVO implements Serializable {
|
|||||||
@ApiModelProperty(value = "项目类型")
|
@ApiModelProperty(value = "项目类型")
|
||||||
private Integer projectType;
|
private Integer projectType;
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal receivableAmount;
|
private BigDecimal receivableAmount;
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-2
@@ -663,7 +663,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
|||||||
}
|
}
|
||||||
//已收金额
|
//已收金额
|
||||||
BigDecimal amountReceived = payIncomeContractDetailOutput.getAmountReceived();
|
BigDecimal amountReceived = payIncomeContractDetailOutput.getAmountReceived();
|
||||||
//应收金额
|
//待确收金额
|
||||||
BigDecimal accountsReceivableAmount = payIncomeContractDetailOutput.getAccountsReceivableAmount();
|
BigDecimal accountsReceivableAmount = payIncomeContractDetailOutput.getAccountsReceivableAmount();
|
||||||
//相减得到未收金额
|
//相减得到未收金额
|
||||||
BigDecimal outstandingAmount = accountsReceivableAmount.subtract(amountReceived);
|
BigDecimal outstandingAmount = accountsReceivableAmount.subtract(amountReceived);
|
||||||
@@ -797,7 +797,7 @@ public class PayIncomeContractController extends JeroController<PayIncomeContrac
|
|||||||
filedsList.add(new ExcelExportEntity("合同签订日期", "contractDate"));
|
filedsList.add(new ExcelExportEntity("合同签订日期", "contractDate"));
|
||||||
filedsList.add(new ExcelExportEntity("合同终止日期", "terminationDate"));
|
filedsList.add(new ExcelExportEntity("合同终止日期", "terminationDate"));
|
||||||
filedsList.add(new ExcelExportEntity("合同约定主要时点", "contractTimePoints"));
|
filedsList.add(new ExcelExportEntity("合同约定主要时点", "contractTimePoints"));
|
||||||
filedsList.add(new ExcelExportEntity("应收金额", "accountsReceivableAmount"));
|
filedsList.add(new ExcelExportEntity("待确收金额", "accountsReceivableAmount"));
|
||||||
filedsList.add(new ExcelExportEntity("已收金额", "amountReceived"));
|
filedsList.add(new ExcelExportEntity("已收金额", "amountReceived"));
|
||||||
filedsList.add(new ExcelExportEntity("未收金额", "outstandingAmount"));
|
filedsList.add(new ExcelExportEntity("未收金额", "outstandingAmount"));
|
||||||
filedsList.add(new ExcelExportEntity("账款状态", "accountStatus"));
|
filedsList.add(new ExcelExportEntity("账款状态", "accountStatus"));
|
||||||
|
|||||||
+5
-5
@@ -140,11 +140,11 @@ public class PayIncomeContract implements Serializable {
|
|||||||
@ApiModelProperty(value = "合同约定主要时点")
|
@ApiModelProperty(value = "合同约定主要时点")
|
||||||
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
|
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
|
||||||
private java.lang.String contractTimePoints;
|
private java.lang.String contractTimePoints;
|
||||||
/**应收金额*/
|
/**待确收金额*/
|
||||||
@Excel(name = "应收金额", width = 15)
|
@Excel(name = "待确收金额", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@NotNull(message = "应收金额不能为空")
|
@NotNull(message = "待确收金额不能为空")
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal accountsReceivableAmount;
|
private BigDecimal accountsReceivableAmount;
|
||||||
/**已收金额*/
|
/**已收金额*/
|
||||||
|
|||||||
+3
-3
@@ -58,9 +58,9 @@ public class PayIncomeContractAssociatedCancellation implements Serializable {
|
|||||||
@Excel(name = "来款单位", width = 15)
|
@Excel(name = "来款单位", width = 15)
|
||||||
@ApiModelProperty(value = "来款单位")
|
@ApiModelProperty(value = "来款单位")
|
||||||
private java.lang.String chargeCompanyName;
|
private java.lang.String chargeCompanyName;
|
||||||
/**应收金额(元)*/
|
/**待确收金额(元)*/
|
||||||
@Excel(name = "应收金额(元)", width = 15)
|
@Excel(name = "待确收金额(元)", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额(元)")
|
@ApiModelProperty(value = "待确收金额(元)")
|
||||||
private java.math.BigDecimal receivableAmount;
|
private java.math.BigDecimal receivableAmount;
|
||||||
/**实收金额(元)*/
|
/**实收金额(元)*/
|
||||||
@Excel(name = "实收金额(元)", width = 15)
|
@Excel(name = "实收金额(元)", width = 15)
|
||||||
|
|||||||
+5
-5
@@ -47,11 +47,11 @@ public class PayIncomeContractInstallment implements Serializable {
|
|||||||
@NotEmpty(message = "阶段不能为空")
|
@NotEmpty(message = "阶段不能为空")
|
||||||
@Size(max = 50, message = "阶段长度不能大于50个字符")
|
@Size(max = 50, message = "阶段长度不能大于50个字符")
|
||||||
private java.lang.String phaseName;
|
private java.lang.String phaseName;
|
||||||
/**应收金额*/
|
/**待确收金额*/
|
||||||
@Excel(name = "应收金额", width = 15)
|
@Excel(name = "待确收金额", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@NotNull(message = "应收金额不能为空")
|
@NotNull(message = "待确收金额不能为空")
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal accountsReceivableAmount;
|
private BigDecimal accountsReceivableAmount;
|
||||||
/**应收时间*/
|
/**应收时间*/
|
||||||
|
|||||||
+5
-5
@@ -144,12 +144,12 @@ public class PaySpendingContract implements Serializable {
|
|||||||
@ApiModelProperty(value = "合同约定主要时点")
|
@ApiModelProperty(value = "合同约定主要时点")
|
||||||
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
|
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
|
||||||
private String contractTimePoints;
|
private String contractTimePoints;
|
||||||
/**应收金额*/
|
/**待确收金额*/
|
||||||
@Excel(name = "应收金额", width = 15)
|
@Excel(name = "待确收金额", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@NotNull(message = "应收金额不能为空")
|
@NotNull(message = "待确收金额不能为空")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
|
||||||
private BigDecimal accountsReceivableAmount;
|
private BigDecimal accountsReceivableAmount;
|
||||||
/**已收金额*/
|
/**已收金额*/
|
||||||
@Excel(name = "已收金额", width = 15)
|
@Excel(name = "已收金额", width = 15)
|
||||||
|
|||||||
+3
-3
@@ -47,9 +47,9 @@ public class PaySpendingContractInstallment implements Serializable {
|
|||||||
@NotEmpty(message = "阶段不能为空")
|
@NotEmpty(message = "阶段不能为空")
|
||||||
@Size(max = 50, message = "阶段长度不能大于50个字符")
|
@Size(max = 50, message = "阶段长度不能大于50个字符")
|
||||||
private String phaseName;
|
private String phaseName;
|
||||||
/**应收金额*/
|
/**待确收金额*/
|
||||||
@Excel(name = "阶段应收金额", width = 15)
|
@Excel(name = "阶段待确收金额", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@NotNull(message = "阶段应收不能为空")
|
@NotNull(message = "阶段应收不能为空")
|
||||||
@DecimalMax(value = "9999999999.99",message = "阶段应收格式错误")
|
@DecimalMax(value = "9999999999.99",message = "阶段应收格式错误")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@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())
|
// if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||||
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||||
// throw new JeroBootException("已收金额大于应收金额!");
|
// throw new JeroBootException("已收金额大于待确收金额!");
|
||||||
// }
|
// }
|
||||||
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
||||||
if(!StringUtils.isBlank(msgPayIncomeContract)){
|
if(!StringUtils.isBlank(msgPayIncomeContract)){
|
||||||
@@ -237,7 +237,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
}
|
}
|
||||||
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
|
if(!Objects.isNull(p.getAccountsReceivableAmount()) && !Objects.isNull(p.getPaidAmount())
|
||||||
&& p.getAccountsReceivableAmount().compareTo(p.getPaidAmount()) < 0){
|
&& 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)){
|
if(!StringUtils.isBlank(msgPayIncomeContractInstallment)){
|
||||||
@@ -259,7 +259,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
|
|||||||
}
|
}
|
||||||
// if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
// if(!Objects.isNull(payIncomeContract.getAccountsReceivableAmount()) && !Objects.isNull(payIncomeContract.getAmountReceived())
|
||||||
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
// && payIncomeContract.getAccountsReceivableAmount().compareTo(payIncomeContract.getAmountReceived()) < 0){
|
||||||
// throw new JeroBootException("已收金额大于应收金额!");
|
// throw new JeroBootException("已收金额大于待确收金额!");
|
||||||
// }
|
// }
|
||||||
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
StringBuilder msgPayIncomeContract = ValidUtil.validateAll(payIncomeContract);
|
||||||
if(!StringUtils.isBlank(msgPayIncomeContract)){
|
if(!StringUtils.isBlank(msgPayIncomeContract)){
|
||||||
|
|||||||
@@ -53,9 +53,9 @@ public class ProjectOutput implements Serializable {
|
|||||||
@ApiModelProperty(value = "来款单位")
|
@ApiModelProperty(value = "来款单位")
|
||||||
private String chargeCompanyName;
|
private String chargeCompanyName;
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal receivableAmount;
|
private BigDecimal receivableAmount;
|
||||||
/**
|
/**
|
||||||
|
|||||||
+32
@@ -15,11 +15,16 @@ import io.swagger.annotations.Api;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
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.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.text.DecimalFormat;
|
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 interface constant {
|
||||||
/**
|
/**
|
||||||
* 邮寄状态标识√,应收金额等于开票金额,开票次数等于邮寄次数。
|
* 邮寄状态标识√,待确收金额等于开票金额,开票次数等于邮寄次数。
|
||||||
*/
|
*/
|
||||||
public static final int ONE=1;
|
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);
|
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
|
||||||
y = listPayMailBill.size();
|
y = listPayMailBill.size();
|
||||||
}
|
}
|
||||||
//获取项目应收金额
|
//获取项目待确收金额
|
||||||
BigDecimal receivableAmount = new BigDecimal("0.00");
|
BigDecimal receivableAmount = new BigDecimal("0.00");
|
||||||
|
|
||||||
String project = "";
|
String project = "";
|
||||||
|
|||||||
+2
-2
@@ -798,7 +798,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
|||||||
StringBuilder projectName,StringBuilder chargeCompanyName,StringBuilder principalName,StringBuilder principalId,
|
StringBuilder projectName,StringBuilder chargeCompanyName,StringBuilder principalName,StringBuilder principalId,
|
||||||
int i) {
|
int i) {
|
||||||
int makeInvoice=4;
|
int makeInvoice=4;
|
||||||
BigDecimal amountReceivable=new BigDecimal("0");//应收金额
|
BigDecimal amountReceivable=new BigDecimal("0");//待确收金额
|
||||||
Integer needInvoice = 0;//是否需要发票
|
Integer needInvoice = 0;//是否需要发票
|
||||||
BigDecimal invoiceAmount=payMailBillProject.getInvoiceAmount();//本次开票金额
|
BigDecimal invoiceAmount=payMailBillProject.getInvoiceAmount();//本次开票金额
|
||||||
if(invoiceAmount ==null){
|
if(invoiceAmount ==null){
|
||||||
@@ -1131,7 +1131,7 @@ public class PayMailBillServiceImpl extends ServiceImpl<PayMailBillMapper, PayMa
|
|||||||
private String editCheckCompanyProject(PayMailBillVO bm,PayMailBillProject oldBmp) {
|
private String editCheckCompanyProject(PayMailBillVO bm,PayMailBillProject oldBmp) {
|
||||||
|
|
||||||
int makeInvoice=4;
|
int makeInvoice=4;
|
||||||
BigDecimal amountReceivable=new BigDecimal("0");//应收金额
|
BigDecimal amountReceivable=new BigDecimal("0");//待确收金额
|
||||||
Integer needInvoice = 0;//是否需要发票
|
Integer needInvoice = 0;//是否需要发票
|
||||||
|
|
||||||
//之前开票总额-编辑之前的开票金额=原始开票总额
|
//之前开票总额-编辑之前的开票金额=原始开票总额
|
||||||
|
|||||||
+2
-2
@@ -315,9 +315,9 @@ public class PayMeetingSituation implements Serializable {
|
|||||||
private Integer newContact;
|
private Integer newContact;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -672,7 +672,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
|||||||
throw new JeroBootException("合并开票只能是同一企业");
|
throw new JeroBootException("合并开票只能是同一企业");
|
||||||
}
|
}
|
||||||
if (amountReceivable.compareTo(new BigDecimal("0")) == 0) {
|
if (amountReceivable.compareTo(new BigDecimal("0")) == 0) {
|
||||||
throw new JeroBootException("应收金额为0,不能合并开票");
|
throw new JeroBootException("待确收金额为0,不能合并开票");
|
||||||
}
|
}
|
||||||
if (MeetingSubitemCommon.PAY_MODE_3.equals(payMeetingSituation1.getPayMode())) {
|
if (MeetingSubitemCommon.PAY_MODE_3.equals(payMeetingSituation1.getPayMode())) {
|
||||||
throw new JeroBootException("缴费方式为打包,不能合并开票");
|
throw new JeroBootException("缴费方式为打包,不能合并开票");
|
||||||
@@ -1279,7 +1279,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
|||||||
payMeetingSituation1.setNoTaxAmount(payMeetingSituation.getNoTaxAmount());
|
payMeetingSituation1.setNoTaxAmount(payMeetingSituation.getNoTaxAmount());
|
||||||
payMeetingSituation1.setTax(payMeetingSituation.getTax());
|
payMeetingSituation1.setTax(payMeetingSituation.getTax());
|
||||||
}
|
}
|
||||||
//如果是编辑可以更新应收金额
|
//如果是编辑可以更新待确收金额
|
||||||
if (payMeetingSituation.getId() != null){
|
if (payMeetingSituation.getId() != null){
|
||||||
payMeetingSituation1.setAmountReceivable(payMeetingSituation.getAmountReceivable());
|
payMeetingSituation1.setAmountReceivable(payMeetingSituation.getAmountReceivable());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -85,9 +85,9 @@ public class MeetingEntity implements Serializable {
|
|||||||
private Integer identity;
|
private Integer identity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-2
@@ -265,9 +265,9 @@ public class MeetingSituationContractVO {
|
|||||||
private Integer newContact;
|
private Integer newContact;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -278,9 +278,9 @@ public class PayMeetingSituationVO {
|
|||||||
private String paymentRecord;
|
private String paymentRecord;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -69,9 +69,9 @@ public class StandardsSituationExcel extends SituationBaseExcel {
|
|||||||
private String postCode;
|
private String postCode;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@Excel(name = "应收金额", width = 15)
|
@Excel(name = "待确收金额", width = 15)
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
/**缴费方式*/
|
/**缴费方式*/
|
||||||
|
|||||||
+1
-1
@@ -283,7 +283,7 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
|
|||||||
projectSubitemExcel.setProjectId(projectId);
|
projectSubitemExcel.setProjectId(projectId);
|
||||||
PayMemberProjectSubitem projectSubitem = new PayMemberProjectSubitem();
|
PayMemberProjectSubitem projectSubitem = new PayMemberProjectSubitem();
|
||||||
errorMessage.addAll(ValidUtil.validateReturnListWithNum(projectSubitemExcel,errorRowNum));
|
errorMessage.addAll(ValidUtil.validateReturnListWithNum(projectSubitemExcel,errorRowNum));
|
||||||
//应收金额
|
//待确收金额
|
||||||
String amountReceivable = projectSubitemExcel.getAmountReceivable();
|
String amountReceivable = projectSubitemExcel.getAmountReceivable();
|
||||||
if (errorMessage.isEmpty()) {
|
if (errorMessage.isEmpty()) {
|
||||||
projectSubitem.setAmountReceivable(new BigDecimal(amountReceivable));
|
projectSubitem.setAmountReceivable(new BigDecimal(amountReceivable));
|
||||||
|
|||||||
+5
-5
@@ -164,13 +164,13 @@ public class PayMemberProjectSubitem implements Serializable {
|
|||||||
private String postContactName;
|
private String postContactName;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@Excel(name = "应收金额", width = 15,orderNum = "8")
|
@Excel(name = "待确收金额", width = 15,orderNum = "8")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@NotNull(message = "应收金额不能为空")
|
@NotNull(message = "待确收金额不能为空")
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额格式错误")
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+4
-4
@@ -194,11 +194,11 @@ public class TbCertificatePayment implements Serializable {
|
|||||||
private String certificateId;
|
private String certificateId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@Excel(name = "应收金额", width = 15)
|
@Excel(name = "待确收金额", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@DecimalMax(value = "9999999999.99", message = "应收金额格式错误")
|
@DecimalMax(value = "9999999999.99", message = "待确收金额格式错误")
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+5
-5
@@ -129,12 +129,12 @@ public class TbMemberProjectSubitem implements Serializable {
|
|||||||
private java.util.Date registerTime;
|
private java.util.Date registerTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@Excel(name = "应收金额", width = 15)
|
@Excel(name = "待确收金额", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@NotNull(message = "应收金额不能为空")
|
@NotNull(message = "待确收金额不能为空")
|
||||||
@DecimalMax(value = "9999999999.99", message = "应收金额格式错误")
|
@DecimalMax(value = "9999999999.99", message = "待确收金额格式错误")
|
||||||
private BigDecimal amountReceivable;
|
private BigDecimal amountReceivable;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-2
@@ -141,7 +141,7 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
|||||||
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
|
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
|
||||||
paySendContactsMessageDTO.setUserId(memberProject.getDirectorId());
|
paySendContactsMessageDTO.setUserId(memberProject.getDirectorId());
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
||||||
// 项目的应收金额>0 发送缴费通知
|
// 项目的待确收金额>0 发送缴费通知
|
||||||
if(payMemberProjectSubitem.getAmountReceivable().compareTo(new BigDecimal("0")) > 0){
|
if(payMemberProjectSubitem.getAmountReceivable().compareTo(new BigDecimal("0")) > 0){
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
|
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
|
||||||
}
|
}
|
||||||
@@ -220,7 +220,7 @@ public class PayPayMemberProjectSubitemServiceImpl extends ServiceImpl<PayMember
|
|||||||
// if (!payMemberProjectSubitem1.getPostContactTemporaryId().equals(postContactId)) {
|
// if (!payMemberProjectSubitem1.getPostContactTemporaryId().equals(postContactId)) {
|
||||||
// contactsManagementTemporaryService.removeById(postContactId);
|
// contactsManagementTemporaryService.removeById(postContactId);
|
||||||
// }
|
// }
|
||||||
// 变更应收金额,重新校验状态
|
// 变更待确收金额,重新校验状态
|
||||||
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payMemberProjectSubitem.getId(),payMemberProjectSubitem.getAmountReceivable(),payMemberProjectSubitem.getNeedInvoice());
|
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payMemberProjectSubitem.getId(),payMemberProjectSubitem.getAmountReceivable(),payMemberProjectSubitem.getNeedInvoice());
|
||||||
if(!Objects.isNull(projectStatusVO)){
|
if(!Objects.isNull(projectStatusVO)){
|
||||||
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
||||||
|
|||||||
+5
-5
@@ -55,12 +55,12 @@ public class PayMemberProjectSubitemExcel {
|
|||||||
private String postContactId;
|
private String postContactId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 应收金额
|
* 待确收金额
|
||||||
*/
|
*/
|
||||||
@Excel(name = "应收金额", width = 15,orderNum = "4")
|
@Excel(name = "待确收金额", width = 15,orderNum = "4")
|
||||||
@ApiModelProperty(value = "应收金额")
|
@ApiModelProperty(value = "待确收金额")
|
||||||
@NotBlank(message = "应收金额不能为空")
|
@NotBlank(message = "待确收金额不能为空")
|
||||||
@Pattern(regexp = "^[0-9]{1,10}(\\.[0-9]{1,2})?$",message = "应收金额格式错误")
|
@Pattern(regexp = "^[0-9]{1,10}(\\.[0-9]{1,2})?$",message = "待确收金额格式错误")
|
||||||
private String amountReceivable;
|
private String amountReceivable;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -105,11 +105,11 @@ public class PayProjectExcel implements Serializable {
|
|||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
@ApiModelProperty(value = "联系人邮箱")
|
@ApiModelProperty(value = "联系人邮箱")
|
||||||
private String email;
|
private String email;
|
||||||
/**应收金额(元)*/
|
/**待确收金额(元)*/
|
||||||
@Excel(name = "应收金额(元)", width = 15)
|
@Excel(name = "待确收金额(元)", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额(元)")
|
@ApiModelProperty(value = "待确收金额(元)")
|
||||||
@NotNull(message = "应收金额(元)不能为空!")
|
@NotNull(message = "待确收金额(元)不能为空!")
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额(元)格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal receivableAmount;
|
private BigDecimal receivableAmount;
|
||||||
/**实收金额(元)*/
|
/**实收金额(元)*/
|
||||||
|
|||||||
+2
-2
@@ -751,13 +751,13 @@ public class PayPaymentCheckServiceImpl extends ServiceImpl<PayPaymentCheckMappe
|
|||||||
paidAmount = new BigDecimal("0.00");
|
paidAmount = new BigDecimal("0.00");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 实收金额 < 应收金额 && 不等于待审核/已拒绝
|
// 实收金额 < 待确收金额 && 不等于待审核/已拒绝
|
||||||
if(paidAmount.compareTo(amountReceivable) < 0
|
if(paidAmount.compareTo(amountReceivable) < 0
|
||||||
&& !PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)
|
&& !PaymentStatusEnum.TO_BE_REVIEWED.getCode().equals(paymentStatus)
|
||||||
&& !PaymentStatusEnum.REJECTED.getCode().equals(paymentStatus)){
|
&& !PaymentStatusEnum.REJECTED.getCode().equals(paymentStatus)){
|
||||||
paymentStatus = PaymentStatusEnum.TO_BE_UPLOADED.getCode();//待上传
|
paymentStatus = PaymentStatusEnum.TO_BE_UPLOADED.getCode();//待上传
|
||||||
}
|
}
|
||||||
// 应收>0 && 实收金额 == 应收金额
|
// 应收>0 && 实收金额 == 待确收金额
|
||||||
if(amountReceivable.compareTo(new BigDecimal("0.00")) > 0
|
if(amountReceivable.compareTo(new BigDecimal("0.00")) > 0
|
||||||
&& paidAmount.compareTo(amountReceivable) == 0){
|
&& paidAmount.compareTo(amountReceivable) == 0){
|
||||||
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//已完结
|
paymentStatus = PaymentStatusEnum.COMPLETED.getCode();//已完结
|
||||||
|
|||||||
+5
-5
@@ -90,11 +90,11 @@ public class PayCommonProject implements Serializable {
|
|||||||
@ApiModelProperty(value = "临时联系人名称")
|
@ApiModelProperty(value = "临时联系人名称")
|
||||||
@Excel(name = "企业联系人", width = 15,orderNum = "3")
|
@Excel(name = "企业联系人", width = 15,orderNum = "3")
|
||||||
private String contactsTemporaryName;
|
private String contactsTemporaryName;
|
||||||
/**应收金额(元)*/
|
/**待确收金额(元)*/
|
||||||
@Excel(name = "应收金额(元)", width = 15,orderNum = "4")
|
@Excel(name = "待确收金额(元)", width = 15,orderNum = "4")
|
||||||
@ApiModelProperty(value = "应收金额(元)")
|
@ApiModelProperty(value = "待确收金额(元)")
|
||||||
@NotNull(message = "应收金额(元)不能为空")
|
@NotNull(message = "待确收金额(元)不能为空")
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额(元)格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal receivableAmount;
|
private BigDecimal receivableAmount;
|
||||||
/**实收金额(元)*/
|
/**实收金额(元)*/
|
||||||
|
|||||||
+4
-4
@@ -117,10 +117,10 @@ public class PayWorkingGroupSubItem implements Serializable {
|
|||||||
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
|
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
|
||||||
@NotNull(message = "来款方式不能为空")
|
@NotNull(message = "来款方式不能为空")
|
||||||
private java.lang.Integer chargeWay;
|
private java.lang.Integer chargeWay;
|
||||||
/**应收金额(元)*/
|
/**待确收金额(元)*/
|
||||||
@Excel(name = "应收金额(元)", width = 15)
|
@Excel(name = "待确收金额(元)", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额(元)")
|
@ApiModelProperty(value = "待确收金额(元)")
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额(元)格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal receivableAmount;
|
private BigDecimal receivableAmount;
|
||||||
/**实收金额(元)*/
|
/**实收金额(元)*/
|
||||||
|
|||||||
+13
-11
@@ -456,7 +456,8 @@
|
|||||||
packText,
|
packText,
|
||||||
pack,
|
pack,
|
||||||
invoiceNoTaxAmount as billMoney,
|
invoiceNoTaxAmount as billMoney,
|
||||||
confirmNoTaxAmount as confirmAmount
|
confirmNoTaxAmount as confirmAmount,
|
||||||
|
year
|
||||||
from
|
from
|
||||||
<if test="allProjectStatisticsSearch.paymentYear == null or allProjectStatisticsSearch.paymentYear == ''">
|
<if test="allProjectStatisticsSearch.paymentYear == null or allProjectStatisticsSearch.paymentYear == ''">
|
||||||
v_statistical v
|
v_statistical v
|
||||||
@@ -2367,7 +2368,7 @@
|
|||||||
IFNULL(sum(money),0) from
|
IFNULL(sum(money),0) from
|
||||||
(
|
(
|
||||||
SELECT distinct v.projectId, invoiceNoTaxAmount - ifnull( paidNoTaxAmount, 0) money
|
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_project pmbp on v.projectId = pmbp.project_id
|
||||||
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
|
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
|
||||||
<where>
|
<where>
|
||||||
@@ -2384,8 +2385,8 @@
|
|||||||
and departCode = #{departCode}
|
and departCode = #{departCode}
|
||||||
</if>
|
</if>
|
||||||
<!-- 开票未来款 -->
|
<!-- 开票未来款 -->
|
||||||
AND (paidNoTaxAmount <![CDATA[<]]> invoiceNoTaxAmount or
|
AND (comeAllMoney <![CDATA[<]]> v.invoiceAmount or
|
||||||
(paidNoTaxAmount is null and invoiceNoTaxAmount is not null and invoiceNoTaxAmount != 0))
|
(comeAllMoney is null and v.invoiceAmount is not null and v.invoiceAmount != 0))
|
||||||
</where>
|
</where>
|
||||||
) a
|
) a
|
||||||
</select>
|
</select>
|
||||||
@@ -2435,8 +2436,9 @@
|
|||||||
allMoney,
|
allMoney,
|
||||||
paidNoTaxAmount AS comeAllMoney,
|
paidNoTaxAmount AS comeAllMoney,
|
||||||
invoiceNoTaxAmount AS billMoney,
|
invoiceNoTaxAmount AS billMoney,
|
||||||
confirmNoTaxAmount AS confirmAmount
|
confirmNoTaxAmount AS confirmAmount,
|
||||||
FROM v_statistical v
|
year
|
||||||
|
FROM v_statistical_all v
|
||||||
left join pay_mail_bill_project pmbp on v.projectId = pmbp.project_id
|
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
|
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
|
||||||
<where>
|
<where>
|
||||||
@@ -2453,8 +2455,8 @@
|
|||||||
and departCode = #{departCode}
|
and departCode = #{departCode}
|
||||||
</if>
|
</if>
|
||||||
<!-- 开票未来款 -->
|
<!-- 开票未来款 -->
|
||||||
AND (paidNoTaxAmount <![CDATA[<]]> invoiceNoTaxAmount or
|
AND (comeAllMoney <![CDATA[<]]> v.invoiceAmount or
|
||||||
(paidNoTaxAmount is null and invoiceNoTaxAmount is not null and invoiceNoTaxAmount != 0))
|
(comeAllMoney is null and v.invoiceAmount is not null and v.invoiceAmount != 0))
|
||||||
</where>) p
|
</where>) p
|
||||||
<if test="column != null and column != ''">
|
<if test="column != null and column != ''">
|
||||||
<if test="column == 'allMoney' and order == 'desc'">
|
<if test="column == 'allMoney' and order == 'desc'">
|
||||||
@@ -2496,7 +2498,7 @@
|
|||||||
paidNoTaxAmount,
|
paidNoTaxAmount,
|
||||||
invoiceNoTaxAmount,
|
invoiceNoTaxAmount,
|
||||||
confirmNoTaxAmount
|
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_project pmbp on v.projectId = pmbp.project_id
|
||||||
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
|
left join pay_mail_bill pmb on pmb.id = pmbp.bill_id
|
||||||
<where>
|
<where>
|
||||||
@@ -2513,8 +2515,8 @@
|
|||||||
and departCode = #{departCode}
|
and departCode = #{departCode}
|
||||||
</if>
|
</if>
|
||||||
<!-- 开票未来款 -->
|
<!-- 开票未来款 -->
|
||||||
AND (paidNoTaxAmount <![CDATA[<]]> invoiceNoTaxAmount or
|
AND (comeAllMoney <![CDATA[<]]> v.invoiceAmount or
|
||||||
(paidNoTaxAmount is null and invoiceNoTaxAmount is not null and invoiceNoTaxAmount != 0))
|
(comeAllMoney is null and v.invoiceAmount is not null and v.invoiceAmount != 0))
|
||||||
</where>
|
</where>
|
||||||
) a
|
) a
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
+2
-2
@@ -149,7 +149,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
|||||||
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
|
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
|
||||||
paySendContactsMessageDTO.setUserId(payCommonProject.getPrincipalId());
|
paySendContactsMessageDTO.setUserId(payCommonProject.getPrincipalId());
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
||||||
// 项目的应收金额>0 发送缴费通知
|
// 项目的待确收金额>0 发送缴费通知
|
||||||
if(!Objects.isNull(payCommonProject.getReceivableAmount()) && payCommonProject.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
|
if(!Objects.isNull(payCommonProject.getReceivableAmount()) && payCommonProject.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
|
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
|
||||||
}
|
}
|
||||||
@@ -223,7 +223,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
|
|||||||
}
|
}
|
||||||
|
|
||||||
setPayCommonProjectEdit(payCommonProject,payCommonProjectOld);
|
setPayCommonProjectEdit(payCommonProject,payCommonProjectOld);
|
||||||
// 变更应收金额,重新校验状态
|
// 变更待确收金额,重新校验状态
|
||||||
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payCommonProject.getId(),payCommonProject.getReceivableAmount(),payCommonProject.getNeedInvoice());
|
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(payCommonProject.getId(),payCommonProject.getReceivableAmount(),payCommonProject.getNeedInvoice());
|
||||||
if(!Objects.isNull(projectStatusVO)){
|
if(!Objects.isNull(projectStatusVO)){
|
||||||
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
||||||
|
|||||||
+1
-1
@@ -346,7 +346,7 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
|
|||||||
paySendContactsMessageDTO.setUserId(payWorkingGroupOld.getPrincipalIdA());
|
paySendContactsMessageDTO.setUserId(payWorkingGroupOld.getPrincipalIdA());
|
||||||
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
|
paySendContactsMessageDTO.setPhone(payContactsManagement.getPhone());
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
||||||
// 项目的应收金额>0 发送缴费通知
|
// 项目的待确收金额>0 发送缴费通知
|
||||||
if(!Objects.isNull(p.getReceivableAmount()) && p.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
|
if(!Objects.isNull(p.getReceivableAmount()) && p.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
|
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.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
||||||
throw new JeroBootException("应收金额不能为空");
|
throw new JeroBootException("待确收金额不能为空");
|
||||||
}
|
}
|
||||||
if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){
|
if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){
|
||||||
throw new JeroBootException("合同号不能为空");
|
throw new JeroBootException("合同号不能为空");
|
||||||
@@ -195,7 +195,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
throw new JeroBootException("收费通知号不能为空");
|
throw new JeroBootException("收费通知号不能为空");
|
||||||
}
|
}
|
||||||
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
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.setListFile(listFile);
|
||||||
}
|
}
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0);
|
||||||
// 项目的应收金额>0 发送缴费通知
|
// 项目的待确收金额>0 发送缴费通知
|
||||||
if(!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
|
if(!Objects.isNull(payWorkingGroupSubItem.getReceivableAmount()) && payWorkingGroupSubItem.getReceivableAmount().compareTo(new BigDecimal("0")) > 0){
|
||||||
paySendContactsMessageDTO.setFlag(ProjectCommon.FLAG0 + "," + ProjectCommon.FLAG1);
|
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.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
|
||||||
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
||||||
throw new JeroBootException("应收金额不能为空");
|
throw new JeroBootException("待确收金额不能为空");
|
||||||
}
|
}
|
||||||
if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){
|
if(StringUtils.isBlank(payWorkingGroupSubItem.getContractNum())){
|
||||||
throw new JeroBootException("合同号不能为空");
|
throw new JeroBootException("合同号不能为空");
|
||||||
@@ -343,7 +343,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
throw new JeroBootException("收费通知号不能为空");
|
throw new JeroBootException("收费通知号不能为空");
|
||||||
}
|
}
|
||||||
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
if(Objects.isNull(payWorkingGroupSubItem.getReceivableAmount())){
|
||||||
throw new JeroBootException("应收金额不能为空");
|
throw new JeroBootException("待确收金额不能为空");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -412,7 +412,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
payWorkingGroupSubItemContactsService.saveBatch(listPayWorkingGroupSubItemContactsNew);
|
payWorkingGroupSubItemContactsService.saveBatch(listPayWorkingGroupSubItemContactsNew);
|
||||||
}
|
}
|
||||||
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
||||||
// 变更应收金额,重新校验状态
|
// 变更待确收金额,重新校验状态
|
||||||
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(workingGroupSubItemId,payWorkingGroupSubItem.getReceivableAmount(),payWorkingGroupSubItem.getNeedInvoice());
|
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(workingGroupSubItemId,payWorkingGroupSubItem.getReceivableAmount(),payWorkingGroupSubItem.getNeedInvoice());
|
||||||
if(!Objects.isNull(projectStatusVO)){
|
if(!Objects.isNull(projectStatusVO)){
|
||||||
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
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.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY2)) {
|
||||||
if (Objects.isNull(p.getReceivableAmount())) {
|
if (Objects.isNull(p.getReceivableAmount())) {
|
||||||
msg.append("第").append(count + 3).append("行:应收金额不能为空,请修改。<br/>");
|
msg.append("第").append(count + 3).append("行:待确收金额不能为空,请修改。<br/>");
|
||||||
}
|
}
|
||||||
if (StringUtils.isBlank(p.getContractNum())) {
|
if (StringUtils.isBlank(p.getContractNum())) {
|
||||||
msg.append("第").append(count + 3).append("行:合同号不能为空,请修改。<br/>");
|
msg.append("第").append(count + 3).append("行:合同号不能为空,请修改。<br/>");
|
||||||
@@ -661,7 +661,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (Objects.isNull(p.getReceivableAmount())) {
|
if (Objects.isNull(p.getReceivableAmount())) {
|
||||||
msg.append("第").append(count + 3).append("行:应收金额不能为空,请修改。<br/>");
|
msg.append("第").append(count + 3).append("行:待确收金额不能为空,请修改。<br/>");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
p.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
p.setChargeUse(PayProjectCommon.CHARGE_USE1);
|
||||||
@@ -926,7 +926,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<PayWorkingGroupSubItem> updatePayWorkingGroupSubItem = new LambdaUpdateWrapper<>();
|
||||||
// 变更应收金额,重新校验状态
|
// 变更待确收金额,重新校验状态
|
||||||
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(p.getId(),input.getReceivableAmount(),p.getNeedInvoice());
|
ProjectStatusVO projectStatusVO = projectDetailService.getStatus(p.getId(),input.getReceivableAmount(),p.getNeedInvoice());
|
||||||
if(!Objects.isNull(projectStatusVO)){
|
if(!Objects.isNull(projectStatusVO)){
|
||||||
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
if(!Objects.isNull(projectStatusVO.getInAccount())){
|
||||||
|
|||||||
@@ -20,10 +20,10 @@ public class SetChargeInput implements Serializable {
|
|||||||
@ApiModelProperty(value = "收费通知唯一标识(收费通知号A:a,收费通知号B:b)")
|
@ApiModelProperty(value = "收费通知唯一标识(收费通知号A:a,收费通知号B:b)")
|
||||||
@NotEmpty(message = "收费通知唯一标识不能为空")
|
@NotEmpty(message = "收费通知唯一标识不能为空")
|
||||||
private java.lang.String charge;
|
private java.lang.String charge;
|
||||||
/**应收金额(元)*/
|
/**待确收金额(元)*/
|
||||||
@ApiModelProperty(value = "应收金额(元)")
|
@ApiModelProperty(value = "待确收金额(元)")
|
||||||
@DecimalMax(value = "9999999999.99",message = "应收金额(元)格式错误")
|
@DecimalMax(value = "9999999999.99",message = "待确收金额(元)格式错误")
|
||||||
@NotNull(message = "应收金额(元)不能为空!")
|
@NotNull(message = "待确收金额(元)不能为空!")
|
||||||
private BigDecimal receivableAmount;
|
private BigDecimal receivableAmount;
|
||||||
/**收费通知号*/
|
/**收费通知号*/
|
||||||
@ApiModelProperty(value = "收费通知号")
|
@ApiModelProperty(value = "收费通知号")
|
||||||
|
|||||||
+3
-3
@@ -38,10 +38,10 @@ public class PayWorkingGroupSubItemExcel implements Serializable {
|
|||||||
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
|
@ApiModelProperty(value = "来款方式(1:无,2:合同,3:收费通知)")
|
||||||
private Integer chargeWay;
|
private Integer chargeWay;
|
||||||
/**
|
/**
|
||||||
* 应收金额(元)
|
* 待确收金额(元)
|
||||||
*/
|
*/
|
||||||
@Excel(name = "应收金额(元)", width = 15)
|
@Excel(name = "待确收金额(元)", width = 15)
|
||||||
@ApiModelProperty(value = "应收金额(元)")
|
@ApiModelProperty(value = "待确收金额(元)")
|
||||||
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
@JsonFormat(shape = JsonFormat.Shape.STRING)
|
||||||
private BigDecimal receivableAmount;
|
private BigDecimal receivableAmount;
|
||||||
/**
|
/**
|
||||||
|
|||||||
+21
-18
@@ -22,10 +22,26 @@ public class AllProjectStatistics {
|
|||||||
@ApiModelProperty(value = "来款项目")
|
@ApiModelProperty(value = "来款项目")
|
||||||
private String projectName;
|
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)
|
@Excel(name = "来款单位", width = 15)
|
||||||
@ApiModelProperty(value = "来款单位")
|
@ApiModelProperty(value = "来款单位")
|
||||||
private String chargeCompanyTemporaryName;
|
private String chargeCompanyTemporaryName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "打包")
|
||||||
|
private Integer pack;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
@Excel(name = "打包", width = 15)
|
||||||
|
@ApiModelProperty(value = "打包")
|
||||||
|
private String packText;
|
||||||
|
|
||||||
@Excel(name = "年度待确收金额", width = 15)
|
@Excel(name = "年度待确收金额", width = 15)
|
||||||
@ApiModelProperty(value = "合同金额")
|
@ApiModelProperty(value = "合同金额")
|
||||||
private String allMoney;
|
private String allMoney;
|
||||||
@@ -49,27 +65,14 @@ public class AllProjectStatistics {
|
|||||||
@ApiModelProperty(value = "来款用途")
|
@ApiModelProperty(value = "来款用途")
|
||||||
private String ChargeUse_text;
|
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 = "到账时间")
|
@ApiModelProperty(value = "到账时间")
|
||||||
private String paymentDate;
|
private String paymentDate;
|
||||||
|
|
||||||
|
@Excel(name = "项目年份", width = 15)
|
||||||
|
@ApiModelProperty(value = "项目年份")
|
||||||
|
private String year;
|
||||||
|
|
||||||
|
|
||||||
public AllProjectStatistics(String allMoney, String confirmAmount, String billMoney, String comeAllMoney, String paymentDate) {
|
public AllProjectStatistics(String allMoney, String confirmAmount, String billMoney, String comeAllMoney, String paymentDate) {
|
||||||
this.allMoney=allMoney;
|
this.allMoney=allMoney;
|
||||||
this.confirmAmount=confirmAmount;
|
this.confirmAmount=confirmAmount;
|
||||||
|
|||||||
@@ -22,17 +22,17 @@ public class AmountUtil {
|
|||||||
/**
|
/**
|
||||||
* 计算到账状态
|
* 计算到账状态
|
||||||
*
|
*
|
||||||
* @param amountReceivable 应收金额
|
* @param amountReceivable 待确收金额
|
||||||
* @param paidAmount 实收金额
|
* @param paidAmount 实收金额
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static int calculate(Integer amountReceivable, Integer paidAmount) {
|
public static int calculate(Integer amountReceivable, Integer paidAmount) {
|
||||||
//应收金额大于0时
|
//待确收金额大于0时
|
||||||
if (amountReceivable > 0) {
|
if (amountReceivable > 0) {
|
||||||
//实收金额等于应收金额
|
//实收金额等于待确收金额
|
||||||
if (paidAmount.equals(amountReceivable)) {
|
if (paidAmount.equals(amountReceivable)) {
|
||||||
return 2;
|
return 2;
|
||||||
//实收金额大于0小于应收金额时
|
//实收金额大于0小于待确收金额时
|
||||||
} else if (paidAmount > 0 && paidAmount < amountReceivable) {
|
} else if (paidAmount > 0 && paidAmount < amountReceivable) {
|
||||||
return 1;
|
return 1;
|
||||||
//实收金额等于0时
|
//实收金额等于0时
|
||||||
|
|||||||
Reference in New Issue
Block a user