|
@@ -1,17 +1,31 @@
|
|
|
package com.migao.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.migao.config.constant.ProjectStatus;
|
|
|
import com.migao.config.response.PageBean;
|
|
|
import com.migao.config.response.ResponseBean;
|
|
|
+import com.migao.config.response.ResponseBuilder;
|
|
|
+import com.migao.entity.po.Project;
|
|
|
+import com.migao.entity.po.ProjectDemand;
|
|
|
import com.migao.entity.po.PurchasingApproval;
|
|
|
+import com.migao.entity.vo.req.ProjectPageQueryReq;
|
|
|
import com.migao.entity.vo.req.PurchasingApprovalPageQueryReq;
|
|
|
-import com.migao.entity.vo.res.PurchasingApprovalQueryRes;
|
|
|
+import com.migao.entity.vo.res.ProjectQueryRes;
|
|
|
+import com.migao.mapper.ProjectDemandMapper;
|
|
|
+import com.migao.mapper.ProjectMapper;
|
|
|
import com.migao.mapper.PurchasingApprovalMapper;
|
|
|
+import com.migao.service.ProjectService;
|
|
|
import com.migao.service.PurchasingApprovalService;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
/**
|
|
|
* @author dingsong
|
|
|
*/
|
|
@@ -19,8 +33,98 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
@Service
|
|
|
@Transactional(rollbackFor = {Exception.class})
|
|
|
public class PurchasingApprovalServiceImpl extends ServiceImpl<PurchasingApprovalMapper, PurchasingApproval> implements PurchasingApprovalService {
|
|
|
+ @Resource
|
|
|
+ private ProjectMapper projectMapper;
|
|
|
+ @Resource
|
|
|
+ private PurchasingApprovalMapper purchasingApprovalMapper;
|
|
|
+ @Resource
|
|
|
+ private ProjectDemandMapper projectDemandMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseBean<PageBean<ProjectQueryRes>> pageQuery(PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq) {
|
|
|
+ Integer page = purchasingApprovalPageQueryReq.getPage();
|
|
|
+ page = page == null ? 1 : page <= 0 ? 1 : page;
|
|
|
+ Integer size = purchasingApprovalPageQueryReq.getSize();
|
|
|
+ size = size == null ? 10 : size <= 0 ? 10 : size;
|
|
|
+
|
|
|
+ LambdaQueryWrapper<Project> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (purchasingApprovalPageQueryReq.getCreateTime() != null) {
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(purchasingApprovalPageQueryReq.getName())) {
|
|
|
+ queryWrapper.eq(Project::getCreateTime, purchasingApprovalPageQueryReq.getCreateTime());
|
|
|
+ }
|
|
|
+ if (StringUtils.isNotBlank(purchasingApprovalPageQueryReq.getOrderStatus())) {
|
|
|
+ queryWrapper.eq(Project::getOrderStatus, purchasingApprovalPageQueryReq.getOrderStatus());
|
|
|
+ }
|
|
|
+ queryWrapper.ne(Project::getParentId, 0);
|
|
|
+ Page<Project> all = projectMapper.selectPage(new Page<>(page, size), queryWrapper);
|
|
|
+ return ResponseBuilder.ok(
|
|
|
+ all,
|
|
|
+ element -> {
|
|
|
+ ProjectQueryRes projectQueryRes = ProjectQueryRes
|
|
|
+ .builder()
|
|
|
+ .id(element.getId())
|
|
|
+ .capital(String.valueOf(element.getCapital()))
|
|
|
+ .content(element.getContent())
|
|
|
+ .cost(String.valueOf(element.getCost()))
|
|
|
+ .createTime(element.getCreateTime())
|
|
|
+ .createUserId(element.getCreateUserId())
|
|
|
+ .deleted(element.getDeleted())
|
|
|
+ .level(element.getLevel())
|
|
|
+ .name(element.getName())
|
|
|
+ .progress(element.getProgress())
|
|
|
+ .projectClassify(element.getProjectClassify())
|
|
|
+ .specialtyClassify(element.getSpecialtyClassify())
|
|
|
+ .total(String.valueOf(element.getTotal()))
|
|
|
+ .totalInvestment(String.valueOf(element.getTotalInvestment()))
|
|
|
+ .twoClassify(element.getTwoClassify())
|
|
|
+ .unit(element.getUnit())
|
|
|
+ .orderStatus(String.valueOf(element.getOrderStatus()))
|
|
|
+ .reserveStatus(String.valueOf(element.getReserveStatus()))
|
|
|
+ .build();
|
|
|
+ return projectQueryRes;
|
|
|
+ }
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseBean<?> submit(Integer projectId, List<Integer> demandIdList) {
|
|
|
+ Project project = projectMapper.selectById(projectId);
|
|
|
+ if (project==null){
|
|
|
+ return ResponseBuilder.fail("项目不存在");
|
|
|
+ }
|
|
|
+ //绑定项目和需求
|
|
|
+ for (Integer id : demandIdList) {
|
|
|
+ ProjectDemand projectDemand=new ProjectDemand();
|
|
|
+ projectDemand.setProjectrId(projectId);
|
|
|
+ projectDemand.setDemandId(id);
|
|
|
+ projectDemandMapper.insert(projectDemand);
|
|
|
+ }
|
|
|
+ //更新项目状态
|
|
|
+ project.setOrderStatus(ProjectStatus.TO_APPROVAL.getName());
|
|
|
+ projectMapper.updateById(project);
|
|
|
+ return ResponseBuilder.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public ResponseBean<?> approve(Integer id) {
|
|
|
+ Project project = projectMapper.selectById(id);
|
|
|
+ if (project == null) {
|
|
|
+ ResponseBuilder.fail("项目不存在");
|
|
|
+ }
|
|
|
+ project.setOrderStatus(ProjectStatus.APPROVE.getName());
|
|
|
+ projectMapper.updateById(project);
|
|
|
+ return ResponseBuilder.ok();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
- public ResponseBean<PageBean<PurchasingApprovalQueryRes>> pageQuery(PurchasingApprovalPageQueryReq purchasingApprovalPageQueryReq) {
|
|
|
- return null;
|
|
|
+ public ResponseBean<?> reject(Integer id) {
|
|
|
+ Project project = projectMapper.selectById(id);
|
|
|
+ if (project == null) {
|
|
|
+ ResponseBuilder.fail("项目不存在");
|
|
|
+ }
|
|
|
+ project.setOrderStatus(ProjectStatus.TO_BE_REPORTED.getName());
|
|
|
+ projectMapper.updateById(project);
|
|
|
+ return ResponseBuilder.ok();
|
|
|
}
|
|
|
}
|