Merge remote-tracking branch 'origin/branch20211008' into branch20211008

This commit is contained in:
zhangqinlin
2021-10-26 08:59:10 +08:00
16 changed files with 122 additions and 46 deletions
@@ -29,6 +29,7 @@ import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroupDistributionRecord;
import com.jero.project.service.IPayWorkingGroupDistributionRecordService;
@@ -86,6 +87,14 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
if(Objects.isNull(payCommonProject)){
throw new JeroBootException("项目不存在!");
}
if(Objects.equals(PayProjectCommon.PROJECT_TYPE4,String.valueOf(payCommonProject.getProjectType())) && !StringUtils.isEmpty(payCommonProject.getPrincipalId())){
LambdaQueryWrapper<SysUser> querySysUser = new LambdaQueryWrapper<>();
querySysUser.eq(SysUser::getId,payCommonProject.getPrincipalId());
List<SysUser> listSysUser = sysUserService.list(querySysUser);
if(!CollectionUtils.isEmpty(listSysUser)){
payCommonProject.setPrincipalName(listSysUser.get(0).getRealname());
}
}
if(Objects.isNull(payCommonProject.getPaidAmount())){
payCommonProject.setPaidAmount(new BigDecimal("0.00"));
}
@@ -77,7 +77,8 @@ public class SendMessageServiceImpl implements SendMessageService {
if(!Objects.isNull(map)) {
// 替换企业端系统url与小程序名称
// todo 替换系统地址,小程序名称
if(Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG2.getCode())
if(Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG1.getCode())
||Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG2.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG3.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG4.getCode())
|| Objects.equals(sendMessageDTO.getTemplateCode(),CompanyMessageEnums.MSG6.getCode())
@@ -80,11 +80,11 @@ public class PayIncomeContractCommon {
*/
public final static List<String> LIST_SPENDING_CONTRACT = Arrays.asList("合同编号","合同名称","签订单位","签订联系人","是否开口","负责人",
"部门名称","签订合同总金额","税率","未税金额","合同签订日期","合同终止日期","合同约定主要时点",
"金额","金额","金额","账款状态","合同约定付款次数","是否打包","打包年份");
"金额","金额","金额","账款状态","合同约定付款次数","是否打包","打包年份");
/**
* 支出合同分期信息excel 表头
*/
public final static List<String> LIST_SPENDING_CONTRACT_INSTALLMENT = Arrays.asList("阶段","阶段应","阶段应时间","阶段实","阶段实时间");
public final static List<String> LIST_SPENDING_CONTRACT_INSTALLMENT = Arrays.asList("阶段","阶段应","阶段应时间","阶段实","阶段实时间");
/**
* 来源(1:收入合同,2:打包管理)
@@ -138,7 +138,7 @@ public class PayIncomeContract implements Serializable {
/**合同约定主要时点*/
@Excel(name = "合同约定主要时点", width = 15)
@ApiModelProperty(value = "合同约定主要时点")
@Size(max = 50, message = "合同约定主要时点不能大于50个字符")
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
private java.lang.String contractTimePoints;
/**应收金额*/
@Excel(name = "应收金额", width = 15)
@@ -132,27 +132,27 @@ public class PaySpendingContract implements Serializable {
/**合同约定主要时点*/
@Excel(name = "合同约定主要时点", width = 15)
@ApiModelProperty(value = "合同约定主要时点")
@Size(max = 50, message = "合同约定主要时点不能大于50个字符")
@Size(max = 200, message = "合同约定主要时点不能大于200个字符")
private String contractTimePoints;
/**应金额*/
@Excel(name = "金额", width = 15)
@ApiModelProperty(value = "金额")
@NotNull(message = "金额不能为空")
/**应金额*/
@Excel(name = "金额", width = 15)
@ApiModelProperty(value = "金额")
@NotNull(message = "金额不能为空")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@DecimalMax(value = "9999999999.99",message = "金额格式错误")
@DecimalMax(value = "9999999999.99",message = "金额格式错误")
private BigDecimal accountsReceivableAmount;
/**已金额*/
@Excel(name = "金额", width = 15)
@ApiModelProperty(value = "金额")
@NotNull(message = "金额不能为空")
/**已金额*/
@Excel(name = "金额", width = 15)
@ApiModelProperty(value = "金额")
@NotNull(message = "金额不能为空")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@DecimalMax(value = "9999999999.99",message = "金额格式错误")
@DecimalMax(value = "9999999999.99",message = "金额格式错误")
private BigDecimal amountReceived;
/**未金额*/
@Excel(name = "金额", width = 15)
@ApiModelProperty(value = "金额")
/**未金额*/
@Excel(name = "金额", width = 15)
@ApiModelProperty(value = "金额")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@DecimalMax(value = "9999999999.99",message = "金额格式错误")
@DecimalMax(value = "9999999999.99",message = "金额格式错误")
private BigDecimal outstandingAmount;
/**账款状态(1:未支付,2:部分支付,3:已付全款)*/
@Excel(name = "账款状态(1:未支付,2:部分支付,3:已付全款)", width = 15)
@@ -47,30 +47,30 @@ public class PaySpendingContractInstallment implements Serializable {
@NotEmpty(message = "阶段不能为空")
@Size(max = 50, message = "阶段长度不能大于50个字符")
private String phaseName;
/**应金额*/
@Excel(name = "阶段应金额", width = 15)
@ApiModelProperty(value = "金额")
@NotNull(message = "阶段应不能为空")
@DecimalMax(value = "9999999999.99",message = "阶段应格式错误")
/**应金额*/
@Excel(name = "阶段应金额", width = 15)
@ApiModelProperty(value = "金额")
@NotNull(message = "阶段应不能为空")
@DecimalMax(value = "9999999999.99",message = "阶段应格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal accountsReceivableAmount;
/**应时间*/
@Excel(name = "阶段应时间", width = 15, format = "yyyy-MM-dd")
/**应时间*/
@Excel(name = "阶段应时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "时间")
@ApiModelProperty(value = "时间")
private Date accountsReceivableTime;
/**实金额*/
@Excel(name = "阶段实金额", width = 15)
@ApiModelProperty(value = "阶段实金额")
@DecimalMax(value = "9999999999.99",message = "阶段实格式错误")
/**实金额*/
@Excel(name = "阶段实金额", width = 15)
@ApiModelProperty(value = "阶段实金额")
@DecimalMax(value = "9999999999.99",message = "阶段实格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal paidAmount;
/**实时间*/
@Excel(name = "时间", width = 15, format = "yyyy-MM-dd")
/**实时间*/
@Excel(name = "时间", width = 15, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "时间")
@ApiModelProperty(value = "时间")
private Date paidTime;
/**创建人*/
@ApiModelProperty(value = "创建人")
@@ -93,6 +93,12 @@
<if test="payIncomeContract.principalId != null and payIncomeContract.principalId != ''">
AND aa.principalId = #{payIncomeContract.principalId}
</if>
<if test="payIncomeContract.pack != null and payIncomeContract.pack != ''">
AND aa.pack = #{payIncomeContract.pack}
</if>
<if test="payIncomeContract.packYear != null and payIncomeContract.packYear != ''">
AND aa.packYear = #{payIncomeContract.packYear}
</if>
</where>
ORDER BY aa.chargeStatus desc,aa.statusOrder desc, aa.createTime desc
</select>
@@ -63,6 +63,7 @@ import org.apache.shiro.SecurityUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@@ -324,6 +325,9 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
throw new JeroBootException("收入合同不可操作!");
}
}
if(Objects.isNull(payIncomeContract.getAmountReceived())){
payIncomeContract.setAmountReceived(new BigDecimal("0.00"));
}
listPayIncomeContractAssociated.forEach(p->{
String projectName = "";
String principalId = "";
@@ -341,6 +345,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(Objects.isNull(payCommonProject)){
throw new JeroBootException("项目不存在!");
}
payIncomeContract.getAmountReceived().add(Objects.isNull(payCommonProject.getPaidAmount()) ? new BigDecimal("0.00") : payCommonProject.getPaidAmount());
// 验证企业是否正确
if(!Objects.equals(payCommonProject.getChargeCompanyId(),payIncomeContract.getSignedCompanyId())){
throw new JeroBootException("企业不匹配!");
@@ -381,6 +386,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(CollectionUtils.isEmpty(listPayWorkingGroupSubItem)){
throw new JeroBootException("工作组成员单位不存在!");
}
payIncomeContract.getAmountReceived().add(Objects.isNull(listPayWorkingGroupSubItem.get(0).getPaidAmount()) ? new BigDecimal("0.00") : listPayWorkingGroupSubItem.get(0).getPaidAmount());
// 验证企业是否正确
if(!Objects.equals(listPayWorkingGroupSubItem.get(0).getChargeCompanyId(),payIncomeContract.getSignedCompanyId())){
throw new JeroBootException("企业不匹配!");
@@ -415,6 +421,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(Objects.isNull(payMeetingSituation)){
throw new JeroBootException("会议项目不存在!");
}
payIncomeContract.getAmountReceived().add(Objects.isNull(payMeetingSituation.getPaidAmount()) ? new BigDecimal("0.00") : payMeetingSituation.getPaidAmount());
PayMeeting payMeeting = payMeetingService.getById(payMeetingSituation.getMeetingId());
if (Objects.isNull(payMeeting)) {
throw new JeroBootException("会议项目不存在!");
@@ -452,6 +459,7 @@ public class PayIncomeContractServiceImpl extends ServiceImpl<PayIncomeContractM
if(CollectionUtils.isEmpty(listPayMemberProjectSubitem)){
throw new JeroBootException("会员项目成员单位不存在!");
}
payIncomeContract.getAmountReceived().add(Objects.isNull(listPayMemberProjectSubitem.get(0).getPaidAmount()) ? new BigDecimal("0.00") : listPayMemberProjectSubitem.get(0).getPaidAmount());
// 验证企业是否正确
if(!Objects.equals(listPayMemberProjectSubitem.get(0).getCompanyId(),payIncomeContract.getSignedCompanyId())){
throw new JeroBootException("企业不匹配!");
@@ -19,4 +19,6 @@ public interface PayMeetingMapper extends BaseMapper<PayMeeting> {
IPage<PayMeeting> pageListContract(Page<PayMeeting> page,
@Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper,
@Param("now") String now);
IPage<PayMeeting> internelPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
}
@@ -85,4 +85,11 @@
left join pay_meeting_remind_record pmrr on pm.id = pmrr.meeting_id
${ew.customSqlSegment}
</select>
<select id="internelPage" resultMap="PayMeetingResultMap">
select distinct pm.*
from pay_meeting pm
left join pay_meeting_situation pms on pm.id = pms.meeting_id
${ew.customSqlSegment}
</select>
</mapper>
@@ -512,9 +512,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
@Override
public IPage<PayMeeting> queryPageList(PayMeeting payMeeting, Integer pageNo, Integer pageSize, HttpServletRequest req) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (!rolePermissionService.getRolePermission("generalProject:search")) {
payMeeting.setDirectorId(sysUser.getId());
}
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, req.getParameterMap());
String meetingStartTime = req.getParameter("meetingStartTime");
String meetingEndTime = req.getParameter("meetingEndTime");
@@ -531,9 +529,25 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
a -> a.gt("start_time", meetingEndTime)
);
}
Page<PayMeeting> page = new Page<>(pageNo, pageSize);
IPage<PayMeeting> pageList = page(page, queryWrapper);
IPage<PayMeeting> pageList;
if (!rolePermissionService.getRolePermission("generalProject:search")) {
if (!payMeeting.getMeetingType().equals(MeetingCommon.INTERNATIONAL_MEETING_INT)) {
payMeeting.setDirectorId(sysUser.getId());
pageList = page(page, queryWrapper);
}else {
queryWrapper.and(
a -> a.eq("director_id", sysUser.getId())
.or()
.eq("dock_id", sysUser.getId())
);
pageList = baseMapper.internelPage(page,queryWrapper);
}
}else {
pageList = page(page, queryWrapper);
}
for (PayMeeting meeting : pageList.getRecords()) {
//查询会议负责人
LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId());
@@ -82,7 +82,7 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
// QueryWrapper<PayPackCompany> queryWrapper = QueryGenerator.initQueryWrapper(payPackCompany, req.getParameterMap());
Page<PayPackCompany> page = new Page<PayPackCompany>(pageNo, pageSize);
if(!StringUtils.isEmpty(payPackCompany.getCompanyTemporaryName())){
payPackCompany.setPhone(PasswordUtil.encrypt(payPackCompany.getCompanyTemporaryName()));
payPackCompany.setCompanyTemporaryName(oConvertUtils.replaceAllPercent(payPackCompany.getCompanyTemporaryName()));
}
IPage<PayPackCompany> pageList = payPackCompanyService.queryPageList(page, payPackCompany);
if(!CollectionUtils.isEmpty(pageList.getRecords())){
@@ -97,6 +97,12 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
p.setReceiptExpense(listCount.get(0).getPaidAmount());
}
}
if(!StringUtils.isEmpty(p.getPhone())){
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
if(!StringUtils.isEmpty(p.getEmail())){
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if(Objects.isNull(p.getReceiptExpense())){
p.setReceiptExpense(new BigDecimal("0.00"));
}
@@ -286,6 +292,12 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
p.setReceiptExpense(listCount.get(0).getPaidAmount());
}
}
if(!StringUtils.isEmpty(p.getPhone())){
p.setPhone(PasswordUtil.decrypt(p.getPhone()));
}
if(!StringUtils.isEmpty(p.getEmail())){
p.setEmail(PasswordUtil.decrypt(p.getEmail()));
}
if (Objects.isNull(p.getReceiptExpense())) {
p.setReceiptExpense(new BigDecimal("0.00"));
}
@@ -61,10 +61,6 @@ public class PayPackCompany implements Serializable {
@Excel(name = "打包年份", width = 15)
@ApiModelProperty(value = "打包年份")
private java.lang.String packYear;
/**企业联系人*/
@Excel(name = "企业联系人", width = 15)
@ApiModelProperty(value = "企业联系人")
private java.lang.String companyContactTemporaryName;
/**打包联系人id*/
// @Excel(name = "打包联系人id", width = 15)
@ApiModelProperty(value = "打包联系人id")
@@ -125,15 +121,21 @@ public class PayPackCompany implements Serializable {
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**企业联系人*/
@Excel(name = "企业联系人", width = 15)
@ApiModelProperty(value = "企业联系人")
private java.lang.String companyContactTemporaryName;
/**
* 手机号
*/
@Excel(name = "联系人电话", width = 15)
@TableField(exist = false)
@ApiModelProperty(value = "手机号")
private String phone;
/**
* 邮箱
*/
@Excel(name = "邮箱", width = 15)
@TableField(exist = false)
@ApiModelProperty(value = "邮箱")
private String email;
@@ -15,8 +15,9 @@
group by ppcp.pack_id
</select>
<select id="queryPageList" resultType="com.jero.pack.entity.PayPackCompany">
select ppc.* from pay_pack_company ppc
select ppc.*,pcmt.phone,pcmt.email from pay_pack_company ppc
LEFT JOIN pay_company_management pcm on ppc.company_id = pcm.id
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = ppc.company_contact_temporary_id
<where>
<if test="payPackCompany.companyTemporaryName != null and payPackCompany.companyTemporaryName != ''">
AND ppc.company_temporary_name like concat('%',concat(#{payPackCompany.companyTemporaryName},'%'))
@@ -28,8 +29,9 @@
ORDER BY pcm.create_time desc,ppc.pack_year desc
</select>
<select id="queryPageListExport" resultType="com.jero.pack.entity.PayPackCompany">
select ppc.* from pay_pack_company ppc
select ppc.*,pcmt.phone,pcmt.email from pay_pack_company ppc
LEFT JOIN pay_company_management pcm on ppc.company_id = pcm.id
LEFT JOIN pay_contacts_management_temporary pcmt ON pcmt.id = ppc.company_contact_temporary_id
<where>
<if test="payPackCompany.companyTemporaryName != null and payPackCompany.companyTemporaryName != ''">
AND ppc.company_temporary_name like concat('%',concat(#{payPackCompany.companyTemporaryName},'%'))
@@ -422,6 +422,14 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
if(Objects.isNull(payCommonProject)){
return Result.error("项目不存在!");
}
if(Objects.equals(PayProjectCommon.PROJECT_TYPE4,String.valueOf(payCommonProject.getProjectType())) && !StringUtils.isEmpty(payCommonProject.getPrincipalId())){
LambdaQueryWrapper<SysUser> querySysUser = new LambdaQueryWrapper<>();
querySysUser.eq(SysUser::getId,payCommonProject.getPrincipalId());
List<SysUser> listSysUser = sysUserService.list(querySysUser);
if(!CollectionUtils.isEmpty(listSysUser)){
payCommonProject.setPrincipalName(listSysUser.get(0).getRealname());
}
}
// 工作组项目资料
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()), ProjectCommon.PROJECT_TYPE2)){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -13,6 +13,7 @@ import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.dto.SendMessageDTO;
import com.jero.common.enums.CompanyMessageEnums;
import com.jero.common.exception.JeroBootException;
import com.jero.common.service.ProjectDetailService;
import com.jero.common.service.SendMessageService;
import com.jero.common.system.base.controller.JeroController;
@@ -496,6 +497,10 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
@PostMapping(value = "/importExcel")
@ApiOperation(value = "工作组成员-通过excel导入数据", notes = "工作组成员-通过excel导入数据")
public Result<?> importExcel(HttpServletRequest request) {
List<Object> excelData = super.getExcelData(request, PayWorkingGroupSubItem.class);
if (excelData.isEmpty()) {
throw new JeroBootException("导入数据为空,请填写数据之后重新导入!");
}
payWorkingGroupSubItemService.importExcel(request);
return Result.OK("文件导入成功!");
}