|
@@ -1,11 +1,18 @@
|
|
|
package com.management.platform.service.impl;
|
|
|
|
|
|
-import com.management.platform.entity.PlanProcedureTotal;
|
|
|
-import com.management.platform.mapper.PlanProcedureTotalMapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.management.platform.entity.*;
|
|
|
+import com.management.platform.mapper.*;
|
|
|
import com.management.platform.service.PlanProcedureTotalService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.management.platform.util.HttpRespMsg;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 服务实现类
|
|
@@ -17,4 +24,57 @@ import org.springframework.stereotype.Service;
|
|
|
@Service
|
|
|
public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTotalMapper, PlanProcedureTotal> implements PlanProcedureTotalService {
|
|
|
|
|
|
+ @Resource
|
|
|
+ private PlanProcedureTotalMapper planProcedureTotalMapper;
|
|
|
+ @Resource
|
|
|
+ private ProductMapper productMapper;
|
|
|
+ @Resource
|
|
|
+ private PlanMapper planMapper;
|
|
|
+ @Resource
|
|
|
+ private UserMapper userMapper;
|
|
|
+ @Resource
|
|
|
+ private HttpServletRequest request;
|
|
|
+ @Resource
|
|
|
+ private ProdProcedureMapper prodProcedureMapper;
|
|
|
+ @Resource
|
|
|
+ private ProdProcedureTeamMapper prodProcedureTeamMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public HttpRespMsg getReportForWorkList() {
|
|
|
+ HttpRespMsg msg=new HttpRespMsg();
|
|
|
+ User user = userMapper.selectById(request.getHeader("token"));
|
|
|
+ /*获取作为组员参与的数据*/
|
|
|
+ List<ProdProcedureTeam> ProdProcedureTeams = prodProcedureTeamMapper.selectList(new QueryWrapper<ProdProcedureTeam>().eq("user_id", user.getId()));
|
|
|
+ List<Map> mapList=new ArrayList<>();
|
|
|
+ if(ProdProcedureTeams!=null){
|
|
|
+ List<Integer> planIds = ProdProcedureTeams.stream().map(ProdProcedureTeam::getPlanId).collect(Collectors.toList());
|
|
|
+ List<Integer> procedureIds = ProdProcedureTeams.stream().map(ProdProcedureTeam::getProdProcedureId).collect(Collectors.toList());
|
|
|
+ planIds.add(-1);
|
|
|
+ procedureIds.add(-1);
|
|
|
+ List<Plan> planList = planMapper.selectList(new QueryWrapper<Plan>().in("id", planIds));
|
|
|
+ List<ProdProcedure> procedureList = prodProcedureMapper.selectList(new QueryWrapper<ProdProcedure>().in("id", procedureIds));
|
|
|
+ List<Integer> productIds = planList.stream().map(Plan::getProductId).distinct().collect(Collectors.toList());
|
|
|
+ List<Product> productList = productMapper.selectList(new QueryWrapper<Product>().in("id", productIds));
|
|
|
+ for (ProdProcedureTeam prodProcedureTeam : ProdProcedureTeams) {
|
|
|
+ Map map=new HashMap();
|
|
|
+ Optional<ProdProcedure> prodProcedure = procedureList.stream().filter(pl -> pl.getId().equals(prodProcedureTeam.getProdProcedureId())).findFirst();
|
|
|
+ map.put("jobOfMoney",prodProcedureTeam.getJobOfMoney());
|
|
|
+ map.put("workTime",prodProcedureTeam.getWorkTime());
|
|
|
+ if(prodProcedure.isPresent()){
|
|
|
+ map.put("procedureName",prodProcedure.get().getName());
|
|
|
+ map.put("checkType",prodProcedure.get().getCheckType());
|
|
|
+ }
|
|
|
+ Optional<Plan> plan = planList.stream().filter(pl -> pl.getId().equals(prodProcedureTeam.getPlanId())).findFirst();
|
|
|
+ if(plan.isPresent()){
|
|
|
+ Optional<Product> product = productList.stream().filter(pl -> pl.getId().equals(plan.get().getProductId())).findFirst();
|
|
|
+ if(product.isPresent()){
|
|
|
+ map.put("productName",product.get().getName());
|
|
|
+ }
|
|
|
+ map.put("dateData",plan.get().getStartDate()+"-"+plan.get().getEndDate());
|
|
|
+ map.put("titleName",plan.get().getPlanType()==0?plan.get().getProductSchedulingNum():plan.get().getTaskChangeNoticeNum());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
}
|