工作组变更

This commit is contained in:
梁琦涛
2021-09-16 18:06:32 +08:00
parent 5521f3271c
commit ce6866555d
3 changed files with 126 additions and 18 deletions
@@ -4,6 +4,8 @@ import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -14,16 +16,21 @@ import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.DictModel;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.vo.ProjectDetailVO;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.modules.message.handle.impl.EmailSendMsgHandle;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.*;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.vo.SetChargeInput;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import com.jero.util.AmountUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
@@ -57,6 +64,10 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
private ProjectDetailService projectDetailService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Autowired
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
@Autowired
private IPayWorkingGroupService payWorkingGroupService;
/**
* 分页列表查询
@@ -116,11 +127,57 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
if (!StringUtils.isBlank(msg)) {
return Result.error(msg.toString());
}
// todo 缺少修改应收金额时查询状态,更新状态
payWorkingGroupSubItemService.editPayWorkingGroupSubItem(payWorkingGroupSubItem);
return Result.OK("编辑成功!");
}
/**
* 催款提醒
*
* @param payWorkingGroupSubItem 工作组成员
* @return
*/
@ApiOperation(value = "工作组成员-催款提醒", notes = "工作组成员-催款提醒")
@PostMapping(value = "/reminders")
public Result<?> reminders(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
if (StringUtils.isBlank(payWorkingGroupSubItem.getProjectIds())) {
return Result.error("id不能为空!");
}
String[] s = payWorkingGroupSubItem.getProjectIds().split(",");
for (String s1 : s) {
if (StringUtils.isBlank(s1)) {
return Result.error("id不能为空!");
}
}
List<PayWorkingGroupSubItem> listPayWorkingGroupSubItem = payWorkingGroupSubItemService.listByIds(Arrays.asList(s));
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
return Result.error("项目不存在!");
}
PayWorkingGroup payWorkingGroup = payWorkingGroupService.getById(listPayWorkingGroupSubItem.get(0).getWorkingGroupId());
if(Objects.isNull(payWorkingGroup)){
return Result.error("工作组不存在!");
}
List<String> listContacts = listPayWorkingGroupSubItem.stream().map(PayWorkingGroupSubItem::getContactsTemporaryIdOne).collect(Collectors.toList());
List<PayContactsManagementTemporary> listPayContactsManagementTemporary = payContactsManagementTemporaryService.listByIds(listContacts);
if(CollectionUtils.isEmpty(listPayContactsManagementTemporary)){
return Result.error("联系人不存在!");
}
listPayWorkingGroupSubItem.forEach(p->{
List<PayContactsManagementTemporary> listContactsEmail = listPayContactsManagementTemporary.stream().filter(item->Objects.equals(p.getContactsTemporaryIdOne(),item.getId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listContactsEmail)){
return;
}
if(StringUtils.isBlank(listContactsEmail.get(0).getEmail())){
return;
}
String msg = "中汽数据中心提醒您,贵公司与中汽数据签订的" + payWorkingGroup.getWorkingGroupProject()
+ "项目款项仍未结余,请及时汇款,如已经汇款,请忽略此条通知。谢谢合作";
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
emailHandle.SendMsg(PasswordUtil.decrypt(listContactsEmail.get(0).getEmail()), "", msg);
});
return Result.OK("添加成功!");
}
/**
* 通过id删除
*
@@ -4,6 +4,7 @@ import java.io.Serializable;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict;
@@ -184,4 +185,9 @@ public class PayWorkingGroupSubItem implements Serializable {
@DecimalMax(value = "9999999999.99",message = "开票金额格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal invoiceAmount;
/**项目ids 多个以逗号分隔*/
@TableField(exist = false)
@ApiModelProperty(value = "项目ids 多个以逗号分隔")
private java.lang.String projectIds;
}
@@ -1,11 +1,16 @@
package com.jero.project.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.PasswordUtil;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.modules.message.handle.impl.EmailSendMsgHandle;
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.PayWorkingGroupDataFile;
import com.jero.project.entity.PayWorkingGroupDistributionRecord;
@@ -19,9 +24,11 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -40,6 +47,9 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
@Autowired
private IPayWorkingGroupDataFileService payWorkingGroupDataFileService;
@Resource
private IOSSFileService iossFileService;
@Override
public void add(PayWorkingGroupDistributionRecord payWorkingGroupDistributionRecord) {
if(StringUtils.isBlank(payWorkingGroupDistributionRecord.getContactsIds())){
@@ -55,14 +65,21 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
throw new JeroBootException("资料id不能为空!");
}
PayWorkingGroupDataFile payWorkingGroupDataFile = payWorkingGroupDataFileService.getById(payWorkingGroupDistributionRecord.getDataId());
if(Objects.isNull(payWorkingGroupDataFile)){
throw new JeroBootException("没有找到文件!");
}
OSSFile byId = iossFileService.getById(payWorkingGroupDataFile.getFileId());
// 文件名称
String fileName = byId.getFileName();
List<String> listFile = new ArrayList<>();
listFile.add(fileName);
List<String> list = new ArrayList<>();
if(payWorkingGroupDistributionRecord.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE1){
LambdaQueryWrapper<PayContactsManagementTemporary> queryPayContactsManagementTemporary = new LambdaQueryWrapper<>();
queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(payWorkingGroupDistributionRecord.getContactsIds().split(",")));
queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s));
List<PayContactsManagementTemporary> listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary);
if(!CollectionUtils.isEmpty(listContacts)){
// todo 调用发送邮箱接口
List<String> list = listContacts.stream().map(PayContactsManagementTemporary::getEmail).collect(Collectors.toList());
list = listContacts.stream().map(PayContactsManagementTemporary::getEmail).collect(Collectors.toList());
}
}else if(payWorkingGroupDistributionRecord.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE2){
@@ -70,12 +87,23 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(payWorkingGroupDistributionRecord.getContactsIds().split(",")));
List<PayContactsManagement> listContacts = payContactsManagementService.list(queryPayContactsManagement);
if(!CollectionUtils.isEmpty(listContacts)){
// todo 调用发送邮箱接口
List<String> list = listContacts.stream().map(PayContactsManagement::getEmail).collect(Collectors.toList());
list = listContacts.stream().map(PayContactsManagement::getEmail).collect(Collectors.toList());
}
}else{
throw new JeroBootException("项目状态不正确!");
}
if(CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(listFile)){
throw new JeroBootException("分发失败!");
}
list.forEach(p->{
if(StringUtils.isBlank(p)){
return;
}
p = PasswordUtil.decrypt(p);
});
String str = JSON.toJSONString(list);
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
emailHandle.SendMsgAndFile(str, "", "", listFile);
}
@Override
@@ -99,30 +127,47 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl<Pa
}
}
List<PayWorkingGroupDataFile> listPayWorkingGroupDataFile = payWorkingGroupDataFileService.list();
List<PayWorkingGroupDataFile> listPayWorkingGroupDataFile = payWorkingGroupDataFileService.listByIds(Arrays.asList(payWorkingGroupDistributionRecord.getDataIds().split(",")));
if(CollectionUtils.isEmpty(listPayWorkingGroupDataFile)){
throw new JeroBootException("没有找到文件!");
}
List<String> listFile = new ArrayList<>();
listPayWorkingGroupDataFile.forEach(p->{
OSSFile byId = iossFileService.getById(p.getFileId());
// 文件名称
String fileName = byId.getFileName();
listFile.add(fileName);
});
List<String> list = new ArrayList<>();
if(payWorkingGroupDistributionRecord.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE1){
LambdaQueryWrapper<PayContactsManagementTemporary> queryPayContactsManagementTemporary = new LambdaQueryWrapper<>();
queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(payWorkingGroupDistributionRecord.getContactsIds().split(",")));
queryPayContactsManagementTemporary.in(PayContactsManagementTemporary::getId, Arrays.asList(s));
List<PayContactsManagementTemporary> listContacts = payContactsManagementTemporaryService.list(queryPayContactsManagementTemporary);
if(!CollectionUtils.isEmpty(listContacts)){
// todo 调用发送邮箱接口
List<String> list = listContacts.stream().map(PayContactsManagementTemporary::getEmail).collect(Collectors.toList());
list = listContacts.stream().map(PayContactsManagementTemporary::getEmail).collect(Collectors.toList());
}
}else if(payWorkingGroupDistributionRecord.getProjectType() != PayProjectCommon.PROJECT_TYPE_FILE2){
LambdaQueryWrapper<PayContactsManagement> queryPayContactsManagement = new LambdaQueryWrapper<>();
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(payWorkingGroupDistributionRecord.getContactsIds().split(",")));
queryPayContactsManagement.in(PayContactsManagement::getId, Arrays.asList(n));
List<PayContactsManagement> listContacts = payContactsManagementService.list(queryPayContactsManagement);
if(!CollectionUtils.isEmpty(listContacts)){
// todo 调用发送邮箱接口
List<String> list = listContacts.stream().map(PayContactsManagement::getEmail).collect(Collectors.toList());
list = listContacts.stream().map(PayContactsManagement::getEmail).collect(Collectors.toList());
}
}else{
throw new JeroBootException("项目状态不正确!");
}
// EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
// emailHandle.SendMsgAndFile(mails, stringBuilder.toString(), stringBuilder.toString(), fileList);
if(CollectionUtils.isEmpty(list) || CollectionUtils.isEmpty(listFile)){
throw new JeroBootException("分发失败!");
}
list.forEach(p->{
if(StringUtils.isBlank(p)){
return;
}
p = PasswordUtil.decrypt(p);
});
String str = JSON.toJSONString(list);
EmailSendMsgHandle emailHandle = new EmailSendMsgHandle();
emailHandle.SendMsgAndFile(str, "", "", listFile);
}
}