diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemController.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemController.java index 8197fc2a..7f2bde48 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/controller/PayDraftingGroupSubItemController.java @@ -12,6 +12,10 @@ import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; import com.jero.common.util.oConvertUtils; +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.drafting.entity.PayDraftingGroup; import com.jero.drafting.entity.PayDraftingGroupSubItem; import com.jero.drafting.entity.PayDraftingGroupSubItemContacts; @@ -20,7 +24,17 @@ import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService; import com.jero.drafting.service.IPayDraftingGroupSubItemService; import com.jero.drafting.vo.CheckVo; import com.jero.drafting.vo.PayDraftingGroupSubItemExcel; -import com.jero.meeting.vo.CheckVO; +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.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayContactsManagementTemporaryService; import io.swagger.annotations.Api; @@ -63,6 +77,20 @@ public class PayDraftingGroupSubItemController extends JeroController queryCompanyPageList(PayDraftingGroupSubItem payDraftingGroupSubItem, + @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("没有查到用户信息!"); + } + Page page = new Page<>(pageNo, pageSize); + List listNeedInvoice = new ArrayList<>(); +// if(!Objects.isNull(payDraftingGroupSubItem.getNeedInvoice())){ +// // 需要发票 : 3为 需要发票,小程序需要 +// if(Objects.equals(payDraftingGroupSubItem.getNeedInvoice(), PayProjectCommon.NEED_INVOICE3)){ +// listNeedInvoice.add(1); +// listNeedInvoice.add(2); +// }else{ +// listNeedInvoice.add(payDraftingGroupSubItem.getNeedInvoice()); +// } +// } + if(!StringUtils.isBlank(payDraftingGroupSubItem.getChargeProject())){ + payDraftingGroupSubItem.setChargeProject(oConvertUtils.replaceAllPercent(payDraftingGroupSubItem.getChargeProject())); + } + IPage pageList; + //非企业管理员 + if (!sysUser.getIsCompanyManager()) { + List listProjectIds = new ArrayList<>(); + + // 工作组的企业联系人 + LambdaQueryWrapper queryPayDraftingGroupSubItemContacts = new LambdaQueryWrapper<>(); + queryPayDraftingGroupSubItemContacts.eq(PayDraftingGroupSubItemContacts::getContactsId,sysUser.getId()); + List listPayDraftingGroupSubItemContacts = payDraftingGroupSubItemContactsService.list(queryPayDraftingGroupSubItemContacts); + if(!CollectionUtils.isEmpty(listPayDraftingGroupSubItemContacts)){ + List listProjectId = listPayDraftingGroupSubItemContacts.stream().map(PayDraftingGroupSubItemContacts::getDraftingGroupSubId).collect(Collectors.toList()); + listProjectIds.addAll(listProjectId); + } + + // 邮寄联系人 + LambdaQueryWrapper queryPayMailBill = new LambdaQueryWrapper<>(); + queryPayMailBill.eq(PayMailBill::getContactId,sysUser.getId()); + List listPayMailBill = payMailBillService.list(queryPayMailBill); + if(!CollectionUtils.isEmpty(listPayMailBill)){ + List listId = listPayMailBill.stream().map(PayMailBill::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayMailBillProject = new LambdaQueryWrapper<>(); + queryPayMailBillProject.in(PayMailBillProject::getBillId,listId); + List listPayMailBillProject = payMailBillProjectService.list(queryPayMailBillProject); + if(!CollectionUtils.isEmpty(listPayMailBillProject)){ + List listProjectId = listPayMailBillProject.stream().map(PayMailBillProject::getProjectId).collect(Collectors.toList()); + listProjectIds.addAll(listProjectId); + } + } + // 打包的企业联系人和打包联系人 + LambdaQueryWrapper queryPayPackCompany = new LambdaQueryWrapper<>(); + queryPayPackCompany.eq(PayPackCompany::getCompanyContactId,sysUser.getId()).or() + .eq(PayPackCompany::getPackContactId,sysUser.getId()); + List listPayPackCompany = payPackCompanyService.list(queryPayPackCompany); + if(!CollectionUtils.isEmpty(listPayPackCompany)){ + List listPayPackCompanyId = listPayPackCompany.stream().map(PayPackCompany::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayPackCompanyProject = new LambdaQueryWrapper<>(); + queryPayPackCompanyProject.in(PayPackCompanyProject::getPackId,listPayPackCompanyId); + queryPayPackCompanyProject.eq(PayPackCompanyProject::getProjectType, PayProjectCommon.PROJECT_TYPE2); + List listPayPackCompanyProject = payPackCompanyProjectService.list(queryPayPackCompanyProject); + if(!CollectionUtils.isEmpty(listPayPackCompanyProject)){ + List listId = listPayPackCompanyProject.stream().map(PayPackCompanyProject::getProjectId).collect(Collectors.toList()); + listProjectIds.addAll(listId); + } + } + // 关联合同的签订单位联系人 + LambdaQueryWrapper queryPayIncomeContract = new LambdaQueryWrapper<>(); + queryPayIncomeContract.eq(PayIncomeContract::getSignedContactsId,sysUser.getId()); + List listPayIncomeContract = payIncomeContractService.list(queryPayIncomeContract); + if(!CollectionUtils.isEmpty(listPayIncomeContract)){ + List listId = listPayIncomeContract.stream().map(PayIncomeContract::getId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayIncomeContractAssociated = new LambdaQueryWrapper<>(); + queryPayIncomeContractAssociated.in(PayIncomeContractAssociated::getContractId,listId); + queryPayIncomeContractAssociated.eq(PayIncomeContractAssociated::getProjectType,PayProjectCommon.PROJECT_TYPE2); + List listPayIncomeContractAssociated = payIncomeContractAssociatedService.list(queryPayIncomeContractAssociated); + if(!CollectionUtils.isEmpty(listPayIncomeContractAssociated)){ + List listProjectId = listPayIncomeContractAssociated.stream().map(PayIncomeContractAssociated::getProjectId).collect(Collectors.toList()); + listProjectIds.addAll(listProjectId); + } + } + List listProjectIdsNew = new ArrayList<>(); + if(!CollectionUtils.isEmpty(listProjectIds)){ + listProjectIdsNew = listProjectIds.stream().distinct().collect(Collectors.toList()); + }else{ + listProjectIdsNew.add(""); + } + pageList = payDraftingGroupSubItemService.queryCompanyPageList(page, payDraftingGroupSubItem,listNeedInvoice,listProjectIdsNew); + }else{ + pageList = payDraftingGroupSubItemService.queryCompanyPageListByCompanyManager(page, payDraftingGroupSubItem,listNeedInvoice,sysUser.getCompanyId()); + } + + + + if(!CollectionUtils.isEmpty(pageList.getRecords())){ + List list = pageList.getRecords(); + List listIds = list.stream().map(PayDraftingGroupSubItem::getDraftingGroupId).collect(Collectors.toList()); + LambdaQueryWrapper queryPayDraftingGroup = new LambdaQueryWrapper<>(); + queryPayDraftingGroup.in(PayDraftingGroup::getId,listIds); + List listPayDraftingGroup = payDraftingGroupService.list(queryPayDraftingGroup); + if(CollectionUtils.isEmpty(listPayDraftingGroup)){ + return Result.error("工作组不存在"); + } + List listString = listPayDraftingGroup.stream().map(PayDraftingGroup::getPrincipalIdA).collect(Collectors.toList()); + LambdaQueryWrapper querySysUser = new LambdaQueryWrapper<>(); + querySysUser.in(SysUser::getId,listString); + List listSysUser = sysUserService.list(querySysUser); + + 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")); +// } + List listPrincipalIdA = listPayDraftingGroup.stream().filter(item->Objects.equals(item.getId(),p.getDraftingGroupId())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listPrincipalIdA)){ + if(!CollectionUtils.isEmpty(listSysUser)){ + List listSysUserNew = listSysUser.stream().filter(item->Objects.equals(item.getId(),listPrincipalIdA.get(0).getPrincipalIdA())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listSysUserNew)){ + if(!StringUtils.isBlank(listSysUserNew.get(0).getPhone())){ + p.setPrincipalPhone(PasswordUtil.decrypt(listSysUserNew.get(0).getPhone())); + } + if(!StringUtils.isBlank(listSysUserNew.get(0).getEmail())){ + p.setPrincipalEmail(PasswordUtil.decrypt(listSysUserNew.get(0).getEmail())); + } + p.setPrincipalName(listSysUserNew.get(0).getRealname()); + } + } + p.setOperationCycle(listPrincipalIdA.get(0).getOperationCycle()); + p.setMissionAndObjectives(listPrincipalIdA.get(0).getMissionAndObjectives()); + p.setPrincipalName(listPrincipalIdA.get(0).getPrincipalNameA()); + p.setYear(listPrincipalIdA.get(0).getYear()); + } + }); + pageList.setRecords(list); + } + return Result.OK(pageList); + } + /** * 添加 * diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java index 81283d1a..63baa347 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/PayDraftingGroupSubItemMapper.java @@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.drafting.entity.PayDraftingGroupSubItem; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -33,4 +36,20 @@ public interface PayDraftingGroupSubItemMapper extends BaseMapper publishReminderList(Page page, PayDraftingGroupSubItem payDraftingGroupSubItem); + + /** + * @Description 企业端-我的工作组分页查询 + * @Author lqt + * @Date 2021/9/29 + * @Param listProjectIds 项目成员id集合 + * @Return + * @Exception + */ + IPage queryCompanyPageList(Page page, @Param("payDraftingGroupSubItem") PayDraftingGroupSubItem payDraftingGroupSubItem, @Param("listNeedInvoice") List listNeedInvoice, @Param("listProjectIds") List listProjectIds); + IPage queryCompanyPageList(Page page,@Param("payDraftingGroupSubItem") PayDraftingGroupSubItem payDraftingGroupSubItem,@Param("listProjectIds") List listProjectIds); + + /** + * 企业端-管理员-我的工作组分页查询 + */ + IPage queryCompanyPageListByCompanyManager(Page page, @Param("payDraftingGroupSubItem") PayDraftingGroupSubItem payDraftingGroupSubItem, @Param("listNeedInvoice") List listNeedInvoice, @Param("companyId") String companyId); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml index 4a55975e..4594047e 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/mapper/xml/PayDraftingGroupSubItemMapper.xml @@ -1,7 +1,7 @@ - + - + + + diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java index 0976258d..cba977d2 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/IPayDraftingGroupSubItemService.java @@ -5,9 +5,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.drafting.entity.PayDraftingGroupSubItem; import com.jero.drafting.vo.CheckVo; -import com.jero.project.entity.PayWorkingGroupSubItem; import javax.servlet.http.HttpServletRequest; +import java.util.List; /** *

