全所统计

This commit is contained in:
zhangqinlin
2021-09-18 10:45:11 +08:00
parent 2e9a63f4da
commit b4fba29e03
34 changed files with 818 additions and 152 deletions
@@ -39,6 +39,7 @@ import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.util.AmountUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -183,94 +184,95 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
//变更5种项目的邮寄状态
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
queryPayMailBillProject.eq(PayMailBillProject::getBillId,payMailBill.getId());
PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject);
PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject,false);
if(ObjectUtils.isEmpty(one)){
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject2 = new LambdaQueryWrapper<>();
queryPayMailBillProject2.eq(PayMailBillProject::getProjectId,one.getProjectId());
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject2);
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject2 = new LambdaQueryWrapper<>();
queryPayMailBillProject2.eq(PayMailBillProject::getProjectId,one.getProjectId());
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject2);
// 开票金额
BigDecimal invoice = new BigDecimal("0.00");
// 开票次数
int c = listPayMailBillProject.size();
// 邮寄次数
int y = 0;
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
invoice = invoice.add(b);
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
queryPayMailBill.in(PayMailBill::getId,list);
queryPayMailBill.eq(PayMailBill::getPostStatus, ProjectCommon.POST_STATUS1);
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
y = listPayMailBill.size();
}
//获取项目应收金额
BigDecimal receivableAmount = new BigDecimal("0.00");
// 开票金额
BigDecimal invoice = new BigDecimal("0.00");
// 开票次数
int c = listPayMailBillProject.size();
// 邮寄次数
int y = 0;
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
invoice = invoice.add(b);
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
queryPayMailBill.in(PayMailBill::getId,list);
queryPayMailBill.eq(PayMailBill::getPostStatus, ProjectCommon.POST_STATUS1);
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
y = listPayMailBill.size();
}
//获取项目应收金额
BigDecimal receivableAmount = new BigDecimal("0.00");
//判断变更那个项目的邮寄状态
if(GlobalConstants.ONE.equals(one.getProjectType())){
receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();
PayCommonProject payCommonProject = new PayCommonProject();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.ONE);
payCommonProjectService.updateById(payCommonProject);
}else if(y<=c&&y>0){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.TWO);
payCommonProjectService.updateById(payCommonProject);
//判断变更那个项目的邮寄状态
if(GlobalConstants.ONE.equals(one.getProjectType())){
receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();
PayCommonProject payCommonProject = new PayCommonProject();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.ONE);
payCommonProjectService.updateById(payCommonProject);
}else if(y<=c&&y>0){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.TWO);
payCommonProjectService.updateById(payCommonProject);
}
}else if(GlobalConstants.TWO.equals(one.getProjectType())) {
receivableAmount=payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.ONE);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}else if(y<=c&&y>0){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.TWO);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
}else if (GlobalConstants.THERE.equals(one.getProjectType())) {
receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.ONE);
payMeetingSituationService.updateById(payMeetingSituation);
}else if(y<=c&&y>0){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.TWO);
payMeetingSituationService.updateById(payMeetingSituation);
}
}else if (GlobalConstants.FORE.equals(one.getProjectType())) {
receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.ONE);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}else if(y<=c&&y>0){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.TWO);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}
}else if (GlobalConstants.FIVE.equals(one.getProjectType())){
receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.ONE);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}else if(y<=c&&y>0){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.TWO);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}
//推送邮寄数据到会员系统
payMailBillService.pushSendToStandards(payMailBill,one.getProjectId());
}
}else if(GlobalConstants.TWO.equals(one.getProjectType())) {
receivableAmount=payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.ONE);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}else if(y<=c&&y>0){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.TWO);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
}else if (GlobalConstants.THERE.equals(one.getProjectType())) {
receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.ONE);
payMeetingSituationService.updateById(payMeetingSituation);
}else if(y<=c&&y>0){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.TWO);
payMeetingSituationService.updateById(payMeetingSituation);
}
}else if (GlobalConstants.FORE.equals(one.getProjectType())) {
receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.ONE);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}else if(y<=c&&y>0){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.TWO);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}
}else if (GlobalConstants.FIVE.equals(one.getProjectType())){
receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.ONE);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}else if(y<=c&&y>0){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.TWO);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}
//推送邮寄数据到会员系统
payMailBillService.pushSendToStandards(payMailBill,one.getProjectId());
}
return Result.OK("编辑成功!");
}