修改bug#40897

This commit is contained in:
梁琦涛
2021-10-18 18:12:21 +08:00
parent a0df1d8c97
commit ac05b68f35
6 changed files with 63 additions and 45 deletions
@@ -22,9 +22,6 @@
LEFT JOIN pay_member_project pmp ON pmp.id = pmps.project_id
LEFT JOIN pay_pack_company_project ppcp ON ppcp.project_id = pmps.id
LEFT JOIN pay_pack_company ppc ON ppc.id = ppcp.pack_id
<if test="pack == 1 and packYear != '' and packYear != null">
AND ppc.pack_year=#{packYear}
</if>
LEFT JOIN pay_income_contract_associated pica ON pica.project_id = pmps.id
WHERE pmps.company_id =#{companyId} AND pmp.id IS NOT NULL AND pmp.id != ''
AND (pica.id is null OR pica.id = '')
@@ -32,7 +29,7 @@
AND pmp.project_name like concat('%',concat(#{memberName},'%'))
</if>
<if test="pack == 1 and packYear != '' and packYear != null">
AND (ppc.id is null OR ppc.id ='')
AND (ppc.pack_year=#{packYear} or ppc.id is null OR ppc.id ='')
</if>
GROUP BY pmp.id ORDER BY pmp.create_time DESC
</select>
@@ -280,15 +280,15 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
return Result.error("合同不存在!");
}
LambdaQueryWrapper<PayCommonProject> queryWrapper = new LambdaQueryWrapper<>();
QueryWrapper<PayCommonProject> queryWrapper = new QueryWrapper<>();
if(StringUtils.isBlank(payCommonProject.getChargeCompanyId())){
return Result.error("企业id不能为空!");
}else{
queryWrapper.eq(PayCommonProject::getChargeCompanyId,payCommonProject.getChargeCompanyId());
queryWrapper.eq("pcp.charge_company_id",payCommonProject.getChargeCompanyId());
}
// 负责人不为空
if(!StringUtils.isBlank(payCommonProject.getPrincipalId())){
queryWrapper.eq(PayCommonProject::getPrincipalId,payCommonProject.getPrincipalId());
queryWrapper.eq("pcp.principal_id",payCommonProject.getPrincipalId());
}else{
// 科室不为空&&负责人为空,查询科室下的所有负责人
if(!StringUtils.isBlank(departId)){
@@ -297,48 +297,20 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
List<SysUser> pageList = sysUserService.list(queryUserWrapper);
if(!CollectionUtils.isEmpty(pageList)){
List<String> listUserId = pageList.stream().map(SysUser::getId).collect(Collectors.toList());
queryWrapper.in(PayCommonProject::getPrincipalId,listUserId);
queryWrapper.in("pcp.principal_id",listUserId);
}
}
}
if(!StringUtils.isBlank(payCommonProject.getYear())){
queryWrapper.eq(PayCommonProject::getYear,payCommonProject.getYear());
queryWrapper.eq("pcp.year",payCommonProject.getYear());
}
List<PayCommonProject> list = payCommonProjectService.list(queryWrapper);
List<PayCommonProject> list = payCommonProjectService.queryListByCompany(queryWrapper,PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPack(),payIncomeContract.getPackYear());
List<PayCommonProjectOutput> listNew = new ArrayList<>();
List<PayCommonProjectOutput> listPayCommonProjectOutputNew = new ArrayList<>();
if(!CollectionUtils.isEmpty(list)){
// 查询打包年份的打包企业
List<String> listProject = new ArrayList<>();
if(Objects.equals(payIncomeContract.getPack(),PayProjectCommon.PACKAGING1)){
listProject = payPackCompanyProjectService.queryPackToYear(payIncomeContract.getSignedCompanyId(),PayProjectCommon.PROJECT_TYPE1,payIncomeContract.getPackYear());
}
List<String> listProjectId = list.stream().map(PayCommonProject::getId).collect(Collectors.toList());
// 获取已经关联合同的普通项目
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId, listProjectId);
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectType, PayProjectCommon.PROJECT_TYPE1);
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
List<String> listProjectIdNew = new ArrayList<>();
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
listProjectIdNew = listPayIncomeContractAssociated.stream().map(PayIncomeContractAssociated::getProjectId).collect(Collectors.toList());
}
String str = JSON.toJSONString(list);
listNew = JSONArray.parseArray(str,PayCommonProjectOutput.class);
List<String> finalListProjectId = listProjectIdNew;
List<String> finalListProject = listProject;
listNew.forEach(p->{
// 没有关联合同
if(!CollectionUtils.isEmpty(finalListProjectId) && finalListProjectId.contains(p.getId())){
return;
}
// 去掉已打包&&打包年份不一致的数据
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
&& !finalListProject.contains(p.getId())){
return;
}
if(!Objects.isNull(p.getChargeUse())){
p.setChargeUse_dictText(sysBaseAPI.translateDict("payment_charge_use",String.valueOf(p.getChargeUse())));
}
@@ -1,12 +1,11 @@
package com.jero.project.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
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;
@@ -30,4 +29,18 @@ public interface PayCommonProjectMapper extends BaseMapper<PayCommonProject> {
@Param("paymentDate") String paymentDate);
/**
* @Description 收入合同-列表
* @Author lqt
* @Date 2021/10/18
* @Param queryWrapper
* @Param projectType 项目类型
* @Param pack 打包状态
* @Param packYear 打包年份
* @Return
* @Exception
*/
List<PayCommonProject> queryListByCompany(@Param(Constants.WRAPPER) QueryWrapper<PayCommonProject> queryWrapper,@Param("projectType") String projectType,@Param("pack") Integer pack,@Param("packYear") String packYear);
}
@@ -67,4 +67,25 @@
</where>
GROUP BY pcp.id ORDER BY pcp.create_time DESC
</select>
<select id="queryListByCompany" resultType="com.jero.project.entity.PayCommonProject">
SELECT
pcp.*,
#{projectType} AS projectType
FROM
pay_common_project pcp
LEFT JOIN pay_pack_company_project ppcp ON ppcp.project_id = pcp.id
LEFT JOIN pay_pack_company ppc ON ppc.id = ppcp.pack_id
LEFT JOIN pay_income_contract_associated pica ON pica.project_id = pcp.id
${ew.customSqlSegment}
AND ( ppc.id IS NULL OR ppc.id = '' )
AND ( pica.id IS NULL OR pica.id = '' )
<if test="pack == 1 and packYear != '' and packYear != null">
AND (ppc.pack_year=#{packYear} or ppc.pack_year is null or ppc.pack_year = '')
</if>
GROUP BY
pcp.id
ORDER BY
pcp.create_time DESC
</select>
</mapper>
@@ -1,13 +1,10 @@
package com.jero.project.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.project.vo.PayCommonProjectOutput;
import com.jero.statistics.entity.AllProjectStatistics;
import com.jero.statistics.entity.AllProjectStatisticsSearch;
import java.util.List;
@@ -64,4 +61,16 @@ public interface IPayCommonProjectService extends IService<PayCommonProject> {
* @Exception
*/
void deleteBatch(String ids);
/**
* @Description 收入合同-列表
* @Author lqt
* @Date 2021/10/18
* @Param queryWrapper
* @Param projectType 项目类型
* @Param pack 打包状态
* @Param packYear 打包年份
* @Return
* @Exception
*/
List<PayCommonProject> queryListByCompany(QueryWrapper<PayCommonProject> queryWrapper,String projectType,Integer pack,String packYear);
}
@@ -1,6 +1,7 @@
package com.jero.project.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -231,6 +232,11 @@ public class PayCommonProjectServiceImpl extends ServiceImpl<PayCommonProjectMap
this.payCommonProjectService.removeByIds(Arrays.asList(ids.split(",")));
}
@Override
public List<PayCommonProject> queryListByCompany(QueryWrapper<PayCommonProject> queryWrapper, String projectType, Integer pack, String packYear) {
return payCommonProjectMapper.queryListByCompany(queryWrapper, projectType, pack, packYear);
}
/**
* @Description 删除项目打包关联,临时企业、联系信息
* @Author lqt