@@ -71,4 +71,19 @@ public interface IPayDraftingGroupSubItemService extends IService queryCompanyPageList(Page page, PayDraftingGroupSubItem payWorkingGroupSubItem, List listNeedInvoice, List listProjectIds); + + /** + * 企业端-管理员-我的工作组分页查询 + */ + IPage queryCompanyPageListByCompanyManager(Page page, PayDraftingGroupSubItem payWorkingGroupSubItem, List listNeedInvoice, String companyId); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java index fd6d64e2..e2ceb5a4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/drafting/service/impl/PayDraftingGroupSubItemServiceImpl.java @@ -14,7 +14,6 @@ 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.service.IPayIncomeContractService; import com.jero.drafting.common.DraftingConstant; import com.jero.drafting.entity.PayDraftingGroup; import com.jero.drafting.entity.PayDraftingGroupSubItem; @@ -25,15 +24,8 @@ import com.jero.drafting.service.IPayDraftingGroupService; import com.jero.drafting.service.IPayDraftingGroupSubItemContactsService; import com.jero.drafting.service.IPayDraftingGroupSubItemService; import com.jero.drafting.vo.CheckVo; -import com.jero.meeting.common.MeetingCommon; -import com.jero.meeting.entity.PayMeeting; -import com.jero.meeting.entity.PayMeetingContacts; -import com.jero.meeting.entity.PayMeetingSituation; -import com.jero.meeting.service.IPayMeetingRemindRecordService; import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.service.ISysUserService; -import com.jero.pack.entity.PayPackCompanyProject; -import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.temporary.entity.PayCompanyManagementTemporary; import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayCompanyManagementTemporaryService; @@ -48,6 +40,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; + import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.*; @@ -703,4 +696,14 @@ public class PayDraftingGroupSubItemServiceImpl extends ServiceImpl queryCompanyPageList(Page page, PayDraftingGroupSubItem payWorkingGroupSubItem, List listNeedInvoice, List listProjectIds) { + return payDraftingGroupSubItemMapper.queryCompanyPageList( page, payWorkingGroupSubItem,listNeedInvoice, listProjectIds); + } + + @Override + public IPage queryCompanyPageListByCompanyManager(Page page, PayDraftingGroupSubItem payWorkingGroupSubItem, List listNeedInvoice, String companyId) { + return payDraftingGroupSubItemMapper.queryCompanyPageListByCompanyManager( page, payWorkingGroupSubItem,listNeedInvoice,companyId); + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java index d6501d70..cf593ebe 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/service/impl/PayWorkingGroupDistributionRecordServiceImpl.java @@ -219,7 +219,6 @@ public class PayWorkingGroupDistributionRecordServiceImpl extends ServiceImpl