全所统计

This commit is contained in:
zhangqinlin
2021-09-18 10:45:11 +08:00
parent 2e9a63f4da
commit b4fba29e03
34 changed files with 818 additions and 152 deletions
@@ -0,0 +1,21 @@
//package com.jero.contract.vo;
//
//import com.jero.contract.entity.PayIncomeContract;
//import io.swagger.annotations.ApiModelProperty;
//import lombok.Data;
//
//import java.io.Serializable;
//
//@Data
//public class PayIncomeContractOutput extends PayIncomeContract implements Serializable {
// /**
// * 来款状态 0:全部 1:到期未付款
// */
// @ApiModelProperty(value = "来款状态 0:全部 1:到期未付款")
// private Integer chargeStatus;
// /**
// * 关联项目
// */
// @ApiModelProperty(value = "关联项目")
// private String associatedProject;
//}
@@ -0,0 +1,20 @@
package com.jero.contract.vo;
import com.jero.contract.entity.PaySpendingContract;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
// * @Description: pay_spending_contract
// * @Author: jeecg-boot
// * @Date: 2021-09-07
// * @Version: V1.0
// */
//@Data
//public class PaySpendingContractOutput extends PaySpendingContract implements Serializable {
// /**
// * 来款状态 0:全部 1:到期未付款
// */
// @ApiModelProperty(value = "来款状态 0:全部 1:到期未付款")
// private Integer chargeStatus;
//}
@@ -39,6 +39,7 @@ 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.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
@@ -183,94 +184,95 @@ public class PayMailBillController extends JeroController<PayMailBill, IPayMailB
//变更5种项目的邮寄状态
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
queryPayMailBillProject.eq(PayMailBillProject::getBillId,payMailBill.getId());
PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject);
PayMailBillProject one = payMailBillProjectService.getOne(queryPayMailBillProject,false);
if(ObjectUtils.isEmpty(one)){
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject2 = new LambdaQueryWrapper<>();
queryPayMailBillProject2.eq(PayMailBillProject::getProjectId,one.getProjectId());
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject2);
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject2 = new LambdaQueryWrapper<>();
queryPayMailBillProject2.eq(PayMailBillProject::getProjectId,one.getProjectId());
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject2);
// 开票金额
BigDecimal invoice = new BigDecimal("0.00");
// 开票次数
int c = listPayMailBillProject.size();
// 邮寄次数
int y = 0;
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
invoice = invoice.add(b);
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
queryPayMailBill.in(PayMailBill::getId,list);
queryPayMailBill.eq(PayMailBill::getPostStatus, ProjectCommon.POST_STATUS1);
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
y = listPayMailBill.size();
}
//获取项目应收金额
BigDecimal receivableAmount = new BigDecimal("0.00");
// 开票金额
BigDecimal invoice = new BigDecimal("0.00");
// 开票次数
int c = listPayMailBillProject.size();
// 邮寄次数
int y = 0;
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
BigDecimal b = listPayMailBillProject.stream().map(PayMailBillProject::getInvoiceAmount).reduce(BigDecimal.ZERO,BigDecimal::add);
invoice = invoice.add(b);
List<String> list = listPayMailBillProject.stream().map(PayMailBillProject::getBillId).collect(Collectors.toList());
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
queryPayMailBill.in(PayMailBill::getId,list);
queryPayMailBill.eq(PayMailBill::getPostStatus, ProjectCommon.POST_STATUS1);
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
y = listPayMailBill.size();
}
//获取项目应收金额
BigDecimal receivableAmount = new BigDecimal("0.00");
//判断变更那个项目的邮寄状态
if(GlobalConstants.ONE.equals(one.getProjectType())){
receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();
PayCommonProject payCommonProject = new PayCommonProject();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.ONE);
payCommonProjectService.updateById(payCommonProject);
}else if(y<=c&&y>0){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.TWO);
payCommonProjectService.updateById(payCommonProject);
//判断变更那个项目的邮寄状态
if(GlobalConstants.ONE.equals(one.getProjectType())){
receivableAmount= payCommonProjectService.getById(one.getProjectId()).getReceivableAmount();
PayCommonProject payCommonProject = new PayCommonProject();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.ONE);
payCommonProjectService.updateById(payCommonProject);
}else if(y<=c&&y>0){
payCommonProject.setId(one.getProjectId());
payCommonProject.setMail(constant.TWO);
payCommonProjectService.updateById(payCommonProject);
}
}else if(GlobalConstants.TWO.equals(one.getProjectType())) {
receivableAmount=payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.ONE);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}else if(y<=c&&y>0){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.TWO);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
}else if (GlobalConstants.THERE.equals(one.getProjectType())) {
receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.ONE);
payMeetingSituationService.updateById(payMeetingSituation);
}else if(y<=c&&y>0){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.TWO);
payMeetingSituationService.updateById(payMeetingSituation);
}
}else if (GlobalConstants.FORE.equals(one.getProjectType())) {
receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.ONE);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}else if(y<=c&&y>0){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.TWO);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}
}else if (GlobalConstants.FIVE.equals(one.getProjectType())){
receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.ONE);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}else if(y<=c&&y>0){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.TWO);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}
//推送邮寄数据到会员系统
payMailBillService.pushSendToStandards(payMailBill,one.getProjectId());
}
}else if(GlobalConstants.TWO.equals(one.getProjectType())) {
receivableAmount=payWorkingGroupSubItemService.getById(one.getProjectId()).getReceivableAmount();
PayWorkingGroupSubItem payWorkingGroupSubItem = new PayWorkingGroupSubItem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.ONE);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}else if(y<=c&&y>0){
payWorkingGroupSubItem.setId(one.getProjectId());
payWorkingGroupSubItem.setMail(constant.TWO);
payWorkingGroupSubItemService.updateById(payWorkingGroupSubItem);
}
}else if (GlobalConstants.THERE.equals(one.getProjectType())) {
receivableAmount= payMeetingSituationService.getById(one.getProjectId()).getAmountReceivable();
PayMeetingSituation payMeetingSituation = new PayMeetingSituation();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.ONE);
payMeetingSituationService.updateById(payMeetingSituation);
}else if(y<=c&&y>0){
payMeetingSituation.setId(one.getProjectId());
payMeetingSituation.setMail(constant.TWO);
payMeetingSituationService.updateById(payMeetingSituation);
}
}else if (GlobalConstants.FORE.equals(one.getProjectType())) {
receivableAmount= payMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
PayMemberProjectSubitem payMemberProjectSubitem = new PayMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.ONE);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}else if(y<=c&&y>0){
payMemberProjectSubitem.setId(one.getProjectId());
payMemberProjectSubitem.setMail(constant.TWO);
payMemberProjectSubitemService.updateById(payMemberProjectSubitem);
}
}else if (GlobalConstants.FIVE.equals(one.getProjectType())){
receivableAmount=tbMemberProjectSubitemService.getById(one.getProjectId()).getAmountReceivable();
TbMemberProjectSubitem tbMemberProjectSubitem = new TbMemberProjectSubitem();
if(receivableAmount.compareTo(invoice)==0 && c==y){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.ONE);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}else if(y<=c&&y>0){
tbMemberProjectSubitem.setId(one.getProjectId());
tbMemberProjectSubitem.setMail(constant.TWO);
tbMemberProjectSubitemService.updateById(tbMemberProjectSubitem);
}
//推送邮寄数据到会员系统
payMailBillService.pushSendToStandards(payMailBill,one.getProjectId());
}
return Result.OK("编辑成功!");
}
@@ -2,6 +2,11 @@ package com.jero.meeting.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.ibatis.annotations.Param;
import com.jero.meeting.entity.PayMeetingSituation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -13,5 +18,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
* @Version: V1.0
*/
public interface PayMeetingSituationMapper extends BaseMapper<PayMeetingSituation> {
}
/**
* 全所统计
* @param
* @param allProjectStatisticsSearch
* @return
*/
List<AllProjectStatistics> queryPageList3(@Param("allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -50,4 +50,55 @@
<result column="make_invoice" property="makeInvoice" />
<result column="mail" property="mail" />
</resultMap>
<select id="queryPageList3" resultType="com.jero.statistics.entity.AllProjectStatistics">
SELECT
pm.meeting_name AS projectName,
pm.director_name as principalName,
pms.company_name AS chargeCompanyTemporaryName,
pms.allMoney,
pms.comeAllMoney,
pms.charge_use as chargeUse
FROM pay_meeting pm left join (select id,meeting_id,company_name,charge_use,in_account,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS comeAllMoney
from pay_meeting_situation GROUP BY meeting_id) pms on(pm.id=pms.meeting_id)
left join pay_payment_record ppr on(pms.id=ppr.project_id)
<where>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND pm.meeting_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.projectName},'%'))
</if>
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
AND pms.charge_use=#{allProjectStatisticsSearch.chargeUse}
</if>
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
AND pms.company_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.chargeCompanyTemporaryName},'%'))
</if>
<if test="allProjectStatisticsSearch.inAccountStatue != null and allProjectStatisticsSearch.inAccountStatue != ''">
AND pms.in_account=#{allProjectStatisticsSearch.inAccountStatue}
</if>
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{allProjectStatisticsSearch.year},'%'))
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND pm.director_id=#{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
AND pms.pack=#{allProjectStatisticsSearch.pack}
</if>
<choose>
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pms.allMoney > #{allProjectStatisticsSearch.allMoney} and pms.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</when>
<otherwise>
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
AND pms.allMoney > #{allProjectStatisticsSearch.allMoney}
</if>
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pms.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
</select>
</mapper>
@@ -1,11 +1,16 @@
package com.jero.meeting.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.meeting.entity.PayMeetingSituation;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.meeting.vo.AddDockVO;
import com.jero.meeting.vo.MergePayBillVO;
import com.jero.meeting.vo.CheckVO;
import com.jero.meeting.vo.PayMeetingSituationVO;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import java.util.List;
@@ -54,4 +59,6 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
void check(CheckVO checkVO);
void mergePayBill(MergePayBillVO mergePayBillVO);
List<AllProjectStatistics> queryPageList3( AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -2,6 +2,8 @@ package com.jero.meeting.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
@@ -25,7 +27,10 @@ import com.jero.meeting.vo.*;
import com.jero.payment.entity.PayPaymentRecord;
import com.jero.payment.service.IPayPaymentRecordService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.standards.memberinfo.service.IMemberInfoService;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
@@ -71,6 +76,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
private IPayMailBillService payMailBillService;
@Resource
private IPayPaymentRecordService payPaymentRecordService;
@Resource
private PayMeetingSituationMapper payMeetingSituationMapper;
/**
* 保存
@@ -234,6 +241,17 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
// payMailBillService.addPayBill(payMailBill, projectIds.toString(), PayIncomeContractCommon.PROJECT_TYPE3,allAmount.toString());
}
/**
* 全所统计
* @param
* @param allProjectStatisticsSearch
* @return
*/
@Override
public List<AllProjectStatistics> queryPageList3( AllProjectStatisticsSearch allProjectStatisticsSearch) {
return payMeetingSituationMapper.queryPageList3(allProjectStatisticsSearch);
}
/**
* 更新
*/
@@ -4,8 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.member.entity.PayMemberProject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: 会员项目表
* @Author: jero-boot
@@ -13,6 +18,13 @@ import org.apache.ibatis.annotations.Param;
* @Version: V1.0
*/
public interface PayMemberProjectMapper extends BaseMapper<PayMemberProject> {
/**
* 全所统计
* @param
* @param allProjectStatisticsSearch
* @return
*/
List<AllProjectStatistics> queryPageList3( @Param("allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch);
/**
* @Description 查询与收入合同企业一致的数据
@@ -2,6 +2,11 @@ package com.jero.member.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.ibatis.annotations.Param;
import com.jero.member.entity.TbMemberProject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
@@ -14,4 +19,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface TbMemberProjectMapper extends BaseMapper<TbMemberProject> {
List<AllProjectStatistics> queryPageList3(@Param("allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -16,6 +16,57 @@
<result column="charge_notice_file_id" property="chargeNoticeFileId" />
<result column="remark" property="remark" />
</resultMap>
<select id="queryPageList3" resultType="com.jero.statistics.entity.AllProjectStatistics">
SELECT
pmp.project_name AS projectName,
pmp.director_name as principalName,
pmps.company_name AS chargeCompanyTemporaryName,
pmps.allMoney,
pmps.comeAllMoney,
pmps.charge_use as chargeUse
FROM pay_member_project pmp left join (select id,project_id,company_name,in_account,pack,charge_use,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS comeAllMoney
from pay_member_project_subitem GROUP BY project_id) pmps on(pmp.id=pmps.project_id)
left join pay_payment_record ppr on(pmps.id=ppr.project_id)
<where>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND pmp.project_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.projectName},'%'))
</if>
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
AND pmps.charge_use=#{allProjectStatisticsSearch.chargeUse}
</if>
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
AND pmps.company_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.chargeCompanyTemporaryName},'%'))
</if>
<if test="allProjectStatisticsSearch.inAccountStatue != null and allProjectStatisticsSearch.inAccountStatue != ''">
AND pmps.in_account=#{allProjectStatisticsSearch.inAccountStatue}
</if>
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{allProjectStatisticsSearch.year},'%'))
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND pmp.director_id=#{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
AND pmps.pack=#{allProjectStatisticsSearch.pack}
</if>
<choose>
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pmps.allMoney > #{allProjectStatisticsSearch.allMoney} and pmps.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</when>
<otherwise>
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
AND pmps.allMoney > #{allProjectStatisticsSearch.allMoney}
</if>
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pmps.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
</select>
<select id="queryListByCompany" resultType="com.jero.member.entity.PayMemberProject">
SELECT pmp.*,#{projectType} AS projectType FROM pay_member_project_subitem pmps
LEFT JOIN pay_member_project pmp ON pmp.id = pmps.project_id
@@ -9,4 +9,55 @@
<result column="update_time" property="updateTime" />
<result column="project_name" property="projectName" />
</resultMap>
<select id="queryPageList3" resultType="com.jero.statistics.entity.AllProjectStatistics">
SELECT
tmp.project_name AS projectName,
-- tmp.principal_name as principalName,
tmps.company_name AS chargeCompanyTemporaryName,
tmps.allMoney,
tmps.comeAllMoney,
tmps.charge_use as chargeUse
FROM tb_member_project tmp left join (select id,project_id,company_name,charge_use,in_account,SUM(amount_receivable) AS allMoney,SUM(paid_amount) AS comeAllMoney
from tb_member_project_subitem GROUP BY project_id) tmps on(tmp.id=tmps.project_id)
left join pay_payment_record ppr on(tmps.id=ppr.project_id)
<where>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND tmp.project_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.projectName},'%'))
</if>
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
AND tmps.charge_use=#{allProjectStatisticsSearch.chargeUse}
</if>
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
AND tmps.company_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.chargeCompanyTemporaryName},'%'))
</if>
<if test="allProjectStatisticsSearch.inAccountStatue != null and allProjectStatisticsSearch.inAccountStatue != ''">
AND tmps.in_account=#{allProjectStatisticsSearch.inAccountStatue}
</if>
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{allProjectStatisticsSearch.year},'%'))
</if>
<!-- <if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">-->
<!-- AND tmp.principal_id=#{allProjectStatisticsSearch.principalNameId}-->
<!-- </if>-->
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
AND tmps.pack=#{allProjectStatisticsSearch.pack}
</if>
<choose>
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND tmps.allMoney > #{allProjectStatisticsSearch.allMoney} and tmps.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</when>
<otherwise>
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
AND tmps.allMoney > #{allProjectStatisticsSearch.allMoney}
</if>
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND tmps.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
</select>
</mapper>
@@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.member.entity.PayMemberProject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.project.common.PayProjectCommon;
import java.util.List;
@@ -72,6 +76,8 @@ public interface IPayMemberProjectService extends IService<PayMemberProject> {
*/
IPage<PayMemberProject> getPage(Page<PayMemberProject> page, QueryWrapper<PayMemberProject> queryWrapper);
List<AllProjectStatistics> queryPageList3(AllProjectStatisticsSearch allProjectStatisticsSearch);
/**
* @Description 查询与收入合同企业一致的数据
* @Author lqt
@@ -1,7 +1,13 @@
package com.jero.member.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.member.entity.TbMemberProject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import java.util.List;
/**
@@ -58,4 +64,12 @@ public interface ITbMemberProjectService extends IService<TbMemberProject> {
* @return
*/
List<TbMemberProject> queryList();
/**
* 全所统计
* @param
* @param allProjectStatisticsSearch
* @return
*/
List<AllProjectStatistics> queryPageList3(AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -14,6 +14,9 @@ import com.jero.member.service.IPayMemberProjectService;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.project.entity.PayWorkingGroupSubItem;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -34,10 +37,11 @@ import javax.annotation.Resource;
*/
@Service
public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProjectMapper, PayMemberProject> implements IPayMemberProjectService {
@Resource
private PayMemberProjectMapper payMemberProjectMapper;
@Resource
private SysUserMapper userMapper;
@Resource
private PayMemberProjectMapper payMemberProjectMapper;
@Autowired
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Resource
@@ -163,6 +167,17 @@ public class PayPayMemberProjectServiceImpl extends ServiceImpl<PayMemberProject
return memberProjectPage;
}
/**
* 全所统计
* @param
* @param allProjectStatisticsSearch
* @return
*/
@Override
public List<AllProjectStatistics> queryPageList3( AllProjectStatisticsSearch allProjectStatisticsSearch) {
return payMemberProjectMapper.queryPageList3(allProjectStatisticsSearch);
}
@Override
public IPage<PayMemberProject> queryListByCompany(Page<PayMemberProject> page,String companyId, String memberName, String projectType,Integer pack,String packYear) {
return payMemberProjectMapper.queryListByCompany(page,companyId,memberName,projectType, pack, packYear);
@@ -5,6 +5,8 @@ import com.jero.common.exception.JeroBootException;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.member.entity.PayMemberProjectSubitem;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.member.entity.TbMemberProject;
import com.jero.member.entity.TbMemberProjectSubitem;
import com.jero.member.mapper.TbMemberProjectMapper;
@@ -12,6 +14,9 @@ import com.jero.member.service.ITbMemberProjectService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@@ -33,6 +38,8 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
@Resource
private ITbMemberProjectSubitemService tbMemberProjectSubitemService;
@Resource
private TbMemberProjectMapper tbMemberProjectMapper;
/**
* 保存
*/
@@ -107,4 +114,15 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
public List<TbMemberProject> queryList() {
return list();
}
/**
* 全所查询
* @param
* @param allProjectStatisticsSearch
* @return
*/
@Override
public List<AllProjectStatistics> queryPageList3( AllProjectStatisticsSearch allProjectStatisticsSearch) {
return tbMemberProjectMapper.queryPageList3(allProjectStatisticsSearch);
}
}
@@ -1,4 +1,4 @@
package com.jero.statistics.controller;
package com.jero.project.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -21,7 +21,7 @@ import com.jero.util.AmountUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.poi.hssf.record.DVALRecord;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
@@ -94,10 +94,12 @@ public class PayWorkingGroupStatisticsController {
List<PayWorkingGroupStatistics> records = pageList.getRecords();
//去除项目下来款金额为零的工作组
ArrayList<PayWorkingGroupStatistics> list = new ArrayList<>();
for(PayWorkingGroupStatistics payWorkingGroupStatistics:records){
if (!(payWorkingGroupStatistics.getComeAllMoney().equals("0") || payWorkingGroupStatistics.getComeAllMoney() == null)) {
list.add(payWorkingGroupStatistics);
}
for(PayWorkingGroupStatistics payWorkingGroupStatistics:records) {
if (ObjectUtils.isNotEmpty(payWorkingGroupStatistics)) {
if (!("0".equals(payWorkingGroupStatistics.getComeAllMoney()) || payWorkingGroupStatistics.getComeAllMoney() == null)) {
list.add(payWorkingGroupStatistics);
}
}
}
//计算应收和实收总金额
double sum = list.stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney()==null ? "0.00" : t.getAllMoney())).sum();
@@ -0,0 +1,31 @@
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/13 10:45
*/
@Data
public class PayWorkingGroupSerach {
@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 int year;
}
@@ -17,7 +17,7 @@ public class PayWorkingGroupStatistics {
@ApiModelProperty(value = "主键")
private String id;
@Excel(name = "负责人", width = 15)
@ApiModelProperty(value = "负责人")
@ApiModelProperty(value = "工作组")
private String workGroup;
@Excel(name = "应收总金额", width = 15)
@ApiModelProperty(value = "应收总金额")
@@ -4,8 +4,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayCommonProject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @Description: pay_common_project
* @Author: jeecg-boot
@@ -23,4 +28,12 @@ public interface PayCommonProjectMapper extends BaseMapper<PayCommonProject> {
*/
IPage<PayCommonProject> queryPageList(Page<PayCommonProject> page, @Param("payCommonProject") PayCommonProject payCommonProject,
@Param("paymentDate") String paymentDate);
/**
* 全所统计
* @param
* @param allProjectStatisticsSearch
* @return
*/
List<AllProjectStatistics> queryPageList3(@Param("allProjectStatisticsSearch")AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -2,11 +2,14 @@ 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.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;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -71,4 +74,14 @@ public interface PayWorkingGroupMapper extends BaseMapper<PayWorkingGroup> {
List<String> getGroupList();
/**
* @Description 全所统计导出
* @Author zql
* @Date 2021/9/17
* @Param
* @Return
* @Exception
*/
List<AllProjectStatistics> queryPageList3(@Param(value = "allProjectStatisticsSearch") AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -7,6 +7,8 @@ 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 com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -67,4 +67,53 @@
</where>
GROUP BY pcp.id ORDER BY pcp.create_time DESC
</select>
<select id="queryPageList3" resultType="com.jero.statistics.entity.AllProjectStatistics">
SELECT
pcp.charge_project AS projectName,
pcp.principal_name as principalName,
pcp.charge_company_temporary_name AS chargeCompanyTemporaryName,
pcp.receivable_amount as allMoney,
pcp.paid_amount as comeAllMoney,
pcp.charge_use as chargeUse
FROM pay_common_project pcp left join pay_payment_record ppr on(pcp.id=ppr.project_id)
<where>
<if test="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND pcp.charge_project LIKE
concat('%',concat(#{allProjectStatisticsSearch.projectName},'%'))
</if>
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
AND pcp.charge_use=#{allProjectStatisticsSearch.chargeUse}
</if>
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
AND pcp.charge_company_temporary_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.chargeCompanyTemporaryName},'%'))
</if>
<if test="allProjectStatisticsSearch.inAccountStatue != null and allProjectStatisticsSearch.inAccountStatue != ''">
AND pcp.in_account=#{allProjectStatisticsSearch.inAccountStatue}
</if>
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{allProjectStatisticsSearch.year},'%'))
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND pcp.principal_id=#{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
AND pcp.pack=#{allProjectStatisticsSearch.pack}
</if>
<choose>
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pcp.receivable_amount > #{allProjectStatisticsSearch.allMoney} and pcp.receivable_amount <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</when>
<otherwise>
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
AND pcp.receivable_amount > #{allProjectStatisticsSearch.allMoney}
</if>
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pcp.receivable_amount <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
</select>
</mapper>
@@ -110,10 +110,11 @@
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
<if test="joint != null and joint != ''">
working_group_id in (joint)
</if>
<where>
<if test="joint != null and joint != ''">
working_group_id in (joint)
</if>
</where>
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>
@@ -139,6 +140,58 @@
</where>
group by pwg.id
</select>
<select id="queryPageList3" resultType="com.jero.statistics.entity.AllProjectStatistics">
SELECT
pwg.id,
pwg.working_group_project AS projectName,
pwg.principal_name_a as principalName,
pwgs.charge_company_temporary_name AS chargeCompanyTemporaryName,
pwgs.allMoney,
pwgs.comeAllMoney,
pwgs.charge_use as chargeUse
FROM pay_working_group pwg left join (select id,working_group_id,charge_company_temporary_name,charge_use,in_account,SUM(receivable_amount) AS allMoney,SUM(paid_amount) AS comeAllMoney
from pay_working_group_subitem 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="allProjectStatisticsSearch.projectName != null and allProjectStatisticsSearch.projectName != ''">
AND pwg.working_group_project LIKE
concat('%',concat(#{allProjectStatisticsSearch.projectName},'%'))
</if>
<if test="allProjectStatisticsSearch.chargeUse != null and allProjectStatisticsSearch.chargeUse != ''">
AND pwgs.charge_use=#{allProjectStatisticsSearch.chargeUse}
</if>
<if test="allProjectStatisticsSearch.chargeCompanyTemporaryName != null and allProjectStatisticsSearch.chargeCompanyTemporaryName != ''">
AND pwgs.charge_company_temporary_name LIKE
concat('%',concat(#{allProjectStatisticsSearch.chargeCompanyTemporaryName},'%'))
</if>
<if test="allProjectStatisticsSearch.inAccountStatue != null and allProjectStatisticsSearch.inAccountStatue != ''">
AND pwgs.in_account=#{allProjectStatisticsSearch.inAccountStatue}
</if>
<if test="allProjectStatisticsSearch.year != null and allProjectStatisticsSearch.year != ''">
AND date_format(ppr.payment_date,'%Y-%m-%d') LIKE concat('%',concat(#{allProjectStatisticsSearch.year},'%'))
</if>
<if test="allProjectStatisticsSearch.principalNameId != null and allProjectStatisticsSearch.principalNameId != ''">
AND pwg.principal_id_a=#{allProjectStatisticsSearch.principalNameId}
</if>
<if test="allProjectStatisticsSearch.pack != null and allProjectStatisticsSearch.pack != ''">
AND pwgs.pack=#{allProjectStatisticsSearch.pack}
</if>
<choose>
<when test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != '' and allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pwgs.allMoney > #{allProjectStatisticsSearch.allMoney} and pwgs.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</when>
<otherwise>
<if test="allProjectStatisticsSearch.allMoney != null and allProjectStatisticsSearch.allMoney != ''">
AND pwgs.allMoney > #{allProjectStatisticsSearch.allMoney}
</if>
<if test="allProjectStatisticsSearch.allMoneyTwo != null and allProjectStatisticsSearch.allMoneyTwo != ''">
AND pwgs.allMoney <![CDATA[<]]> #{allProjectStatisticsSearch.allMoneyTwo}
</if>
</otherwise>
</choose>
</where>
group by pwg.id
</select>
<select id="queryPageListForStatisticsExcel" resultType="com.jero.project.entity.PayWorkingGroupStatistics">
SELECT
pwg.id,
@@ -112,6 +112,7 @@
</where>
group by pwgs.id
</select>
<select id="importExcelStatistics" resultType="com.jero.project.entity.PayWorkGroupSubletStatistics">
SELECT
pwgs.id,
@@ -4,6 +4,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.project.entity.PayCommonProject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import java.util.List;
/**
* @Description: pay_common_project
@@ -40,4 +45,12 @@ public interface IPayCommonProjectService extends IService<PayCommonProject> {
* @Exception
*/
void editPayCommonProject(PayCommonProject payCommonProject);
/**
* 全所统计
* @param
* @param allProjectStatisticsSearch
* @return
*/
List<AllProjectStatistics> queryPageList3(AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -2,11 +2,14 @@ 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.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;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import java.util.List;
@@ -103,4 +106,5 @@ public interface IPayWorkingGroupService extends IService<PayWorkingGroup> {
*/
void setPayWorkingGroup(PayWorkingGroup payWorkingGroup);
List<AllProjectStatistics> queryPageList3( AllProjectStatisticsSearch allProjectStatisticsSearch);
}
@@ -7,6 +7,8 @@ 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 com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
@@ -76,4 +78,5 @@ public interface IPayWorkingGroupSubItemService extends IService<PayWorkingGroup
List<PayWorkGroupSubletStatistics> importExcelStatistics(String id);
}
@@ -19,9 +19,12 @@ import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.entity.PayCommonProject;
import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
@@ -195,6 +198,11 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
payCommonProjectService.updateById(payCommonProject);
}
@Override
public List<AllProjectStatistics> queryPageList3(AllProjectStatisticsSearch allProjectStatisticsSearch) {
return payCommonProjectMapper.queryPageList3(allProjectStatisticsSearch);
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
@@ -9,15 +9,14 @@ import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.modules.system.entity.SysUser;
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.entity.*;
import com.jero.project.service.IPayWorkingGroupDataFileService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.project.vo.PayWorkingGroupVO;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.mapper.PayWorkingGroupMapper;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -165,6 +164,11 @@ public class PayWorkingGroupServiceImpl extends ServiceImpl<PayWorkingGroupMappe
}
}
@Override
public List<AllProjectStatistics> queryPageList3(AllProjectStatisticsSearch allProjectStatisticsSearch) {
return payWorkingGroupMapper.queryPageList3(allProjectStatisticsSearch);
}
/**
* @Description 校验是存在关联合同的项目
* @Author lqt
@@ -22,6 +22,8 @@ import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import com.jero.project.vo.SetChargeInput;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.temporary.entity.PayCompanyManagementTemporary;
import com.jero.temporary.entity.PayContactsManagementTemporary;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
@@ -490,6 +492,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
}
}
@Override
public IPage<PayWorkGroupSubletStatistics> queryPageList2(Page<PayWorkGroupSubletStatistics> page, PayWorkingGroupSubletSearch payWorkingGroupSubletSearch) {
return payWorkingGroupSubItemMapper.queryPageList2(page,payWorkingGroupSubletSearch);
@@ -500,6 +503,7 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
return payWorkingGroupSubItemMapper.importExcelStatistics(id);
}
/**
* @Description 插入企业信息,联系人信息到临时表,更新项目记录
* @Author lqt
@@ -3,20 +3,33 @@ package com.jero.statistics.controller;
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.system.api.ISysBaseAPI;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.member.service.IPayMemberProjectService;
import com.jero.member.service.IPayMemberProjectSubitemService;
import com.jero.member.service.ITbMemberProjectService;
import com.jero.member.service.ITbMemberProjectSubitemService;
import com.jero.project.entity.PayWorkGroupSubletStatistics;
import com.jero.project.entity.PayWorkingGroupSubletSearch;
import com.jero.project.service.IPayCommonProjectService;
import com.jero.project.service.IPayWorkingGroupService;
import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import com.jero.util.AmountUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
/**
* @author zql
@@ -28,44 +41,111 @@ import java.util.HashMap;
@Slf4j
public class AllProjectStatisticsController {
// /**
// * 分页列表查询
// *
// * @param payWorkingGroupSubletSearch 全统计搜索
// * @param pageNo 页数
// * @param pageSize 条数
// *
// */
// @ApiOperation(value = "全统计搜索-分页列表查询", notes = "全统计搜索-详情分页列表查询")
// @GetMapping(value = "/list")
// public Result<?> list(AllProjectStatisticsSearch allProjectStatisticsSearch,
// @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
// @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
// Page<PayWorkGroupSubletStatistics> page = new Page<>(pageNo, pageSize);
// if(allProjectStatisticsSearch.getYear()==null|| allProjectStatisticsSearch.getYear().equals("")){
// Calendar calendar= Calendar.getInstance();
// String year = String.valueOf(calendar.get(Calendar.YEAR));
// allProjectStatisticsSearch.setYear(year);
// }
//
//
//
// 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> hashMap = new HashMap<>();
// DecimalFormat df = new DecimalFormat("#.00");
// for(PayWorkGroupSubletStatistics s: pageList.getRecords()){
// String key = String.valueOf(s.getChargeUse());
// String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key);
// s.setChargeUse_text(payment_charge_use);
// }
// hashMap.put("pageList",pageList);
// hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
// hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
// return Result.OK(hashMap);
// }
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private IPayWorkingGroupService payWorkingGroupService;
@Autowired
private IPayCommonProjectService payCommonProjectService;
@Autowired
private IPayMemberProjectService payMemberProjectService;
@Autowired
private IPayMeetingSituationService payMeetingSituationService;
@Autowired
private ITbMemberProjectService tbMemberProjectService;
/**
* 分页列表查询
*
* @param allProjectStatisticsSearch 全统计搜索
* @param pageNo 页数
* @param pageSize 条数
*/
@ApiOperation(value = "全统计搜索-分页列表查询", notes = "全统计搜索-详情分页列表查询")
@PostMapping(value = "/list")
public Result<?> list(AllProjectStatisticsSearch allProjectStatisticsSearch,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
}
if (allProjectStatisticsSearch.getYear() == null || allProjectStatisticsSearch.getYear().equals("")) {
Calendar calendar = Calendar.getInstance();
String year = String.valueOf(calendar.get(Calendar.YEAR));
allProjectStatisticsSearch.setYear(year);
}
List<AllProjectStatistics> pageList = payWorkingGroupService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList2 = payCommonProjectService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList3 = payMemberProjectService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList4 = payMeetingSituationService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList5 = tbMemberProjectService.queryPageList3(allProjectStatisticsSearch);
pageList4.addAll(pageList5);
pageList3.addAll(pageList4);
pageList2.addAll(pageList3);
pageList.addAll(pageList2);
int total = pageList.size();
int pageTotal =total/pageSize+1;
List<AllProjectStatistics> allProjectStatistics=null;
if(total>=pageSize * pageNo){
allProjectStatistics = pageList.subList(pageSize * (pageNo - 1), pageSize * pageNo-1);
}else if((pageNo-1)*pageSize<total && total<pageSize * pageNo) {
allProjectStatistics = pageList.subList(pageSize * (pageNo - 1), total-1);
}
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("pageNo",pageNo);
hashMap.put("pageSize",pageSize);
hashMap.put("total",total);
hashMap.put("pageTotal",pageTotal);
hashMap.put("records",allProjectStatistics);
double sum = allProjectStatistics != null ? allProjectStatistics.stream().mapToDouble(t -> Double.parseDouble(t.getAllMoney() == null ? "0" : t.getAllMoney())).sum() : 0;
double sum2 = allProjectStatistics != null ? allProjectStatistics.stream().mapToDouble(t -> Double.parseDouble(t.getComeAllMoney() == null ? "0" : t.getComeAllMoney())).sum() : 0;
DecimalFormat df = new DecimalFormat("#.00");
if (allProjectStatistics != null) {
for(AllProjectStatistics s: allProjectStatistics){
String key = String.valueOf(s.getChargeUse());
String payment_charge_use = sysBaseAPI.translateDict("payment_charge_use", key);
s.setChargeUse_text(payment_charge_use);
}
}
hashMap.put("sumOfMoney", sum==0.0?sum:df.format(sum));
hashMap.put("sumOfReallyMoney", sum2==0.0?sum2:df.format(sum2));
return Result.OK(hashMap);
}
/**
*所领导统计
* @param
*
*/
@GetMapping(value = "/statistics/excel")
@ApiOperation(value = "所领导统计-导出统计", notes = "所领导统计-导出统计")
public ModelAndView excel() {
AllProjectStatisticsSearch allProjectStatisticsSearch=new AllProjectStatisticsSearch();
List<AllProjectStatistics> pageList = payWorkingGroupService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList2 = payCommonProjectService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList3 = payMemberProjectService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList4 = payMeetingSituationService.queryPageList3(allProjectStatisticsSearch);
List<AllProjectStatistics> pageList5 = tbMemberProjectService.queryPageList3(allProjectStatisticsSearch);
pageList4.addAll(pageList5);
pageList3.addAll(pageList4);
pageList2.addAll(pageList3);
pageList.addAll(pageList2);
return AmountUtil.exportListXls(pageList, AllProjectStatistics.class, "所领导统计");
}
}
@@ -0,0 +1,44 @@
package com.jero.statistics.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @author zql
* @date 2021/9/17 18:04
*/
@Data
public class AllProjectStatistics {
@Excel(name = "项目负责人", width = 15)
@ApiModelProperty(value = "项目负责人")
private String principalName;
@Excel(name = "科室", width = 15)
@ApiModelProperty(value = "科室")
private String depart;
@Excel(name = "来款项目", width = 15)
@ApiModelProperty(value = "来款单位")
private String chargeCompanyTemporaryName;
@Excel(name = "来款项目", width = 15)
@ApiModelProperty(value = "来款项目")
private String projectName;
@Excel(name = "应收总金额", width = 15)
@ApiModelProperty(value = "应收总金额")
private String allMoney;
@Excel(name = "实收总金额", width = 15)
@ApiModelProperty(value = "实收总金额")
private String comeAllMoney;
@Excel(name = "来款用途", width = 15,dicCode = "charge_use")
@ApiModelProperty(value = "来款用途编码")
private String chargeUse;
@ApiModelProperty(value = "来款用途")
private String ChargeUse_text;
}
@@ -14,9 +14,6 @@ import java.math.BigDecimal;
@Data
public class AllProjectStatisticsSearch {
@ApiModelProperty(value = "工作组id")
private String id;
@ApiModelProperty(value = "来款项目")
private String projectName;
@@ -40,13 +37,13 @@ public class AllProjectStatisticsSearch {
private String payStatue;
@ApiModelProperty(value = "来款用途")
private int chargeUse;
private String chargeUse;
@ApiModelProperty(value = "打包")
private int pack;
private String pack;
@ApiModelProperty(value = "付款状态")
private int inAccountStatue;
private String inAccountStatue;
@ApiModelProperty(value = "项目负责人id")
private String principalNameId;
@@ -0,0 +1,42 @@
package com.jero.util;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.exception.JeroBootException;
import com.jero.common.util.RestUtil;
import org.springframework.beans.factory.annotation.Value;
/**
* @author liJiaRao
* @date 2021-09-10 9:58
*/
public class standardsUtil {
@Value("${standards.url}")
private static String url;
@Value("${standards.token}")
private static String token;
public static String getRSAPublicKey(){
JSONObject jsonObject = RestUtil.get(url + "/sys/getRSAPublicKey");
if (jsonObject.getBoolean("success")) {
return jsonObject.getString("result");
}else {
throw new JeroBootException("调用会员系统出错");
}
}
/**
* RSA 使用公钥加密token
* @param RSAPublicKey 公钥
* @return String 加密后的字符串
*/
public static String encryptByRsaPriKey(String RSAPublicKey) {
RSA rsa = new RSA(null, RSAPublicKey);
byte[] encrypt = rsa.encrypt(token, KeyType.PublicKey);
return new String(encrypt);
}
}