打包关联项目

This commit is contained in:
梁琦涛
2021-09-10 18:42:05 +08:00
parent 8af238c27d
commit 916a9fed4b
8 changed files with 101 additions and 8 deletions
@@ -2,6 +2,7 @@ package com.jero.pack.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.jero.pack.common.PackCommon;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.vo.PayPackCompanyProjectInput;
import com.jero.project.entity.PayCommonProject;
@@ -35,4 +36,18 @@ public interface PayPackCompanyProjectMapper extends BaseMapper<PayPackCompanyPr
* @Exception
*/
List<PayCommonProject> queryPackListAll(PayPackCompanyProjectInput input);
/**
* @Description 筛选符合打包年份的项目
* @Author lqt
* @Date 2021/9/10
* @Param companyId 企业id
* @Param projectType 项目类型
* @Param year 年份
* @Return
* @Exception
*/
List<String> queryPackToYear(@Param("companyId") String companyId,@Param("projectType") String projectType,
@Param("year") String year,@Param("come") Integer come);
}
@@ -203,4 +203,11 @@
ORDER BY create_time desc
</select>
<select id="queryPackToYear" resultType="java.lang.String">
SELECT ppcp.project_id
FROM pay_pack_company_project ppcp
LEFT JOIN pay_pack_company ppc ON ppcp.pack_id = ppc.id
WHERE ppcp.project_type =#{projectType} AND ppc.pack_year = #{year} AND ppc.company_id=#{companyId}
AND ppcp.come = #{come}
</select>
</mapper>
@@ -40,4 +40,15 @@ public interface IPayPackCompanyProjectService extends IService<PayPackCompanyPr
* @Exception
*/
void addPayPackCompanyProject(PayPackCompanyProject payPackCompanyProject);
/**
* @Description 筛选符合打包年份的项目
* @Author lqt
* @Date 2021/9/10
* @Param companyId 企业id
* @Param projectType 项目类型
* @Param year 打包年份
* @Return
* @Exception
*/
List<String> queryPackToYear(String companyId,String projectType,String year);
}
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.pack.common.PackCommon;
import com.jero.pack.entity.PayPackCompany;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.mapper.PayPackCompanyProjectMapper;
@@ -85,4 +86,9 @@ public class PayPackCompanyProjectServiceImpl extends ServiceImpl<PayPackCompany
payPackCompanyProjectService.save(payPackCompanyProject);
}
}
@Override
public List<String> queryPackToYear(String companyId,String projectType,String year) {
return payPackCompanyProjectMapper.queryPackToYear(companyId,projectType,year, PackCommon.COME2);
}
}
@@ -25,6 +25,7 @@ import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.service.ISysUserService;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.pack.service.IPayPackCompanyService;
import com.jero.project.common.PayProjectCommon;
import com.jero.project.entity.PayWorkingGroup;
@@ -67,6 +68,8 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
private IPayPackCompanyService payPackCompanyService;
@Autowired
private ISysUserService sysUserService;
@Autowired
private IPayPackCompanyProjectService payPackCompanyProjectService;
/**
* 分页列表查询
*
@@ -136,8 +139,14 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
List<PayCommonProject> list = payCommonProjectService.list(queryWrapper);
List<PayCommonProjectOutput> listNew = new ArrayList<>();
List<PayCommonProjectOutput> listPayCommonProjectOutputNew = new ArrayList<>();
if(!CollectionUtils.isEmpty(list)){
// todo 缺少更具合同打包状态筛选打包年份数据
// 查询打包年份的打包企业
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<>();
@@ -151,12 +160,17 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
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,6 +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;
@@ -16,8 +17,11 @@ import com.jero.common.exception.JeroBootException;
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.vo.PayWorkingGroupPayment;
import com.jero.project.vo.PayWorkingGroupVO;
@@ -55,6 +59,10 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
private ISysUserService sysUserService;
@Autowired
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Autowired
private IPayPackCompanyProjectService payPackCompanyProjectService;
@Autowired
private IPayIncomeContractService payIncomeContractService;
// todo 缺少工作组A,B权限查询
@@ -115,16 +123,38 @@ public class PayWorkingGroupController extends JeroController<PayWorkingGroup, I
@ApiOperation(value="工作组项目-根据成员单位列表查询", notes="工作组项目-根据单位列表查询")
@GetMapping(value = "/queryListByCompany")
public Result<?> queryListByCompany(@RequestParam(name = "companyId") String companyId,
@RequestParam(name = "contractId") String contractId,
@RequestParam(name = "workingGroupProject",required = false) String workingGroupProject,
@RequestParam(name = "year",required = false) String year) {
if(StringUtils.isBlank(companyId)){
return Result.error("企业id不能为空!");
}
List<PayWorkingGroupVO> list = payWorkingGroupService.queryListByCompany(companyId,workingGroupProject,year, PayProjectCommon.PROJECT_TYPE2);
if(!CollectionUtils.isEmpty(list)){
setPayWorkingGroupSubItem(list);
PayIncomeContract payIncomeContract = payIncomeContractService.getById(contractId);
if(Objects.isNull(payIncomeContract)){
return Result.error("合同不存在!");
}
return Result.OK(list);
List<PayWorkingGroupVO> list = payWorkingGroupService.queryListByCompany(companyId,workingGroupProject,year, PayProjectCommon.PROJECT_TYPE2);
List<PayWorkingGroupVO> listNew = 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> finalListProject = listProject;
list.forEach(p->{
// 去掉已打包&&打包年份不一致的数据
if(!CollectionUtils.isEmpty(finalListProject) && Objects.equals(p.getPack(),PayProjectCommon.PACKAGING1)
&& finalListProject.contains(p.getId())){
return;
}
listNew.add(p);
});
}
if(!CollectionUtils.isEmpty(listNew)){
setPayWorkingGroupSubItem(listNew);
}
return Result.OK(listNew);
}
/**
@@ -60,13 +60,15 @@
pwg.create_by AS createBy,
pwg.create_time AS createTime,
pwg.update_by AS updateBy,
pwg.update_time AS updateTime
pwg.update_time AS updateTime,
pwgs.pack,
pwgs.id AS proejctId
FROM pay_working_group_subitem pwgs
LEFT JOIN pay_working_group pwg ON pwg.id = pwgs.working_group_id
WHERE pwg.id is not null AND pwg.id !='' AND pwgs.charge_company_id = #{companyId}
AND pwgs.id NOT IN (SELECT project_id FROM pay_income_contract_associated WHERE project_type=#{projectType})
<if test="workingGroupProject != null and workingGroupProject != ''">
AND pwg.working_group_project LIKE concat('%',concat(#{workingGroupProject},'%'))
AND pwg.working_group_project LIKE concat('%',concat(#{workingGroupProject},'%'))
</if>
<if test="year != null and year != ''">
AND pwg.year = #{year}
@@ -11,4 +11,12 @@ import java.io.Serializable;
@EqualsAndHashCode(callSuper = false)
public class PayWorkingGroupVO extends PayWorkingGroup implements Serializable {
private PayWorkingGroupPayment obj;
/**
* 打包(1:是,0:否)
*/
private String pack;
/**
* 项目id
*/
private String projectId;
}