diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardController.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardController.java index b6d8212..ae0f289 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardController.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/controller/OaProcessCardController.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Arrays; import java.util.concurrent.TimeUnit; +import com.ruoyi.oa.domain.vo.SysOaProjectVo; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -106,4 +107,10 @@ public class OaProcessCardController extends BaseController { public R insertProcessCard(@Validated(AddGroup.class) @RequestBody OaProcessCardBo bo) { return toAjax(iOaProcessCardService.insertProcessCard(bo)); } + + //查询所有项目并且带上工艺卡和发货单数量 + @GetMapping("/projectList") + public R> projectList() { + return R.ok(iOaProcessCardService.queryProjectList()); + } } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java index 30b55f4..a075d6f 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/domain/vo/SysOaProjectVo.java @@ -280,4 +280,8 @@ public class SysOaProjectVo { //生产结项状态 private Integer productStatus; + + private Long processCardCount; + + private Long deliveryOrderCount; } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardService.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardService.java index 0b87df8..9fd582c 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardService.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/IOaProcessCardService.java @@ -5,6 +5,7 @@ import com.ruoyi.oa.domain.vo.OaProcessCardVo; import com.ruoyi.oa.domain.bo.OaProcessCardBo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.oa.domain.vo.SysOaProjectVo; import java.util.Collection; import java.util.List; @@ -48,4 +49,6 @@ public interface IOaProcessCardService { Boolean deleteWithValidByIds(Collection ids, Boolean isValid); Boolean insertProcessCard(OaProcessCardBo bo); + + List queryProjectList(); } diff --git a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java index 0c3bf89..cae9032 100644 --- a/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java +++ b/ruoyi-oa/src/main/java/com/ruoyi/oa/service/impl/OaProcessCardServiceImpl.java @@ -9,8 +9,11 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.oa.domain.OaProcessCardDetail; +import com.ruoyi.oa.domain.SysOaProject; import com.ruoyi.oa.domain.bo.OaProcessCardDetailBo; +import com.ruoyi.oa.domain.vo.SysOaProjectVo; import com.ruoyi.oa.mapper.OaProcessCardDetailMapper; +import com.ruoyi.oa.mapper.SysOaProjectMapper; import com.ruoyi.oa.service.IOaProcessCardDetailService; import lombok.RequiredArgsConstructor; import org.springframework.context.annotation.Bean; @@ -19,9 +22,12 @@ import com.ruoyi.oa.domain.bo.OaProcessCardBo; import com.ruoyi.oa.domain.vo.OaProcessCardVo; import com.ruoyi.oa.domain.OaProcessCard; import com.ruoyi.oa.mapper.OaProcessCardMapper; +import com.ruoyi.oa.mapper.OaDeliveryOrderMapper; +import com.ruoyi.oa.domain.OaDeliveryOrder; import com.ruoyi.oa.service.IOaProcessCardService; import org.springframework.transaction.annotation.Transactional; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Collection; @@ -41,6 +47,10 @@ public class OaProcessCardServiceImpl implements IOaProcessCardService { private final OaProcessCardDetailMapper oaProcessCardDetailMapper; + private final SysOaProjectMapper sysOaProjectMapper; + + private final OaDeliveryOrderMapper oaDeliveryOrderMapper; + /** * 查询工艺卡主 */ @@ -176,4 +186,33 @@ public class OaProcessCardServiceImpl implements IOaProcessCardService { } return flag; } + + @Override + public List queryProjectList() { + // 拿到项目名字projectName projectNum projectCode + List sysOaProjects = sysOaProjectMapper.selectList(); + // 现在已经有了projectId然后需要看到工艺还是发货哪个地方绑定了这个projectId + List sysOaProjectVos = sysOaProjects.stream() + .map(sysOaProject -> { + SysOaProjectVo vo = BeanUtil.toBean(sysOaProject, SysOaProjectVo.class); + Long projectId = sysOaProject.getProjectId(); + // 统计工艺卡数量(未删除) + Long processCardCount = baseMapper.selectCount( + Wrappers.lambdaQuery() + .eq(OaProcessCard::getProjectId, projectId) + .eq(OaProcessCard::getDelFlag, 0) + ); + vo.setProcessCardCount(processCardCount); + // 统计送货单数量(未删除) + Long deliveryOrderCount = oaDeliveryOrderMapper.selectCount( + Wrappers.lambdaQuery() + .eq(OaDeliveryOrder::getProjectId, projectId) + .eq(OaDeliveryOrder::getDelFlag, 0) + ); + vo.setDeliveryOrderCount(deliveryOrderCount); + return vo; + }) + .collect(Collectors.toList()); + return sysOaProjectVos; + } }