From 80b240f02aa44f0eff69087d9fc721b5caf0e4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Tue, 28 Sep 2021 18:47:22 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/mapper/ProjectDetailMapper.java | 9 ++ .../common/mapper/xml/ProjectDetailMapper.xml | 17 +++ .../common/service/ProjectDetailService.java | 10 ++ .../impl/ProjectDetailServiceImpl.java | 5 + .../jero/home/controller/HomeController.java | 17 ++- .../com/jero/home/vo/DataStatisticsVO.java | 4 +- .../PayWorkingGroupDistributionRecord.java | 12 +- ...ingGroupDistributionRecordServiceImpl.java | 136 +++++++++++++++--- .../handle/impl/EmailSendMsgHandle.java | 8 ++ 9 files changed, 183 insertions(+), 35 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/ProjectDetailMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/ProjectDetailMapper.java index bc477784..24a8f721 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/ProjectDetailMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/ProjectDetailMapper.java @@ -31,4 +31,13 @@ public interface ProjectDetailMapper { * @Exception */ List queryProjectReceivableNotEqualsPaid(); + /** + * @Description 查询月份新增项目数 + * @Author lqt + * @Date 2021/9/25 + * @Param time 年-月 + * @Return + * @Exception + */ + Integer getMonthProjectCount(String time); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml index 69fe182e..bf958ef2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/mapper/xml/ProjectDetailMapper.xml @@ -165,4 +165,21 @@ where if(amount_receivable is null or amount_receivable = '',0,amount_receivable) > if(paid_amount is null or paid_amount = '',0,paid_amount) + \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java index cf372242..6695a50f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/ProjectDetailService.java @@ -38,4 +38,14 @@ public interface ProjectDetailService { * @Exception */ ProjectStatusVO getStatus(String projectId, BigDecimal receivableAmount,Integer needInvoice); + + /** + * @Description 查询月份新增项目数 + * @Author lqt + * @Date 2021/9/25 + * @Param time 年-月 + * @Return + * @Exception + */ + Integer getMonthProjectCount(String time); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java index d59d9bac..b4e263d7 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/common/service/impl/ProjectDetailServiceImpl.java @@ -311,4 +311,9 @@ public class ProjectDetailServiceImpl implements ProjectDetailService { } return projectStatusVO; } + + @Override + public Integer getMonthProjectCount(String time) { + return projectDetailMapper.getMonthProjectCount(time); + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/home/controller/HomeController.java b/jero-boot-incoming-payment/src/main/java/com/jero/home/controller/HomeController.java index 20924618..a37eb1da 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/home/controller/HomeController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/home/controller/HomeController.java @@ -1,6 +1,7 @@ package com.jero.home.controller; import com.jero.common.api.vo.Result; +import com.jero.common.service.ProjectDetailService; import com.jero.home.vo.DataStatisticsVO; import com.jero.mail.service.IPayMailBillService; import com.jero.payment.service.IPayPaymentRecordService; @@ -35,6 +36,8 @@ public class HomeController { @Resource private IPayMailBillService payMailBillService; + @Resource + private ProjectDetailService projectDetailService; /** * 首页-数据统计 @@ -50,18 +53,20 @@ public class HomeController { // 本月 String d1 = formatters.format(today); // 上月 - String d2 = formatters.format(today.minusMonths(1)); + // String d2 = formatters.format(today.minusMonths(1)); // 本月应收总额 BigDecimal b1 = payPaymentRecordService.getMonthAmountCount(d1); if(Objects.isNull(b1)){ b1 = new BigDecimal("0.00"); } + int count = projectDetailService.getMonthProjectCount(d1); // 上月应收总额 - BigDecimal b2 = payPaymentRecordService.getMonthAmountCount(d2); - if(Objects.isNull(b2)){ - b2 = new BigDecimal("0.00"); - } - dataStatisticsVO.setNowMonthAddAmount(b1.subtract(b2)); +// BigDecimal b2 = payPaymentRecordService.getMonthAmountCount(d2); +// if(Objects.isNull(b2)){ +// b2 = new BigDecimal("0.00"); +// } + // + dataStatisticsVO.setNowMonthAddAmount(count); dataStatisticsVO.setNowMonthAmount((b1.divide(new BigDecimal("10000"))).setScale(2, BigDecimal.ROUND_DOWN)); int m = payMailBillService.getMonthMailCount(d1); dataStatisticsVO.setNowMonthMail(m); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/home/vo/DataStatisticsVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/home/vo/DataStatisticsVO.java index 0722d4b3..e27e74eb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/home/vo/DataStatisticsVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/home/vo/DataStatisticsVO.java @@ -14,9 +14,7 @@ public class DataStatisticsVO implements Serializable { * 本月新增收款项 */ @ApiModelProperty(value = "本月新增收款项") - @DecimalMax(value = "9999999999.99",message = "本月新增收款项格式错误") - @JsonFormat(shape = JsonFormat.Shape.STRING) - private BigDecimal nowMonthAddAmount; + private Integer nowMonthAddAmount; /** * 本月到账(万元) */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupDistributionRecord.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupDistributionRecord.java index 1576b2d7..c942e685 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupDistributionRecord.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayWorkingGroupDistributionRecord.java @@ -38,10 +38,14 @@ public class PayWorkingGroupDistributionRecord implements Serializable { @Excel(name = "资料id", width = 15) @ApiModelProperty(value = "资料id") private java.lang.String dataId; - /**工作组成员id或者分标委成员id*/ - @Excel(name = "工作组成员id或者分标委成员id", width = 15) - @ApiModelProperty(value = "工作组成员id或者分标委成员id") + /**工作组id或者分标委id*/ + @Excel(name = "工作组id或者分标委id", width = 15) + @ApiModelProperty(value = "工作组id或者分标委id") private java.lang.String projectId; + /**工作组成员id或者分标委成员id*/ + @Excel(name = "工作组成员id或者分标委成员id", width = 15) + @ApiModelProperty(value = "工作组成员id或者分标委成员id") + private java.lang.String subId; /**文件id*/ @Excel(name = "文件id", width = 15) @ApiModelProperty(value = "文件id") @@ -74,11 +78,11 @@ public class PayWorkingGroupDistributionRecord implements Serializable { /**资料ids 多个以逗号分隔*/ @Excel(name = "资料ids 多个以逗号分隔", width = 15) @ApiModelProperty(value = "资料ids 多个以逗号分隔") + @TableField(exist = false) private java.lang.String dataIds; /**项目类型1:工作组,2:分标委*/ @ApiModelProperty(value = "项目类型1:工作组,2:分标委") - @TableField(exist = false) private java.lang.Integer projectType; /**联系人ids 多个以逗号分隔*/ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java index 44bceb15..1540a464 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java @@ -2,46 +2,44 @@ package com.jero.project.service.impl; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; -import com.jero.common.enums.ManagementMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.service.SendMessageService; -import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.company.entity.PayContactsManagement; import com.jero.company.service.IPayContactsManagementService; import com.jero.data.entity.PayCaseCommittee; +import com.jero.data.entity.PayCaseCommitteeSubitem; import com.jero.data.service.IPayCaseCommitteeService; -import com.jero.modules.message.handle.ISendMsgHandle; -import com.jero.modules.message.handle.impl.EmailSendMsgHandle; +import com.jero.data.service.IPayCaseCommitteeSubitemService; import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.service.IOSSFileService; import com.jero.project.common.PayProjectCommon; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.entity.PayWorkingGroupDataFile; import com.jero.project.entity.PayWorkingGroupDistributionRecord; +import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.mapper.PayWorkingGroupDistributionRecordMapper; import com.jero.project.service.IPayWorkingGroupDataFileService; import com.jero.project.service.IPayWorkingGroupDistributionRecordService; import com.jero.project.service.IPayWorkingGroupService; +import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayContactsManagementTemporaryService; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.env.Environment; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.File; import java.util.*; -import java.util.stream.Collectors; /** * @Description: pay_working_group_distribution_record @@ -52,26 +50,31 @@ import java.util.stream.Collectors; @Service public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl implements IPayWorkingGroupDistributionRecordService { - @Autowired + @Resource private IPayContactsManagementTemporaryService payContactsManagementTemporaryService; - @Autowired + @Resource private IPayContactsManagementService payContactsManagementService; - @Autowired + @Resource private IPayWorkingGroupDataFileService payWorkingGroupDataFileService; - @Autowired + @Resource private IPayWorkingGroupService payWorkingGroupService; - @Autowired + @Resource private IPayCaseCommitteeService payCaseCommitteeService; - @Autowired + @Resource private Environment env; @Resource private IOSSFileService iossFileService; - @Autowired - private ISysBaseAPI sysBaseAPI; @Resource private SendMessageService sendMessageService; + @Resource + private IPayWorkingGroupSubItemService payWorkingGroupSubItemService; + @Resource + private IPayWorkingGroupDistributionRecordService payWorkingGroupDistributionRecordService; + @Resource + private IPayCaseCommitteeSubitemService payCaseCommitteeSubitemService; @Override + @Transactional public void add(PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecord) { if(StringUtils.isBlank(payWorkingGroupDistributionRecord.getContactsIds())){ throw new JeroBootException("成员id不能为空!"); @@ -90,6 +93,9 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl listFile = new ArrayList<>(); // 文件路径 @@ -97,10 +103,29 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl list = new ArrayList<>(); String msg = ""; + List listPayWorkingGroupDistributionRecord = new ArrayList<>(); if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){ LambdaQueryWrapper queryPayContactsManagementTemporary = new LambdaQueryWrapper<>(); queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s)); List listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary); + // 查询工作组成员 + LambdaQueryWrapper queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>(); + queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getContactsTemporaryIdOne,Arrays.asList(s)); + queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupDistributionRecord.getProjectId()); + List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem); + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){ + listPayWorkingGroupSubItem.forEach(p->{ + PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord(); + payWorkingGroupDistributionRecordNew.setDataId(payWorkingGroupDistributionRecord.getDataId()); + payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId()); + payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType()); + payWorkingGroupDistributionRecordNew.setFileId(byId.getId()); + payWorkingGroupDistributionRecordNew.setSubId(p.getId()); + payWorkingGroupDistributionRecordNew.setContactsId(p.getContactsIdOne()); + payWorkingGroupDistributionRecordNew.setContactsName(p.getContactsTemporaryNameOne()); + listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew); + }); + } if(!CollectionUtils.isEmpty(listContacts)){ list = listContacts; } @@ -117,6 +142,25 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl queryPayCaseCommitteeSubitem = new LambdaQueryWrapper<>(); + queryPayCaseCommitteeSubitem.eq(PayCaseCommitteeSubitem::getCommitteeId,payWorkingGroupDistributionRecord.getProjectId()); + queryPayCaseCommitteeSubitem.in(PayCaseCommitteeSubitem::getContactsId,Arrays.asList(s)); + List listPayCaseCommitteeSubitem = payCaseCommitteeSubitemService.list(queryPayCaseCommitteeSubitem); + if(!CollectionUtils.isEmpty(listPayCaseCommitteeSubitem)){ + listPayCaseCommitteeSubitem.forEach(p->{ + PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord(); + payWorkingGroupDistributionRecordNew.setDataId(payWorkingGroupDistributionRecord.getDataId()); + payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId()); + payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType()); + payWorkingGroupDistributionRecordNew.setFileId(byId.getId()); + payWorkingGroupDistributionRecordNew.setSubId(p.getId()); + payWorkingGroupDistributionRecordNew.setContactsId(p.getContactsId()); + payWorkingGroupDistributionRecordNew.setContactsName(p.getContactsName()); + listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew); + }); + } + PayCaseCommittee payCaseCommittee = payCaseCommitteeService.getById(payWorkingGroupDistributionRecord.getProjectId()); if(Objects.isNull(payCaseCommittee)){ throw new JeroBootException("分标委不存在!"); @@ -125,6 +169,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl listPayWorkingGroupDataFile = payWorkingGroupDataFileService.listByIds(Arrays.asList(payWorkingGroupDistributionRecord.getDataIds().split(","))); if(CollectionUtils.isEmpty(listPayWorkingGroupDataFile)){ throw new JeroBootException("没有找到文件!"); } String path = env.getProperty("jero.path.upload") + File.separator; List listFile = new ArrayList<>(); - listPayWorkingGroupDataFile.forEach(p->{ - OSSFile byId = iossFileService.getById(p.getFileId()); - // 文件路径 - String url = byId.getUrl(); - listFile.add(path + url); - }); String msg = ""; List list = new ArrayList<>(); + List listPayWorkingGroupDistributionRecord = new ArrayList<>(); if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){ + listPayWorkingGroupDataFile.forEach(p->{ + OSSFile byId = iossFileService.getById(p.getFileId()); + if(Objects.isNull(byId)){ + throw new JeroBootException("没有找到文件!"); + } + // 文件路径 + String url = byId.getUrl(); + listFile.add(path + url); + // 查询工作组成员 + LambdaQueryWrapper queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>(); + queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getContactsTemporaryIdOne,Arrays.asList(s)); + List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem); + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){ + listPayWorkingGroupSubItem.forEach(p1->{ + PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord(); + payWorkingGroupDistributionRecordNew.setDataId(p.getId()); + payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId()); + payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType()); + payWorkingGroupDistributionRecordNew.setFileId(byId.getId()); + payWorkingGroupDistributionRecordNew.setSubId(p1.getId()); + payWorkingGroupDistributionRecordNew.setContactsId(p1.getContactsIdOne()); + payWorkingGroupDistributionRecordNew.setContactsName(p1.getContactsTemporaryNameOne()); + listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew); + }); + } + }); LambdaQueryWrapper queryPayContactsManagementTemporary = new LambdaQueryWrapper<>(); queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s)); List listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary); @@ -200,6 +265,32 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>(); + queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getContactsTemporaryIdOne,Arrays.asList(s)); + List listPayWorkingGroupSubItem = payWorkingGroupSubItemService.list(queryPayWorkingGroupSubItem); + listPayWorkingGroupDataFile.forEach(p->{ + OSSFile byId = iossFileService.getById(p.getFileId()); + if(Objects.isNull(byId)){ + throw new JeroBootException("没有找到文件!"); + } + // 文件路径 + String url = byId.getUrl(); + listFile.add(path + url); + // 查询工作组成员 + if(!CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){ + listPayWorkingGroupSubItem.forEach(p1->{ + PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecordNew = new PayWorkingGroupDistributionRecord(); + payWorkingGroupDistributionRecordNew.setDataId(p.getId()); + payWorkingGroupDistributionRecordNew.setProjectId(payWorkingGroupDistributionRecord.getProjectId()); + payWorkingGroupDistributionRecordNew.setProjectType(payWorkingGroupDistributionRecord.getProjectType()); + payWorkingGroupDistributionRecordNew.setFileId(byId.getId()); + payWorkingGroupDistributionRecordNew.setSubId(p1.getId()); + payWorkingGroupDistributionRecordNew.setContactsId(p1.getContactsIdOne()); + payWorkingGroupDistributionRecordNew.setContactsName(p1.getContactsTemporaryNameOne()); + listPayWorkingGroupDistributionRecord.add(payWorkingGroupDistributionRecordNew); + }); + } + }); LambdaQueryWrapper queryPayContactsManagement = new LambdaQueryWrapper<>(); queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(n)); List listContacts = payContactsManagementService.list(queryPayContactsManagement); @@ -215,6 +306,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl