Merge remote-tracking branch 'origin/master'

# Conflicts:
#	jero-boot-incoming-payment/src/main/java/com/jero/member/entity/TbMemberProjectSubitem.java
This commit is contained in:
baozhipeng
2021-09-14 23:59:56 +08:00
28 changed files with 703 additions and 292 deletions
@@ -4,7 +4,7 @@
<select id="queryProject" resultType="com.jero.project.entity.PayCommonProject">
<!-- 普通项目-->
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email,c.remarks,c.contract_num,c.charge_company_temporary_id
select c.id,c.charge_project, c.charge_use, c.principal_id,c.principal_name,c.contacts_temporary_id,c.contacts_temporary_name,c.charge_company_temporary_name,c.receivable_amount,c.paid_amount,c.need_invoice,c.pack,c.in_account,c.make_invoice,c.mail,c.create_time,1 as projectType,'' as phone,'' as email,c.remarks,c.contract_num,c.charge_company_temporary_id,c.charge_way
from pay_common_project c
<where>
<if test="projectId != null and projectId != ''">
@@ -13,7 +13,7 @@
</where>
<!--工作组项目-->
UNION ALL
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id
select gsub.id,g.working_group_project, gsub.charge_use, g.principal_id_a,g.principal_name_a,gsub.contacts_temporary_id_one,gsub.contacts_temporary_name_one,gsub.charge_company_temporary_name,gsub.receivable_amount,gsub.paid_amount,gsub.need_invoice,gsub.pack,gsub.in_account,gsub.make_invoice,gsub.mail,gsub.create_time,2,'','',gsub.remarks,gsub.contract_num,gsub.charge_company_temporary_id,gsub.charge_way
from pay_working_group g
inner join pay_working_group_subitem gsub on g.id = gsub.charge_company_id
<where>
@@ -23,7 +23,7 @@
</where>
<!-- 会议项目-->
UNION ALL
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'','',sit.remark,'',sit.company_temporary_id
select sit.id,meeting.meeting_name,sit.charge_use, meeting.director_id, meeting.director_name,sit.company_contact_temporary_id,sit.company_contact_name,sit.company_name,sit.amount_receivable,sit.paid_amount,sit.need_invoice,sit.pack,sit.in_account,sit.make_invoice,sit.mail,sit.create_time,3,'','',sit.remark,'',sit.company_temporary_id,sit.pay_mode
from pay_meeting meeting
inner join pay_meeting_situation sit on meeting.id = sit.meeting_id
<where>
@@ -33,7 +33,7 @@
</where>
<!-- 会员项目-->
UNION ALL
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','',msub.remark,msub.contract_no,msub.company_temporary_id
select msub.id,pmp.project_name,msub.charge_use,pmp.director_id,pmp.director_name,msub.company_contact_temporary_id,msub.company_contact_name,msub.company_name,msub.amount_receivable,msub.paid_amount,msub.need_invoice,msub.pack,msub.in_account,msub.make_invoice,msub.mail,msub.create_time,4,'','',msub.remark,msub.contract_no,msub.company_temporary_id,msub.payment_method
from pay_member_project pmp
inner join pay_member_project_subitem msub on pmp.id = msub.project_id
<where>
@@ -43,7 +43,7 @@
</where>
<!-- 标协会员项目-->
UNION ALL
select tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.mobile,tmsub.email,'','',tmsub.company_id
select tmsub.id,tmember.project_name,tmsub.charge_use,'','','',tmsub.liaison_man,tmsub.company_name,tmsub.amount_receivable,tmsub.paid_amount,tmsub.invoice_requirements,tmsub.pack,tmsub.in_account,tmsub.make_invoice,tmsub.mail,tmsub.create_time,5,tmsub.mobile,tmsub.email,'','',tmsub.company_id,tmsub.payment_method
from tb_member_project tmember
inner join tb_member_project_subitem tmsub on tmember.id=tmsub.project_id
<where>
@@ -12,6 +12,10 @@ import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.mail.entity.PayMailBill;
import com.jero.mail.service.IPayMailBillService;
import com.jero.payment.entity.PayPaymentRecord;
@@ -49,6 +53,10 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
private ProjectDetailMapper projectDetailMapper;
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayIncomeContractService payIncomeContractService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Override
public ProjectDetailVO getProjectDetail(String projectId) {
@@ -64,11 +72,42 @@ public class ProjectDetailServiceImpl implements ProjectDetailService {
projectDetailVO.setPrincipalName(payCommonProject.getPrincipalName());
projectDetailVO.setReceivableAmount(payCommonProject.getReceivableAmount());
projectDetailVO.setRemarks(payCommonProject.getRemarks());
projectDetailVO.setProjectType(payCommonProject.getProjectType());
projectDetailVO.setChargeWay(payCommonProject.getChargeWay());
if(!Objects.isNull(payCommonProject.getChargeWay())){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(payCommonProject.getChargeWay())));
// 普通项目,工作组,会员
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE1)
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE2)
|| Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE4)){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("payment_type",String.valueOf(payCommonProject.getChargeWay())));
}
// 会议
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE3)){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("meeting_pay_type",String.valueOf(payCommonProject.getChargeWay())));
}
// 标协会员
if(Objects.equals(String.valueOf(payCommonProject.getProjectType()),ProjectCommon.PROJECT_TYPE5)){
projectDetailVO.setChargeWay_dictText(sysBaseAPI.translateDict("standards_payment_method",String.valueOf(payCommonProject.getChargeWay())));
}
}
projectDetailVO.setContractNum(payCommonProject.getContractNum());
// 合同编号查找合同id
if(!StringUtils.isBlank(payCommonProject.getContractNum())){
LambdaQueryWrapper<PayIncomeContract> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContract::getContractNum,payCommonProject.getContractNum());
List<PayIncomeContract> list = payIncomeContractService.list(query);
if(!CollectionUtils.isEmpty(list)){
// 查看是否有关联
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getContractId,list.get(0).getId());
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectId,projectId);
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
projectDetailVO.setContractId(list.get(0).getId());
}
}
}
projectDetailVO.setNeedInvoice(payCommonProject.getNeedInvoice());
if(!Objects.isNull(payCommonProject.getNeedInvoice())){
projectDetailVO.setNeedInvoice_dictText(sysBaseAPI.translateDict("invoice_type",String.valueOf(payCommonProject.getNeedInvoice())));
@@ -16,6 +16,11 @@ public class ProjectDetailVO implements Serializable {
*/
@ApiModelProperty(value = "项目负责人")
private String principalName;
/**
* 项目类型
*/
@ApiModelProperty(value = "项目类型")
private Integer projectType;
/**
* 应收金额
*/
@@ -42,6 +47,11 @@ public class ProjectDetailVO implements Serializable {
*/
@ApiModelProperty(value = "合同编号")
private String contractNum;
/**
* 合同id
*/
@ApiModelProperty(value = "合同id")
private String contractId;
/**
* 是否需要发票
*/
@@ -351,7 +351,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
int count = list.indexOf(p);
// 校验excel表中是否存在重复企业名称
if(listCompany.contains(p.getCompanyName())){
msg.append("第 ").append(count + 3).append(" 行:企业名称在excel中重复,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:企业名称在excel中重复,请修改。<br/>");
}
listCompany.add(p.getCompanyName());
p.setDataSource(PayCompanyManagementCommon.DATA_SOURCE1);
@@ -375,7 +375,7 @@ public class PayCompanyManagementController extends JeroController<PayCompanyMan
listRemove.add(p);
return;
}
msg.append("第").append(count + 3).append("行:企业名称已经存在,请修改。</br>");
msg.append("第").append(count + 3).append("行:企业名称已经存在,请修改。<br/>");
}
}
if (!StringUtils.isBlank(p.getCompanyPhone())){
@@ -465,13 +465,13 @@ public class PayContactsManagementController extends JeroController<PayContactsM
// 校验excel表中是否存在重复手机号
List<PayContactsManagement> listContactsPhone = listContacts.stream().filter(p1->Objects.equals(p1.getPhone(),p.getPhone())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsPhone)){
msg.append("第 ").append(count + 3).append(" 行:手机号在excel中重复,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:手机号在excel中重复,请修改。<br/>");
}
// 校验excel表中是否存在重复联系人
List<PayContactsManagement> listContactsName = listContacts.stream().filter(p1->Objects.equals(p1.getName(),p.getName())
&& Objects.equals(p1.getCompanyId(),p.getCompanyId())).collect(Collectors.toList());
if(CollectionUtils.isEmpty(listContactsName)){
msg.append("第 ").append(count + 3).append(" 行:联系人姓名在excel中重复,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:联系人姓名在excel中重复,请修改。<br/>");
}
listContacts.add(p);
p.setDataSource(PayContactsManagementCommon.DATA_SOURCE1);
@@ -487,7 +487,7 @@ public class PayContactsManagementController extends JeroController<PayContactsM
if(!CollectionUtils.isEmpty(listCompany)){
p.setCompanyId(listCompany.get(0).getId());
}else{
msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。<br/>");
}
}
// 校验 手机号,姓名
@@ -505,12 +505,12 @@ public class PayContactsManagementController extends JeroController<PayContactsM
listRemove.add(p);
return;
}
msg.append("第").append(count + 3).append("行:手机号已经存在,请修改。</br>");
msg.append("第").append(count + 3).append("行:手机号已经存在,请修改。<br/>");
}
List<PayContactsManagement> listContactsEquals = listContactsAll.stream().filter(p1->Objects.equals(p1.getCompanyId(),p.getCompanyId())
&& Objects.equals(p1.getName(),p.getName())).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listContactsEquals)){
msg.append("第").append(count + 3).append("行:联系人姓名已经存在,请修改。</br>");
msg.append("第").append(count + 3).append("行:联系人姓名已经存在,请修改。<br/>");
}
}
if (!StringUtils.isBlank(p.getPhone())){
@@ -63,7 +63,6 @@ public class PaySpendingContractInstallment implements Serializable {
/**实收金额*/
@Excel(name = "实收金额", width = 15)
@ApiModelProperty(value = "实收金额")
@NotNull(message = "实收金额不能为空")
@DecimalMax(value = "9999999999.99",message = "应收金额格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal paidAmount;
@@ -93,6 +93,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public PaySpendingContract addPaySpendingContractInput(PaySpendingContractInput input) {
if(Objects.isNull(input)){
throw new JeroBootException("支出合同信息不能为空!");
@@ -149,6 +150,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public void editPayIncomeContractInput(PaySpendingContractInput input) {
if(Objects.isNull(input)){
throw new JeroBootException("支出合同信息不能为空!");
@@ -221,6 +223,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public void deletePaySpendingContractInputById(String id) {
PaySpendingContract paySpendingContractStatus = paySpendingContractService.getById(id);
if(Objects.isNull(paySpendingContractStatus)){
@@ -233,6 +236,7 @@ public class PaySpendingContractServiceImpl extends ServiceImpl<PaySpendingContr
}
@Override
@Transactional
public void deleteSpendingContractInputByIds(List<String> ids) {
LambdaQueryWrapper<PaySpendingContract> query = new LambdaQueryWrapper<>();
query.in(PaySpendingContract::getId,ids);
@@ -28,16 +28,16 @@ public class payFileDownloadRecordPage {
private java.lang.String meetingName;
/**开始时间*/
@Excel(name = "开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Excel(name = "开始时间", width = 20, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "开始时间")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@Excel(name = "结束时间", width = 20, format = "yyyy-MM-dd")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
@DateTimeFormat(pattern="yyyy-MM-dd")
@ApiModelProperty(value = "结束时间")
private java.util.Date endTime;
}
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.jeecg.modules.demo.payCaseCommittee.mapper.PayCaseCommitteeMapper">
<mapper namespace="com.jero.data.mapper.PayCaseCommitteeMapper">
</mapper>
@@ -2,10 +2,8 @@ package com.jero.meeting.entity;
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.baomidou.mybatisplus.annotation.*;
import com.jero.meeting.valid.group.CommonPeople;
import com.jero.meeting.valid.group.Guest;
import lombok.Data;
@@ -285,6 +283,7 @@ public class PayMeetingSituation implements Serializable {
/**付款凭证*/
@ApiModelProperty(value = "付款凭证")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String paymentRecord;
/**状态(1未导入、2已导入、3参会人)*/
@@ -353,7 +352,7 @@ public class PayMeetingSituation implements Serializable {
@Dict(dicCode = "signup_status")
private Integer checkResult;
/**审核状态*/
/**审核备注*/
@ApiModelProperty(value = "审核备注")
@TableField(exist = false)
private String checkRemark;
@@ -145,7 +145,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
public void check(CheckVO checkVO) {
String id = checkVO.getId();
PayMeetingSituation meetingSituation = getById(id);
String paymentRecord = meetingSituation.getPaymentRecord();
if (StrUtil.isBlank(paymentRecord)){
throw new JeroBootException("来款凭证为空不能审核");
}
Integer checkResult1 = meetingSituation.getCheckResult();
if (checkResult1.equals(PayProjectCommon.YES)){
throw new JeroBootException("审核通过之后就无法在审核");
}
Integer checkResult = checkVO.getCheckResult();
if (checkResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_2)) {
//TODO 提示信息
@@ -268,6 +275,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
//处理联系人
canHuiContact(payMeetingSituation1, companyId, contactsManagement);
//处理付款凭证
payMeetingSituation1.setPaymentRecord(null);
//存入打包字段
payMeetingSituation1.setPack(PayProjectCommon.PACKAGING0);
payMeetingSituation1.setNeedInvoice(PayProjectCommon.NO);
@@ -206,7 +206,7 @@ public class PayMemberProjectSubitemController extends JeroController<PayMemberP
}
}
if (!errorMessage.isEmpty()) {
throw new JeroBootException("excel导入失败,错误信息为</br>"+errorMessage);
throw new JeroBootException("excel导入失败,错误信息为"+errorMessage);
}
return Result.OK("文件导入成功!");
}
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.util.PasswordUtil;
import com.jero.meeting.valid.group.CommonPeople;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
@@ -19,6 +20,7 @@ import lombok.experimental.Accessors;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
@@ -159,6 +161,11 @@ public class TbMemberProjectSubitem implements Serializable {
@ApiModelProperty(value = "来款用途(字典表)")
private String chargeUse;
/**缴费方式*/
@Excel(name = "缴费方式", width = 15,dicCode = "meeting_pay_type")
@Dict(dicCode = "meeting_pay_type")
private Integer payMode;
/**标协缴费表id*/
@ApiModelProperty(value = "标协缴费表id")
private String tbPaymentId;
@@ -1,10 +1,7 @@
package com.jero.project.controller;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -18,25 +15,27 @@ import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.*;
import com.jero.project.vo.PayWorkingGroupPayment;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.entity.PayWorkingGroup;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
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.StringUtils;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import io.swagger.annotations.Api;
@@ -97,29 +96,25 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
/**
* 分页列表查询
*
* @param payWorkingGroup 工作组项目
* @param payWorkingGroupSearch 工作组项目
* @param pageNo 页数
* @param pageSize 条数
* @return
*/
@ApiOperation(value="工作组项目统计-分页列表查询", notes="工作组项目统计-分页列表查询")
@ApiOperation(value="工作组项目统计-统计分页列表查询", notes="工作组项目统计-统计分页列表查询")
@GetMapping(value = "/list2")
public Result<?> list2(PayWorkingGroup payWorkingGroup,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
if(!StringUtils.isBlank(payWorkingGroup.getWorkingGroupProject()) && payWorkingGroup.getWorkingGroupProject().length() > 50){
return Result.error("工作组项目长度不能大于50个字符");
}
Page<PayWorkingGroupVO> page = new Page<PayWorkingGroupVO>(pageNo, pageSize);
IPage<PayWorkingGroupVO> pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroup);
if(!Objects.isNull(pageList)){
List<PayWorkingGroupVO> listPayWorkingGroupVO = pageList.getRecords();
if(!CollectionUtils.isEmpty(listPayWorkingGroupVO)){
setPayWorkingGroupSubItem(listPayWorkingGroupVO);
pageList.setRecords(listPayWorkingGroupVO);
}
}
return Result.OK(pageList);
public Result<?> list2(PayWorkingGroupSearch payWorkingGroupSearch,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
Page<PayWorkingGroupStatistics> page = new Page<>(pageNo, pageSize);
IPage<PayWorkingGroupStatistics> pageList = payWorkingGroupService.queryPageListForStatistics(page, payWorkingGroupSearch);
double sum = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney()==null ? "0" : t.getAllMoney())).sum();
double sum2 = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney()==null ? "0" : t.getComeAllMoney())).sum();
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("分页集合",pageList);
objectObjectHashMap.put("总计应收总金额",sum);
objectObjectHashMap.put("总计实收总金额",sum2);
return Result.OK(objectObjectHashMap);
}
/**
@@ -395,6 +390,29 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
return super.exportXls(request, payWorkingGroup, PayWorkingGroup.class, "pay_working_group");
}
/**
* 导出excel
*
*/
@GetMapping(value = "/exportXls2")
@ApiOperation(value="工作组项目统计-统计导出excel", notes="工作组项目统计-统计导出excel")
public ModelAndView exportXls2() {
List<PayWorkingGroupStatistics> pageList = payWorkingGroupService.queryPageListForStatisticsExcel();
return AmountUtil.exportListXls(pageList, PayWorkingGroupStatistics.class,"工作组项目统计");
}
/**
* 获取工作组列表
*
*/
@GetMapping(value = "/getGroupList")
@ApiOperation(value="获取工作组列表下拉框", notes="获取工作组列表下拉框")
public List<String> getGroupList() {
List<String> pageList = payWorkingGroupService.getGroupList();
return pageList;
}
/**
* 通过excel导入数据
*
@@ -10,22 +10,28 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.service.ProjectDetailService;
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.ValidUtil;
import com.jero.common.vo.ProjectDetailVO;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.entity.*;
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.util.AmountUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.record.DVALRecord;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.env.Environment;
import org.springframework.web.bind.annotation.*;
@@ -43,177 +49,204 @@ import io.swagger.annotations.ApiOperation;
@RequestMapping("/project/payWorkingGroupSubitem")
@Slf4j
public class PayWorkingGroupSubItemController extends JeroController<PayWorkingGroupSubItem, IPayWorkingGroupSubItemService> {
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private ProjectDetailService projectDetailService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
/**
* 分页列表查询
*
* @param payWorkingGroupSubItem 工作组成员
* @param pageNo 页数
* @param pageSize 条数
* @param paymentDate 日期
* @return
*/
@ApiOperation(value="工作组成员-分页列表查询", notes="工作组成员-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(PayWorkingGroupSubItem payWorkingGroupSubItem,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="paymentDate",required = false) String paymentDate) {
if(!StringUtils.isBlank(payWorkingGroupSubItem.getChargeCompanyTemporaryName()) && payWorkingGroupSubItem.getChargeCompanyTemporaryName().length() > 50){
return Result.error("成员单位长度不能大于50个字符");
}
if(StringUtils.isBlank(payWorkingGroupSubItem.getWorkingGroupId())){
return Result.error("工作组id不能为空!");
}
Page<PayWorkingGroupSubItem> page = new Page<PayWorkingGroupSubItem>(pageNo, pageSize);
IPage<PayWorkingGroupSubItem> pageList = payWorkingGroupSubItemService.queryPageList(page, payWorkingGroupSubItem,paymentDate);
return Result.OK(pageList);
}
/**
* 添加
*
* @param payWorkingGroupSubItem 工作组成员
* @return
*/
@ApiOperation(value="工作组成员-添加", notes="工作组成员-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem);
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
payWorkingGroupSubItemService.addPayWorkingGroupSubItem(payWorkingGroupSubItem);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param payWorkingGroupSubItem 工作组成员
* @return
*/
@ApiOperation(value="工作组成员-编辑", notes="工作组成员-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem);
if(!StringUtils.isBlank(msg)){
return Result.error(msg.toString());
}
// todo 缺少修改应收金额时查询状态,更新状态
payWorkingGroupSubItemService.editPayWorkingGroupSubItem(payWorkingGroupSubItem);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id 工作组成员id
* @return
*/
@ApiOperation(value="工作组成员-通过id删除", notes="工作组成员-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name="id") String id) {
if(StringUtils.isBlank(id)){
return Result.error("id不能为空!");
}
try {
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContractAssociated::getProjectId,id);
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
if(!Objects.isNull(payIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
}catch (Exception e){
log.error("普通项目管理-批量删除异常",e);
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids 工作组成员ids 逗号分隔
* @return
*/
@ApiOperation(value="工作组成员-批量删除", notes="工作组成员-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name="ids") String ids) {
if(StringUtils.isBlank(ids)){
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
return Result.error("id不能为空!");
}
}
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.in(PayIncomeContractAssociated::getProjectId,Arrays.asList(ids.split(",")));
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query);
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private ProjectDetailService projectDetailService;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
/**
* 查询工作组成员是否收费通知
* 分页列表查询
*
* @param ids 工作组成员ids 逗号分隔
* @param workingGroupId 工作组id
* @param payWorkingGroupSubItem 工作组成员
* @param pageNo 页数
* @param pageSize 条数
* @param paymentDate 日期
* @return
*/
@ApiOperation(value="工作组成员-查询工作组成员是否收费通知", notes="工作组成员-查询工作组成员是否收费通知")
@GetMapping(value = "/getCharge")
public Result<?> getCharge(@RequestParam(name = "ids") String ids,@RequestParam(name = "workingGroupId") String workingGroupId) {
if(StringUtils.isBlank(ids)){
@ApiOperation(value = "工作组成员-分页列表查询", notes = "工作组成员-分页列表查询")
@GetMapping(value = "/list")
public Result<?> queryPageList(PayWorkingGroupSubItem payWorkingGroupSubItem,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "paymentDate", required = false) String paymentDate) {
if (!StringUtils.isBlank(payWorkingGroupSubItem.getChargeCompanyTemporaryName()) && payWorkingGroupSubItem.getChargeCompanyTemporaryName().length() > 50) {
return Result.error("成员单位长度不能大于50个字符");
}
if (StringUtils.isBlank(payWorkingGroupSubItem.getWorkingGroupId())) {
return Result.error("工作组id不能为空!");
}
Page<PayWorkingGroupSubItem> page = new Page<>(pageNo, pageSize);
IPage<PayWorkingGroupSubItem> pageList = payWorkingGroupSubItemService.queryPageList(page, payWorkingGroupSubItem, paymentDate);
return Result.OK(pageList);
}
/**
* 分页列表查询
*
* @param payWorkingGroupSubletSearch 工作组成员统计搜索
* @param pageNo 页数
* @param pageSize 条数
* @return
*/
@ApiOperation(value = "工作组成员统计-详情分页列表查询", notes = "工作组成员统计-详情分页列表查询")
@GetMapping(value = "/list2")
public Result<?> list2(PayWorkingGroupSubletSearch payWorkingGroupSubletSearch,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<PayWorkGroupSubletStatistics> page = new Page<>(pageNo, pageSize);
IPage<PayWorkGroupSubletStatistics> pageList = payWorkingGroupSubItemService.queryPageList2(page, payWorkingGroupSubletSearch);
double sum = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null ? "0" : t.getAllMoney())).sum();
double sum2 = pageList.getRecords().stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null ? "0" : t.getComeAllMoney())).sum();
HashMap<String, Object> objectObjectHashMap = new HashMap<>();
objectObjectHashMap.put("分页集合", pageList);
objectObjectHashMap.put("总计应收总金额", sum);
objectObjectHashMap.put("总计实收总金额", sum2);
return Result.OK(objectObjectHashMap);
}
/**
* 添加
*
* @param payWorkingGroupSubItem 工作组成员
* @return
*/
@ApiOperation(value = "工作组成员-添加", notes = "工作组成员-添加")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem);
if (!StringUtils.isBlank(msg)) {
return Result.error(msg.toString());
}
payWorkingGroupSubItemService.addPayWorkingGroupSubItem(payWorkingGroupSubItem);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param payWorkingGroupSubItem 工作组成员
* @return
*/
@ApiOperation(value = "工作组成员-编辑", notes = "工作组成员-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayWorkingGroupSubItem payWorkingGroupSubItem) {
StringBuilder msg = ValidUtil.validateAll(payWorkingGroupSubItem);
if (!StringUtils.isBlank(msg)) {
return Result.error(msg.toString());
}
// todo 缺少修改应收金额时查询状态,更新状态
payWorkingGroupSubItemService.editPayWorkingGroupSubItem(payWorkingGroupSubItem);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id 工作组成员id
* @return
*/
@ApiOperation(value = "工作组成员-通过id删除", notes = "工作组成员-通过id删除")
@GetMapping(value = "/delete")
public Result<?> delete(@RequestParam(name = "id") String id) {
if (StringUtils.isBlank(id)) {
return Result.error("id不能为空!");
}
try {
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.eq(PayIncomeContractAssociated::getProjectId, id);
PayIncomeContractAssociated payIncomeContractAssociated = payIncomeContractAssociatedService.getOne(query);
if (!Objects.isNull(payIncomeContractAssociated)) {
return Result.error("已关联合同不可删除!");
}
} catch (Exception e) {
log.error("普通项目管理-批量删除异常", e);
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids 工作组成员ids 逗号分隔
* @return
*/
@ApiOperation(value = "工作组成员-批量删除", notes = "工作组成员-批量删除")
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
if (StringUtils.isBlank(ids)) {
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
if (StringUtils.isBlank(s1)) {
return Result.error("id不能为空!");
}
}
LambdaQueryWrapper<PayIncomeContractAssociated> query = new LambdaQueryWrapper<>();
query.in(PayIncomeContractAssociated::getProjectId, Arrays.asList(ids.split(",")));
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(query);
if (!CollectionUtils.isEmpty(listPayIncomeContractAssociated)) {
return Result.error("已关联合同不可删除!");
}
payWorkingGroupSubItemService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 查询工作组成员是否收费通知
*
* @param ids 工作组成员ids 逗号分隔
* @param workingGroupId 工作组id
* @return
*/
@ApiOperation(value = "工作组成员-查询工作组成员是否收费通知", notes = "工作组成员-查询工作组成员是否收费通知")
@GetMapping(value = "/getCharge")
public Result<?> getCharge(@RequestParam(name = "ids") String ids, @RequestParam(name = "workingGroupId") String workingGroupId) {
if (StringUtils.isBlank(ids)) {
return Result.error("id不能为空!");
}
String[] s = ids.split(",");
for (String s1 : s) {
if (StringUtils.isBlank(s1)) {
return Result.error("id不能为空!");
}
}
LambdaQueryWrapper<PayWorkingGroupSubItem> query = new LambdaQueryWrapper<>();
query.in(PayWorkingGroupSubItem::getId,Arrays.asList(ids.split(",")));
query.eq(PayWorkingGroupSubItem::getWorkingGroupId,workingGroupId);
query.in(PayWorkingGroupSubItem::getId, Arrays.asList(ids.split(",")));
query.eq(PayWorkingGroupSubItem::getWorkingGroupId, workingGroupId);
List<PayWorkingGroupSubItem> list = payWorkingGroupSubItemService.list();
if(!CollectionUtils.isEmpty(list)){
List<PayWorkingGroupSubItem> listNew = list.stream().filter(p->!Objects.equals(p.getChargeWay(),PayProjectCommon.CHARGE_WAY3)).collect(Collectors.toList());
if(!CollectionUtils.isEmpty(listNew)){
if (!CollectionUtils.isEmpty(list)) {
List<PayWorkingGroupSubItem> listNew = list.stream().filter(p -> !Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY3)).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(listNew)) {
return Result.error("存在来款方式不是收费通知的选项!");
}
}else{
} else {
return Result.error("请选择项目!");
}
return Result.OK("来款方式都是收费通知!");
}
/**
* 设置收费通知
* 设置收费通知
*
* @param input 收费通知
* @return
*/
@ApiOperation(value="工作组成员-设置收费通知", notes="工作组成员-设置收费通知")
@ApiOperation(value = "工作组成员-设置收费通知", notes = "工作组成员-设置收费通知")
@PostMapping(value = "/setCharge")
public Result<?> setCharge(@RequestBody SetChargeInput input) {
if(StringUtils.isBlank(input.getIds())){
if (StringUtils.isBlank(input.getIds())) {
return Result.error("id不能为空!");
}
String[] s = input.getIds().split(",");
for (String s1 : s) {
if(StringUtils.isBlank(s1)){
if (StringUtils.isBlank(s1)) {
return Result.error("id不能为空!");
}
}
@@ -221,58 +254,82 @@ public class PayWorkingGroupSubItemController extends JeroController<PayWorkingG
payWorkingGroupSubItemService.updateBatchSetCharge(input);
return Result.OK("设置收费通知成功!");
}
/**
* 通过id查询
*
* @param id 工作组成员
* @return
*/
@ApiOperation(value="工作组成员-通过id查询", notes="工作组成员-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name="id") String id) {
PayWorkingGroupSubItem payWorkingGroupSubitem = payWorkingGroupSubItemService.getById(id);
if(payWorkingGroupSubitem==null) {
return Result.error("未找到对应数据");
}
ProjectDetailVO projectDetailVO = projectDetailService.getProjectDetail(payWorkingGroupSubitem.getId());
return Result.OK(projectDetailVO);
}
/**
* 导出excel
*
* @param request
* @param payWorkingGroupSubItem 工作组成员
*/
@GetMapping(value = "/exportXls")
@ApiOperation(value="工作组成员-导出excel", notes="工作组成员-导出excel")
public ModelAndView exportXls(HttpServletRequest request, PayWorkingGroupSubItem payWorkingGroupSubItem) {
return super.exportXls(request, payWorkingGroupSubItem, PayWorkingGroupSubItem.class, "工作组成员");
}
/**
* 通过id查询
*
* @param id 工作组成员
* @return
*/
@ApiOperation(value = "工作组成员-通过id查询", notes = "工作组成员-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id") String id) {
PayWorkingGroupSubItem payWorkingGroupSubitem = payWorkingGroupSubItemService.getById(id);
if (payWorkingGroupSubitem == null) {
return Result.error("未找到对应数据");
}
ProjectDetailVO projectDetailVO = projectDetailService.getProjectDetail(payWorkingGroupSubitem.getId());
return Result.OK(projectDetailVO);
}
/**
* 导出excel
*
* @param request
* @param payWorkingGroupSubItem 工作组成员
*/
@GetMapping(value = "/exportXls")
@ApiOperation(value = "工作组成员-导出excel", notes = "工作组成员-导出excel")
public ModelAndView exportXls(HttpServletRequest request, PayWorkingGroupSubItem payWorkingGroupSubItem) {
return super.exportXls(request, payWorkingGroupSubItem, PayWorkingGroupSubItem.class, "工作组成员");
}
/**
* 模板下载
*
* @return
*/
@ApiOperation(value="工作组成员-模板下载", notes="工作组成员-模板下载")
@ApiOperation(value = "工作组成员-模板下载", notes = "工作组成员-模板下载")
@GetMapping(value = "/downloadExcelModel")
public ModelAndView downloadExcelModel() {
return super.exportTemplate(PayWorkingGroupSubItem.class,"工作组成员导入模板");
return super.exportTemplate(PayWorkingGroupSubItem.class, "工作组成员导入模板");
}
/**
* 通过excel导入数据
*
* @param request
* @return
*/
@PostMapping(value = "/importExcel")
@ApiOperation(value="工作组成员-通过excel导入数据", notes="工作组成员-通过excel导入数据")
public Result<?> importExcel(HttpServletRequest request) {
payWorkingGroupSubItemService.importExcel(request);
return Result.OK("文件导入成功!");
}
}
@ApiOperation(value = "字典表获取", notes = "字典表获取")
@GetMapping(value = "/getChartUseDict")
public HashMap getChartUse() {
List<DictModel> payment_charge_use = sysBaseAPI.queryDictItemsByCode("payment_charge_use");
List<DictModel> account_type = sysBaseAPI.queryDictItemsByCode("account_type");
HashMap<String, List<DictModel>> hashMap = new HashMap<>();
hashMap.put("来款用途", payment_charge_use);
hashMap.put("到账状态", account_type);
return hashMap;
}
/**
* 通过excel导入数据
*
* @param request
* @return
*/
@PostMapping(value = "/importExcel")
@ApiOperation(value = "工作组成员-通过excel导入数据", notes = "工作组成员-通过excel导入数据")
public Result<?> importExcel(HttpServletRequest request) {
payWorkingGroupSubItemService.importExcel(request);
return Result.OK("文件导入成功!");
}
/**
* 通过excel导入数据
*
* @param id
* @return
*/
@GetMapping(value = "/importExcelStatistics")
@ApiOperation(value = "工作组成员统计-导出统计", notes = "工作组成员统计-导出统计")
public ModelAndView importExcelStatistics(@RequestParam(name = "id", required = true) String id) {
List<PayWorkGroupSubletStatistics> list = payWorkingGroupSubItemService.importExcelStatistics(id);
return AmountUtil.exportListXls(list, PayWorkGroupSubletStatistics.class, "工作组成员统计");
}
}
@@ -0,0 +1,42 @@
package com.jero.project.entity;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @author zql
* @date 2021/9/14 11:37
*/
@Data
public class PayWorkGroupSubletStatistics {
@ApiModelProperty(value = "工作组成员id")
private String id;
@Excel(name = "项目负责人", width = 15)
@ApiModelProperty(value = "项目负责人")
private String principalName;
@Excel(name = "来款单位", width = 15)
@ApiModelProperty(value = "来款单位")
private String chargeCompanyTemporaryName;
@Excel(name = "应收总金额", width = 15)
@ApiModelProperty(value = "应收总金额")
private String allMoney;
@Excel(name = "实收总金额", width = 15)
@ApiModelProperty(value = "实收总金额")
private String comeAllMoney;
@Dict(dicCode = "payment_charge_use")
@Excel(name = "来款用途", width = 15)
@ApiModelProperty(value = "来款用途")
private int chargeUse;
}
@@ -0,0 +1,32 @@
package com.jero.project.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.DecimalMax;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author zql
* @date 2021/9/13 10:45
*/
@Data
public class PayWorkingGroupSearch {
@ApiModelProperty(value = "工作组")
private String workGroup;
@DecimalMax(value = "9999999999.99",message = "应收总金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "应收总金额")
private BigDecimal allMoney;
@DecimalMax(value = "9999999999.99",message = "应收总金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "应收总金额范围")
private BigDecimal allMoneyTwo;
@ApiModelProperty(value = "来款年份")
private String year;
}
@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* @author zql
@@ -11,19 +14,18 @@ import lombok.Data;
*/
@Data
public class PayWorkingGroupStatistics {
@ApiModelProperty(value = "主键")
private String id;
@ApiModelProperty(value = "工作组")
@Excel(name = "负责人", width = 15)
@ApiModelProperty(value = "负责人")
private String workGroup;
@Excel(name = "应收总金额", width = 15)
@ApiModelProperty(value = "应收总金额")
private String allMoney;
@Excel(name = "实收总金额", width = 15)
@ApiModelProperty(value = "实收总金额")
private String comeAllMoney;
@Excel(name = "完收完成率", width = 15)
@ApiModelProperty(value = "完收完成率")
private String moneyRate;
@@ -0,0 +1,47 @@
package com.jero.project.entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.DecimalMax;
import java.math.BigDecimal;
/**
* @author zql
* @date 2021/9/14 9:17
*/
@Data
public class PayWorkingGroupSubletSearch {
@ApiModelProperty(value = "工作组id")
private String id;
@ApiModelProperty(value = "来款项目")
private String projectName;
@ApiModelProperty(value = "来款单位")
private String chargeCompanyTemporaryName;
@DecimalMax(value = "9999999999.99",message = "应收总金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "应收总金额")
private BigDecimal allMoney;
@DecimalMax(value = "9999999999.99",message = "应收总金额(元)格式错误")
@JsonFormat(shape = JsonFormat.Shape.STRING)
@ApiModelProperty(value = "应收总金额范围")
private BigDecimal allMoneyTwo;
@ApiModelProperty(value = "来款年份")
private int year;
@ApiModelProperty(value = "来款用途")
private int chargeUse;
@ApiModelProperty(value = "付款状态")
private int inAccountStatue;
@ApiModelProperty(value = "项目负责人")
private String principalName;
}
@@ -2,6 +2,8 @@ package com.jero.project.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkingGroupSearch;
import com.jero.project.entity.PayWorkingGroupStatistics;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.entity.PayWorkingGroup;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -48,12 +50,25 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
List<PayWorkingGroup> queryListByNotCompany(@Param("companyId") String companyId);
/**
* @Description 查询不存在成员单位的列表
* @Author zqk
* @Description 工作组统计
* @Author zql
* @Date 2021/9/13
* @Param
* @Return
* @Exception
*/
IPage<PayWorkingGroupVO> queryPageListForStatistics(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup);
IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page,@Param("payWorkingGroupSearch") PayWorkingGroupSearch payWorkingGroupSearch);
/**
* @Description 工作组统计导出
* @Author zql
* @Date 2021/9/13
* @Param
* @Return
* @Exception
*/
List<PayWorkingGroupStatistics> queryPageListForStatisticsExcel();
List<String> getGroupList();
}
@@ -2,11 +2,15 @@ package com.jero.project.mapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.vo.SetChargeInput;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: pay_working_group_subitem
* @Author: jeecg-boot
@@ -35,4 +39,9 @@ public interface PayWorkingGroupSubItemMapper extends BaseMapper<PayWorkingGroup
IPage<PayWorkingGroupSubItem> queryPageList(Page<PayWorkingGroupSubItem> page, @Param("payWorkingGroupSubItem") PayWorkingGroupSubItem payWorkingGroupSubItem,
@Param("paymentDate") String paymentDate);
IPage<PayWorkGroupSubletStatistics> queryPageList2(Page<PayWorkGroupSubletStatistics> page, @Param("payWorkingGroupSubletSearch") PayWorkingGroupSubletSearch payWorkingGroupSubletSearch);
List<PayWorkGroupSubletStatistics> importExcelStatistics(@Param("id") String id);
}
@@ -103,20 +103,51 @@
</select>
<select id="queryPageListForStatistics" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
SELECT
id,
working_group_project AS workGroup
FROM pay_working_group
pwg.id,
pwg.working_group_project AS workGroup,
pwgs.allMoney,
pwgs.comeAllMoney,
CONCAT(CAST(ROUND((pwgs.comeAllMoney/pwgs.allMoney)*100,2) AS CHAR),'%') AS moneyRate
FROM pay_working_group pwg left join (select id,working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney
from pay_working_group_subitem where working_group_id GROUP BY working_group_id) pwgs on(pwg.id=pwgs.working_group_id)
left join pay_payment_record ppr on(pwgs.id=ppr.project_id)
<where>
<if test="payWorkingGroup.workingGroupProject != null and payWorkingGroup.workingGroupProject != ''">
AND working_group_project LIKE concat('%',concat(#{payWorkingGroup.workingGroupProject},'%'))
<if test="payWorkingGroupSearch.workGroup != null and payWorkingGroupSearch.workGroup != ''">
AND pwg.working_group_project LIKE concat('%',concat(#{payWorkingGroupSearch.workGroup},'%'))
</if>
<if test="payWorkingGroup.principalIdA != null and payWorkingGroup.principalIdA != ''">
AND principal_id_a = #{payWorkingGroup.principalIdA}
</if>
<if test="payWorkingGroup.year != null and payWorkingGroup.year != ''">
AND year = #{payWorkingGroup.year}
<if test="payWorkingGroupSearch.year != null and payWorkingGroupSearch.year != ''">
AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{payWorkingGroupSearch.year},'%'))
</if>
<choose>
<when test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != '' and payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND pwgs.allMoney > #{payWorkingGroupSearch.allMoney} and pwgs.allMoney <![CDATA[<]]> #{payWorkingGroupSearch.allMoneyTwo}
</when>
<otherwise>
<if test="payWorkingGroupSearch.allMoney != null and payWorkingGroupSearch.allMoney != ''">
AND pwgs.allMoney > #{payWorkingGroupSearch.allMoney}
</if>
<if test="payWorkingGroupSearch.allMoneyTwo != null and payWorkingGroupSearch.allMoneyTwo != ''">
AND pwgs.allMoney <![CDATA[<]]> #{payWorkingGroupSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
</select>
<select id="queryPageListForStatisticsExcel" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
SELECT
pwg.id,
pwg.working_group_project AS workGroup,
pwgs.allMoney,
pwgs.comeAllMoney,
CONCAT(CAST(ROUND((pwgs.comeAllMoney/pwgs.allMoney)*100,2) AS CHAR),'%') AS moneyRate
FROM pay_working_group pwg left join (select working_group_id,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney
from pay_working_group_subitem where working_group_id GROUP BY working_group_id) pwgs on(pwg.id=pwgs.working_group_id)
ORDER BY create_time DESC
</select>
<select id="getGroupList" resultType="java.lang.String">
SELECT
pwg.working_group_project
FROM pay_working_group pwg group by working_group_project
</select>
</mapper>
@@ -63,4 +63,52 @@
</where>
order by pwgs.create_time desc
</select>
<select id="queryPageList2" resultType="com.jero.project.entity.PayWorkGroupSubletStatistics">
SELECT
pwgs.id,
pwg.principal_name_a as principalName,
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
pwgs.receivable_amount AS allMoney,
pwgs.paid_amount AS comeAllMoney,
pwgs.charge_use as chargeUse
FROM pay_working_group_subitem pwgs left join pay_payment_record ppr on(pwgs.id=ppr.project_id)
left join pay_working_group pwg on(pwgs.working_group_id=pwg.id)
<where>
pwgs.working_group_id = #{payWorkingGroupSubletSearch.id}
<if test="payWorkingGroupSubletSearch.projectName != null and payWorkingGroupSubletSearch.projectName != ''">
AND pwg.working_group_project LIKE
concat('%',concat(#{payWorkingGroupSubletSearch.projectName},'%'))
</if>
<if test="payWorkingGroupSubletSearch.chargeUse != null and payWorkingGroupSubletSearch.chargeUse != ''">
AND pwgs.charge_use=#{payWorkingGroupSubletSearch.chargeUse}
</if>
<if test="payWorkingGroupSubletSearch.chargeCompanyTemporaryName != null and payWorkingGroupSubletSearch.chargeCompanyTemporaryName != ''">
AND pwgs.charge_company_temporary_name=#{payWorkingGroupSubletSearch.chargeCompanyTemporaryName}
</if>
<if test="payWorkingGroupSubletSearch.inAccountStatue != null and payWorkingGroupSubletSearch.inAccountStatue != ''">
AND pwgs.in_account=#{payWorkingGroupSubletSearch.inAccountStatue}
</if>
<if test="payWorkingGroupSubletSearch.year != null and payWorkingGroupSubletSearch.year != ''">
AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{payWorkingGroupSubletSearch.year},'%'))
</if>
<if test="payWorkingGroupSubletSearch.principalName != null and payWorkingGroupSubletSearch.principalName != ''">
AND pwg.principal_name_a=#{payWorkingGroupSubletSearch.principalName}
</if>
<choose>
<when test="payWorkingGroupSubletSearch.allMoney != null and payWorkingGroupSubletSearch.allMoney != '' and payWorkingGroupSubletSearch.allMoneyTwo != null and payWorkingGroupSubletSearch.allMoneyTwo != ''">
AND pwgs.receivable_amount > #{payWorkingGroupSubletSearch.allMoney} and pwgs.receivable_amount <![CDATA[<]]> #{payWorkingGroupSubletSearch.allMoneyTwo}
</when>
<otherwise>
<if test="payWorkingGroupSubletSearch.allMoney != null and payWorkingGroupSubletSearch.allMoney != ''">
AND pwgs.receivable_amount > #{payWorkingGroupSubletSearch.allMoney}
</if>
<if test="payWorkingGroupSubletSearch.allMoneyTwo != null and payWorkingGroupSubletSearch.allMoneyTwo != ''">
AND pwgs.receivable_amount <![CDATA[<]]> #{payWorkingGroupSubletSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
group by pwgs.id
</select>
</mapper>
@@ -2,6 +2,8 @@ package com.jero.project.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkingGroupSearch;
import com.jero.project.entity.PayWorkingGroupStatistics;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.entity.PayWorkingGroup;
import com.baomidou.mybatisplus.extension.service.IService;
@@ -69,5 +71,17 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
* @Return
* @Exception
*/
IPage<PayWorkingGroupVO> queryPageListForStatistics(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup);
IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page, PayWorkingGroupSearch payWorkingGroupSearch);
/**
* @Description 工作组统计查询导出
* @Author zql
* @Date 2021/9/13
* @Param
* @Return
* @Exception
*/
List<PayWorkingGroupStatistics> queryPageListForStatisticsExcel();
List<String> getGroupList();
}
@@ -2,8 +2,10 @@ package com.jero.project.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.vo.SetChargeInput;
import javax.servlet.http.HttpServletRequest;
@@ -61,4 +63,17 @@ public interface IPayWorkingGroupSubItemService extends IService<PayWorkingGroup
* @Exception
*/
void importExcel(HttpServletRequest request);
/**
*
* @Author ZQL
* @param page
* @param payWorkingGroupSubletSearch
* @return
*/
IPage<PayWorkGroupSubletStatistics> queryPageList2(Page<PayWorkGroupSubletStatistics> page, PayWorkingGroupSubletSearch payWorkingGroupSubletSearch);
List<PayWorkGroupSubletStatistics> importExcelStatistics(String id);
}
@@ -152,10 +152,10 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
if(Objects.isNull(payIncomeContract) && Objects.equals(payCommonProject.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payCommonProject.getContractNum(),payCommonProject.getChargeCompanyId(),payCommonProject.getId());
}
if(!Objects.isNull(payIncomeContract)){
if(!Objects.isNull(payIncomeContractAdd)){
payCommonProject.setPack(PayProjectCommon.PACKAGING1);
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
payIncomeContractAssociated.setContractId(payIncomeContractAdd.getId());
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
payIncomeContractAssociated.setProjectId(payCommonProject.getId());
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
@@ -164,7 +164,7 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
}
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContract.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack());
payPackCompanyProjectService.setPack(payCommonProject.getChargeCompanyId(),payCommonProject.getContactsId(),payIncomeContractAdd.getPackYear(),payCommonProject.getId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContractAdd.getPack());
}
}
setPayCommonProject(payCommonProject);
@@ -4,11 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.project.entity.PayWorkingGroupSearch;
import com.jero.project.entity.PayWorkingGroupStatistics;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.project.vo.PayWorkingGroupVO;
@@ -23,7 +23,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -86,8 +85,18 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
}
@Override
public IPage<PayWorkingGroupVO> queryPageListForStatistics(Page<PayWorkingGroupVO> page, PayWorkingGroup payWorkingGroup) {
return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroup);
public IPage<PayWorkingGroupStatistics> queryPageListForStatistics(Page<PayWorkingGroupStatistics> page, PayWorkingGroupSearch payWorkingGroupSearch) {
return payWorkingGroupMapper.queryPageListForStatistics(page,payWorkingGroupSearch);
}
@Override
public List<PayWorkingGroupStatistics> queryPageListForStatisticsExcel() {
return payWorkingGroupMapper.queryPageListForStatisticsExcel();
}
@Override
public List<String> getGroupList() {
return payWorkingGroupMapper.getGroupList();
}
/**
@@ -17,11 +17,9 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.*;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.project.vo.SetChargeInput;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
@@ -130,8 +128,6 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
throw new JeroBootException("工作组成员单位已存在!");
}
PayIncomeContract payIncomeContract = null;
// 来款方式为合同,校验合同编号
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
@@ -216,10 +212,10 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
if(Objects.equals(payWorkingGroupSubItem.getChargeWay(),PayProjectCommon.CHARGE_WAY2)){
payIncomeContractAdd = payIncomeContractService.setPayIncomeContractAssociated(payWorkingGroupSubItem.getContractNum(),payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getId());
}
if(!Objects.isNull(payIncomeContract)){
if(!Objects.isNull(payIncomeContractAdd)){
payWorkingGroupSubItem.setPack(PayProjectCommon.PACKAGING1);
PayIncomeContractAssociated payIncomeContractAssociated = new PayIncomeContractAssociated();
payIncomeContractAssociated.setContractId(payIncomeContract.getId());
payIncomeContractAssociated.setContractId(payIncomeContractAdd.getId());
payIncomeContractAssociated.setProjectType(Integer.parseInt(PayProjectCommon.PROJECT_TYPE1));
payIncomeContractAssociated.setProjectId(payWorkingGroupSubItem.getId());
payIncomeContractAssociatedService.save(payIncomeContractAssociated);
@@ -228,14 +224,13 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
// 关联了合同,判断合同是否打包,更新项目打包状态,添加打包
if(!Objects.isNull(payIncomeContractAdd) && Objects.equals(payIncomeContractAdd.getPack(),PayProjectCommon.PACKAGING1)){
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContract.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContract.getPack());
payPackCompanyProjectService.setPack(payWorkingGroupSubItem.getChargeCompanyId(),payWorkingGroupSubItem.getContactsIdOne(),payIncomeContractAdd.getPackYear(),payWorkingGroupSubItem.getId(),PayProjectCommon.PROJECT_TYPE2,payIncomeContractAdd.getPack());
}
}
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
// 先删除临时表企业信息,联系人信息,邮寄联系人信息
payCompanyManagementTemporaryService.removeById(payWorkingGroupSubItemOld.getChargeCompanyTemporaryId());
payContactsManagementTemporaryService.removeByIds(Arrays.asList(payWorkingGroupSubItemOld.getContactsTemporaryIdOne(),payWorkingGroupSubItemOld.getContactsTemporaryIdTwo(),payWorkingGroupSubItemOld.getContactsTemporaryIdThree()));
payWorkingGroupSubItem = setPayWorkingGroupSubItem(payWorkingGroupSubItem);
payWorkingGroupSubItem.setChargeUse(PayProjectCommon.CHARGE_USE1);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
@@ -329,20 +324,20 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
// 校验企业名称
List<PayCompanyManagement> listCompany = new ArrayList<>();
if (StringUtils.isBlank(p.getChargeCompanyTemporaryName())) {
msg.append("第 ").append(count + 3).append(" 行:企业名称不能为空,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:企业名称不能为空,请修改。<br/>");
} else {
// 通过企业名称获取企业id
listCompany = listCompanyInfo.stream().filter(item ->
Objects.equals(item.getCompanyName(), p.getChargeCompanyTemporaryName())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(listCompany)) {
msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:企业名称不存在,请修改。<br/>");
} else {
p.setChargeCompanyId(listCompany.get(0).getId());
}
}
// 校验联系人一
if (StringUtils.isBlank(p.getContactsTemporaryNameOne())) {
msg.append("第 ").append(count + 3).append(" 行:联系人不能为空,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:联系人不能为空,请修改。<br/>");
} else {
if (!CollectionUtils.isEmpty(listCompany)) {
// 通过联系人获取联系人id
@@ -351,7 +346,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
Objects.equals(item.getName(), p.getContactsTemporaryNameOne())
&& Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(listContacts)) {
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人一,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人一,请修改。<br/>");
} else {
p.setContactsIdOne(listContacts.get(0).getId());
}
@@ -361,7 +356,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
if (!StringUtils.isBlank(p.getChargeCompanyId())) {
List<PayWorkingGroupSubItem> listDateNew = listData.stream().filter(item -> Objects.equals(p.getChargeCompanyId(), item.getChargeCompanyId())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(listDateNew)) {
msg.append("第 ").append(count + 3).append(" 行:工作组成员单位已存在,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:工作组成员单位已存在,请修改。<br/>");
}
}
// 校验联系人二
@@ -373,7 +368,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
Objects.equals(item.getName(), p.getContactsTemporaryNameTwo())
&& Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(listContacts)) {
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人二,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人二,请修改。<br/>");
} else {
p.setContactsIdTwo(listContacts.get(0).getId());
}
@@ -388,7 +383,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
Objects.equals(item.getName(), p.getContactsTemporaryNameThree())
&& Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(listContacts)) {
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人三,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该联系人三,请修改。<br/>");
} else {
p.setContactsIdThree(listContacts.get(0).getId());
}
@@ -396,7 +391,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
// 校验邮寄联系人
if (StringUtils.isBlank(p.getMailContactsTemporaryName())) {
msg.append("第 ").append(count + 3).append(" 行:邮寄联系人不能为空,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:邮寄联系人不能为空,请修改。<br/>");
} else {
if (!CollectionUtils.isEmpty(listCompany)) {
// 通过联系人获取联系人id
@@ -405,7 +400,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
Objects.equals(item.getName(), p.getMailContactsTemporaryName())
&& Objects.equals(item.getCompanyId(), finalListCompany.get(0).getId())).collect(Collectors.toList());
if (CollectionUtils.isEmpty(listContacts)) {
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该邮寄联系人,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:该企业下不存在该邮寄联系人,请修改。<br/>");
} else {
p.setMailContactsId(listContacts.get(0).getId());
}
@@ -414,32 +409,32 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
// 校验成员唯一性
List<PayWorkingGroupSubItem> listCompanyAndContactsNew = listCompanyAndContacts.stream().filter(item -> Objects.equals(p.getChargeCompanyTemporaryName(), item.getChargeCompanyTemporaryName())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(listCompanyAndContactsNew)) {
msg.append("第 ").append(count + 3).append(" 行:工作组成员单位重复出现,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:工作组成员单位重复出现,请修改。<br/>");
}
listCompanyAndContacts.add(p);
// 校验
if (Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY2)) {
if (Objects.isNull(p.getReceivableAmount())) {
msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。<br/>");
}
if (StringUtils.isBlank(p.getContractNum())) {
msg.append("第 ").append(count + 3).append(" 行:合同号不能为空,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:合同号不能为空,请修改。<br/>");
}
}
if (Objects.equals(p.getChargeWay(), PayProjectCommon.CHARGE_WAY3)) {
if (Objects.isNull(p.getChargeNoticeNo())) {
msg.append("第 ").append(count + 3).append(" 行:收费通知号不能为空,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:收费通知号不能为空,请修改。<br/>");
} else {
if (Objects.equals(payWorkingGroup.getChargeNoticeNoA(), p.getChargeNoticeNo())) {
p.setChargeNoticeId(payWorkingGroup.getChargeNoticeAId());
} else if (Objects.equals(payWorkingGroup.getChargeNoticeNoB(), p.getChargeNoticeNo())) {
p.setChargeNoticeId(payWorkingGroup.getChargeNoticeBId());
} else {
msg.append("第 ").append(count + 3).append(" 行:收费通知号不存在,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:收费通知号不存在,请修改。<br/>");
}
}
if (Objects.isNull(p.getReceivableAmount())) {
msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。</br>");
msg.append("第 ").append(count + 3).append(" 行:应收金额不能为空,请修改。<br/>");
}
}
p.setPack(PayProjectCommon.PACKAGING0);
@@ -478,6 +473,16 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
}
@Override
public IPage<PayWorkGroupSubletStatistics> queryPageList2(Page<PayWorkGroupSubletStatistics> page, PayWorkingGroupSubletSearch payWorkingGroupSubletSearch) {
return payWorkingGroupSubItemMapper.queryPageList2(page,payWorkingGroupSubletSearch);
}
@Override
public List<PayWorkGroupSubletStatistics> importExcelStatistics(String id) {
return payWorkingGroupSubItemMapper.importExcelStatistics(id);
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt