首页修改

This commit is contained in:
梁琦涛
2021-09-28 18:47:22 +08:00
parent 7857c49fd4
commit 80b240f02a
9 changed files with 183 additions and 35 deletions
@@ -31,4 +31,13 @@ public interface ProjectDetailMapper {
* @Exception
*/
List<PayCommonProject> queryProjectReceivableNotEqualsPaid();
/**
* @Description 查询月份新增项目数
* @Author lqt
* @Date 2021/9/25
* @Param time 年-月
* @Return
* @Exception
*/
Integer getMonthProjectCount(String time);
}
@@ -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)
</select>
<select id="getMonthProjectCount" resultType="java.lang.Integer">
select sum(num) from(
<!-- 普通项目-->select count(*) as num from pay_common_project c where DATE_FORMAT(create_time,'%Y-%m') = #{time}
<!--工作组项目-->
UNION ALL
select count(*) as num from pay_working_group_subitem gsub where DATE_FORMAT(create_time,'%Y-%m') = #{time}
<!-- 会议项目-->
UNION ALL
select count(*) as num from pay_meeting_situation sit where DATE_FORMAT(create_time,'%Y-%m') = #{time}
<!-- 会员项目-->
UNION ALL
select count(*) as num from pay_member_project_subitem msub where DATE_FORMAT(create_time,'%Y-%m') = #{time}
<!-- 标协会员项目-->
UNION ALL
select count(*) as num from tb_member_project_subitem tmsub where DATE_FORMAT(create_time,'%Y-%m') = #{time}
) a
</select>
</mapper>
@@ -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);
}
@@ -311,4 +311,9 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
}
return projectStatusVO;
}
@Override
public Integer getMonthProjectCount(String time) {
return projectDetailMapper.getMonthProjectCount(time);
}
}
@@ -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);
@@ -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;
/**
* 本月到账(万元)
*/
@@ -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 多个以逗号分隔*/
@@ -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<PayWorkingGroupDistributionRecordMapper, PayWorkingGroupDistributionRecord> 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<Pa
throw new JeroBootException("没有找到文件!");
}
OSSFile byId = iossFileService.getById(payWorkingGroupDataFile.getFileId());
if(Objects.isNull(byId)){
throw new JeroBootException("没有找到文件!");
}
String path = env.getProperty("jero.path.upload") + File.separator;
List<String> listFile = new ArrayList<>();
// 文件路径
@@ -97,10 +103,29 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
listFile.add(path + url);
List<PayContactsManagementTemporary> list = new ArrayList<>();
String msg = "";
List<PayWorkingGroupDistributionRecord> listPayWorkingGroupDistributionRecord = new ArrayList<>();
if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE1){
LambdaQueryWrapper<PayContactsManagementTemporary> queryPayContactsManagementTemporary = new LambdaQueryWrapper<>();
queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s));
List<PayContactsManagementTemporary> listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary);
// 查询工作组成员
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getContactsTemporaryIdOne,Arrays.asList(s));
queryPayWorkingGroupSubItem.eq(PayWorkingGroupSubItem::getWorkingGroupId,payWorkingGroupDistributionRecord.getProjectId());
List<PayWorkingGroupSubItem> 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<Pa
String str = JSON.toJSONString(listContacts);
list = JSONArray.parseArray(str,PayContactsManagementTemporary.class);
}
// 查询分标委成员
LambdaQueryWrapper<PayCaseCommitteeSubitem> queryPayCaseCommitteeSubitem = new LambdaQueryWrapper<>();
queryPayCaseCommitteeSubitem.eq(PayCaseCommitteeSubitem::getCommitteeId,payWorkingGroupDistributionRecord.getProjectId());
queryPayCaseCommitteeSubitem.in(PayCaseCommitteeSubitem::getContactsId,Arrays.asList(s));
List<PayCaseCommitteeSubitem> 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<Pa
}else{
throw new JeroBootException("项目状态不正确!");
}
payWorkingGroupDistributionRecordService.saveBatch(listPayWorkingGroupDistributionRecord);
if(CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(listFile)){
throw new JeroBootException("分发失败!");
}
@@ -172,22 +217,42 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
throw new JeroBootException("资料id不能为空!");
}
}
List<PayWorkingGroupDataFile> 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<String> listFile = new ArrayList<>();
listPayWorkingGroupDataFile.forEach(p->{
OSSFile byId = iossFileService.getById(p.getFileId());
// 文件路径
String url = byId.getUrl();
listFile.add(path + url);
});
String msg = "";
List<PayContactsManagementTemporary> list = new ArrayList<>();
List<PayWorkingGroupDistributionRecord> 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<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getContactsTemporaryIdOne,Arrays.asList(s));
List<PayWorkingGroupSubItem> 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<PayContactsManagementTemporary> queryPayContactsManagementTemporary = new LambdaQueryWrapper<>();
queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s));
List<PayContactsManagementTemporary> listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary);
@@ -200,6 +265,32 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
}
msg = payWorkingGroup.getWorkingGroupProject();
}else if(payWorkingGroupDistributionRecord.getProjectType() == PayProjectCommon.PROJECT_TYPE_FILE2){
LambdaQueryWrapper<PayWorkingGroupSubItem> queryPayWorkingGroupSubItem = new LambdaQueryWrapper<>();
queryPayWorkingGroupSubItem.in(PayWorkingGroupSubItem::getContactsTemporaryIdOne,Arrays.asList(s));
List<PayWorkingGroupSubItem> 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<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(n));
List<PayContactsManagement> listContacts = payContactsManagementService.list(queryPayContactsManagement);
@@ -215,6 +306,7 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
}else{
throw new JeroBootException("项目状态不正确!");
}
payWorkingGroupDistributionRecordService.saveBatch(listPayWorkingGroupDistributionRecord);
if(CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(listFile)){
throw new JeroBootException("分发失败!");
}
@@ -26,6 +26,14 @@ public class EmailSendMsgHandle implements ISendMsgHandle {
private String emailPassword;
private String host;
/**
* 后加的防止题目过长并且进行全局定义
*/
static {
System.setProperty("mail.mime.splitlongparameters", "false");
System.setProperty("mail.mime.charset", "UTF-8");
}
@Autowired
private Environment env;