Min преди 1 година
родител
ревизия
140ea5dece

+ 12 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/PlanProcedureTotalController.java

@@ -1,10 +1,15 @@
 package com.management.platform.controller;
 
 
+import com.management.platform.entity.PlanProcedureTotal;
+import com.management.platform.service.PlanProcedureTotalService;
+import com.management.platform.util.HttpRespMsg;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  *  前端控制器
@@ -17,5 +22,12 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/plan-procedure-total")
 public class PlanProcedureTotalController {
 
+    @Resource
+    private PlanProcedureTotalService planProcedureTotalService;
+
+    @RequestMapping("/getReportForWorkList")
+    public HttpRespMsg getReportForWorkList(){
+        return planProcedureTotalService.getReportForWorkList();
+    }
 }
 

+ 2 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/PlanProcedureTotalService.java

@@ -2,6 +2,7 @@ package com.management.platform.service;
 
 import com.management.platform.entity.PlanProcedureTotal;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.management.platform.util.HttpRespMsg;
 
 /**
  * <p>
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface PlanProcedureTotalService extends IService<PlanProcedureTotal> {
 
+    HttpRespMsg getReportForWorkList();
 }

+ 62 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanProcedureTotalServiceImpl.java

@@ -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;
+    }
 }

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/plan/orderInsert.vue

@@ -24,7 +24,7 @@
             <el-link type="primary" :underline="false">{{ "导入" }}</el-link>
           </el-upload>
           <el-link type="primary" :underline="false" @click="exportData()"
-            :download="this.planType == 0 ? '今日计划' : this.planType == 1 ? '明日计划' : this.planType == 1 ? '插单计划' : '' + '.xlsx'">{{
+            :download="this.planType == 0 ? '今日计划' : this.planType == 1 ? '明日计划' : this.planType == 2 ? '插单计划' : '' + '.xlsx'">{{
               "导出"
             }}</el-link>
         </div>

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/plan/planComponent.vue

@@ -28,7 +28,7 @@
                 <el-link type="primary" :underline="false">{{ "导入" }}</el-link>
               </el-upload>
               <el-link type="primary" :underline="false" @click="exportData()"
-                :download="this.planType == 0 ? '今日计划' : this.planType == 1 ? '明日计划' : this.planType == 1 ? '插单计划' : '' + '.xlsx'">{{ "导出"
+                :download="this.planType == 0 ? '今日计划' : this.planType == 1 ? '明日计划' : this.planType == 2 ? '插单计划' : '' + '.xlsx'">{{ "导出"
                 }}</el-link>
         </div>
       </div>