企业端我的普通项目接口添加
This commit is contained in:
+120
-11
@@ -6,32 +6,38 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
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.common.ProjectCommon;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
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.LoginUser;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
import com.jero.common.vo.ProjectDetailVO;
|
||||
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.entity.PayMailBillProject;
|
||||
import com.jero.mail.service.IPayMailBillProjectService;
|
||||
import com.jero.mail.service.IPayMailBillService;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.pack.entity.PayPackCompany;
|
||||
import com.jero.pack.entity.PayPackCompanyProject;
|
||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||
import com.jero.pack.service.IPayPackCompanyService;
|
||||
import com.jero.project.common.PayProjectCommon;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.IPayCommonProjectService;
|
||||
import com.jero.project.entity.PayCommonProject;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
@@ -40,6 +46,7 @@ import com.jero.project.vo.PayCommonProjectOutput;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -58,20 +65,26 @@ import io.swagger.annotations.ApiOperation;
|
||||
@RequestMapping("/project/payCommonProject")
|
||||
@Slf4j
|
||||
public class PayCommonProjectController extends JeroController<PayCommonProject, IPayCommonProjectService> {
|
||||
@Autowired
|
||||
@Resource
|
||||
private IPayCommonProjectService payCommonProjectService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private ProjectDetailService projectDetailService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private ISysBaseAPI sysBaseAPI;
|
||||
@Autowired
|
||||
@Resource
|
||||
private IPayIncomeContractAssociatedService payIncomeContractAssociatedService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private IPayPackCompanyProjectService payPackCompanyProjectService;
|
||||
@Resource
|
||||
private IPayMailBillService payMailBillService;
|
||||
@Resource
|
||||
private IPayPackCompanyService payPackCompanyService;
|
||||
@Resource
|
||||
private IPayMailBillProjectService payMailBillProjectService;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
@@ -111,6 +124,102 @@ public class PayCommonProjectController extends JeroController<PayCommonProject,
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 企业端-分页列表查询
|
||||
* 即项目的企业联系人、邮寄联系人、打包的企业联系人和打包联系人、关联合同的签订单位联系人
|
||||
* @param payCommonProject 普通项目管理
|
||||
* @param pageNo 页数
|
||||
* @param pageSize 条数
|
||||
* @return
|
||||
*/
|
||||
@ApiOperation(value="普通项目管理-企业端-分页列表查询", notes="普通项目管理-企业端-分页列表查询")
|
||||
@GetMapping(value = "/queryCompanyPageList")
|
||||
public Result<?> queryCompanyPageList(PayCommonProject payCommonProject,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(Objects.isNull(sysUser)){
|
||||
return Result.error("没有查到用户信息!");
|
||||
}
|
||||
List<String> listUser = new ArrayList<>();
|
||||
// 项目的企业联系人
|
||||
LambdaQueryWrapper<PayCommonProject> queryPayCommonProject = new LambdaQueryWrapper<>();
|
||||
queryPayCommonProject.eq(PayCommonProject::getContactsId,sysUser.getId());
|
||||
List<PayCommonProject> listPayCommonProject = payCommonProjectService.list(queryPayCommonProject);
|
||||
if(!CollectionUtils.isEmpty(listPayCommonProject)){
|
||||
List<String> list = listPayCommonProject.stream().map(PayCommonProject::getId).collect(Collectors.toList());
|
||||
listUser.addAll(list);
|
||||
}
|
||||
LambdaQueryWrapper<PayMailBill> queryPayMailBill = new LambdaQueryWrapper<>();
|
||||
queryPayMailBill.eq(PayMailBill::getContactId,sysUser.getId());
|
||||
List<PayMailBill> listPayMailBill = payMailBillService.list(queryPayMailBill);
|
||||
// 邮寄联系人
|
||||
if(!CollectionUtils.isEmpty(listPayMailBill)){
|
||||
List<String> listId = listPayMailBill.stream().map(PayMailBill::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayMailBillProject> queryPayMailBillProject = new LambdaQueryWrapper<>();
|
||||
queryPayMailBillProject.in(PayMailBillProject::getBillId,listId);
|
||||
List<PayMailBillProject> listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject);
|
||||
if(!CollectionUtils.isEmpty(listPayMailBillProject)){
|
||||
List<String> listProjectId = listPayMailBillProject.stream().map(PayMailBillProject::getProjectId).collect(Collectors.toList());
|
||||
listUser.addAll(listProjectId);
|
||||
}
|
||||
}
|
||||
// 打包的企业联系人和打包联系人
|
||||
LambdaQueryWrapper<PayPackCompany> queryPayPackCompany = new LambdaQueryWrapper<>();
|
||||
queryPayPackCompany.eq(PayPackCompany::getCompanyContactId,sysUser.getId()).or()
|
||||
.eq(PayPackCompany::getPackContactId,sysUser.getId());
|
||||
List<PayPackCompany> listPayPackCompany = payPackCompanyService.list(queryPayPackCompany);
|
||||
if(!CollectionUtils.isEmpty(listPayPackCompany)){
|
||||
List<String> listPayPackCompanyId = listPayPackCompany.stream().map(PayPackCompany::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayPackCompanyProject> queryPayPackCompanyProject = new LambdaQueryWrapper<>();
|
||||
queryPayPackCompanyProject.in(PayPackCompanyProject::getProjectId,listPayPackCompanyId);
|
||||
queryPayPackCompanyProject.eq(PayPackCompanyProject::getCome,PayProjectCommon.PROJECT_TYPE1);
|
||||
List<PayPackCompanyProject> listPayPackCompanyProject = payPackCompanyProjectService.list(queryPayPackCompanyProject);
|
||||
if(!CollectionUtils.isEmpty(listPayPackCompanyProject)){
|
||||
List<String> listId = listPayPackCompanyProject.stream().map(PayPackCompanyProject::getProjectId).collect(Collectors.toList());
|
||||
listUser.addAll(listId);
|
||||
}
|
||||
}
|
||||
// 关联合同的签订单位联系人
|
||||
LambdaQueryWrapper<PayIncomeContract> queryPayIncomeContract = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContract.eq(PayIncomeContract::getSignedContactsId,sysUser.getId());
|
||||
List<PayIncomeContract> listPayIncomeContract = payIncomeContractService.list(queryPayIncomeContract);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContract)){
|
||||
List<String> listId = listPayIncomeContract.stream().map(PayIncomeContract::getId).collect(Collectors.toList());
|
||||
LambdaQueryWrapper<PayIncomeContractAssociated> queryPayIncomeContractAssociated = new LambdaQueryWrapper<>();
|
||||
queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getProjectId,listId);
|
||||
queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectType,PayProjectCommon.PROJECT_TYPE1);
|
||||
List<PayIncomeContractAssociated> listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated);
|
||||
if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){
|
||||
List<String> listProjectId = listPayIncomeContractAssociated.stream().map(PayIncomeContractAssociated::getProjectId).collect(Collectors.toList());
|
||||
listUser.addAll(listProjectId);
|
||||
}
|
||||
}
|
||||
listUser.stream().distinct();
|
||||
QueryWrapper<PayCommonProject> queryWrapper = QueryGenerator.initQueryWrapper(payCommonProject, req.getParameterMap());
|
||||
if(!CollectionUtils.isEmpty(listUser)){
|
||||
queryWrapper.in("id",listUser);
|
||||
}else{
|
||||
queryWrapper.in("id", Arrays.asList(""));
|
||||
}
|
||||
Page<PayCommonProject> page = new Page<PayCommonProject>(pageNo, pageSize);
|
||||
IPage<PayCommonProject> pageList = payCommonProjectService.page(page, queryWrapper);
|
||||
if(!CollectionUtils.isEmpty(pageList.getRecords())){
|
||||
List<PayCommonProject> list = pageList.getRecords();
|
||||
list.forEach(p->{
|
||||
if(Objects.isNull(p.getReceivableAmount())){
|
||||
p.setReceivableAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
if(Objects.isNull(p.getPaidAmount())){
|
||||
p.setPaidAmount(new BigDecimal("0.00"));
|
||||
}
|
||||
});
|
||||
pageList.setRecords(list);
|
||||
}
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
/**
|
||||
* 收入合同-列表
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user