Ver Fonte

支持按照工序搜索今日计划

QuYueTing há 1 mês atrás
pai
commit
cf203ed0e9

+ 9 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/mapper/PlanMapper.java

@@ -3,8 +3,12 @@ package com.management.platform.mapper;
 import com.baomidou.mybatisplus.core.conditions.Wrapper;
 import com.management.platform.entity.Plan;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.management.platform.entity.PlanProcedureTotal;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
-import org.springframework.test.context.jdbc.Sql;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -18,4 +22,8 @@ public interface PlanMapper extends BaseMapper<Plan> {
 
     @Update("update plan set real_end_date = null,hide_state=0 where id = #{id}")
     void setToNormalState(Integer id);
+
+    @Select("SELECT plan_id,prod_procedure_id FROM plan_procedure_total \n" +
+            "LEFT JOIN prod_procedure ON plan_procedure_total.`prod_procedure_id` = prod_procedure.`id` WHERE  prod_procedure.name like #{name}")
+    List<PlanProcedureTotal> findPlanByProcedureName(String name);
 }

+ 21 - 9
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -23,6 +23,7 @@ import org.apache.poi.xssf.usermodel.XSSFRow;
 import org.apache.poi.xssf.usermodel.XSSFSheet;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -99,6 +100,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
 
     @Value(value = "${upload.path}")
     private String path;
+    @Autowired
+    private PlanProcedureTotalMapper planProcedureTotalMapper;
 
     @Override
     public HttpRespMsg getList(String date, String steelStampNumber, Integer planType,Integer deptId,Integer pageIndex,Integer pageSize,Integer isMob,Integer searchType,String searchValue) {
@@ -177,14 +180,6 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             List<DepartmentOtherManager> otherManagers = departmentOtherManagerService.list(new LambdaQueryWrapper<DepartmentOtherManager>().eq(DepartmentOtherManager::getOtherManagerId,user.getId()));
             List<Integer> otherDeptIds = otherManagers.stream().map(DepartmentOtherManager::getDepartmentId).distinct().collect(Collectors.toList());
             deptIds.addAll(otherDeptIds);
-            /*作为部门负责人看到的数据*/
-//            if(departmentMapper.selectCount(new LambdaQueryWrapper<Department>().eq(Department::getManagerId,user.getId()))>0
-//                    ||departmentOtherManagerService.count(new LambdaQueryWrapper<DepartmentOtherManager>().eq(DepartmentOtherManager::getOtherManagerId,user.getId()))>0){
-////                queryWrapper.and(wrapper->wrapper.and(wr->wr.in(Plan::getStationId,deptIds).eq(Plan::getStatus,1)).or().eq(Plan::getCreateId,user.getId()));
-//                queryWrapper.and(wrapper->wrapper.and(wr->wr.in(Plan::getStationId,deptIds)).or().eq(Plan::getCreateId,user.getId()));
-//            }else {
-//
-//            }
             List<ProdProcedureTeam> prodProcedureTeams = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().eq("company_id", companyId).eq("user_id", user.getId()));
             List<Integer> collect=new ArrayList<>();
             if(prodProcedureTeams!=null&&prodProcedureTeams.size()>0){
@@ -204,6 +199,17 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             ids.add(-1);
             queryWrapper.in(Plan::getId,ids);
         }
+        List<PlanProcedureTotal> searchPlanProcedureList = null;
+        if (searchType != null && searchType == 5 && !StringUtils.isEmpty(searchValue)) {
+            //按工序名称匹配搜索
+            searchPlanProcedureList = planMapper.findPlanByProcedureName("%"+searchValue+"%");
+            List<Integer> planIds = searchPlanProcedureList.stream().map(PlanProcedureTotal::getPlanId).collect(Collectors.toList());
+            if (planIds.size() == 0) {
+                queryWrapper.eq(Plan::getId, -1);
+            } else {
+                queryWrapper.in(Plan::getId,planIds);
+            }
+        }
         queryWrapper.orderByDesc(Plan::getCreateTime).orderByDesc(Plan::getStartDate);
         IPage<Plan> planIPage = planMapper.selectPage(new Page<>(pageIndex, pageSize), queryWrapper);
         List<Plan> records = planIPage.getRecords();
@@ -212,7 +218,13 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         List<Product> productList = productMapper.selectList(new QueryWrapper<Product>().in("id", ids));
         List<Integer> planIds = records.stream().map(Plan::getId).distinct().collect(Collectors.toList());
         planIds.add(-1);
-        List<PlanProcedureTotal> procedureTotals = planProcedureTotalService.list(new QueryWrapper<PlanProcedureTotal>().in("plan_id", planIds));
+
+        QueryWrapper<PlanProcedureTotal> planProcedureTotalQueryWrapper = new QueryWrapper<PlanProcedureTotal>().in("plan_id", planIds);
+//        if (searchPlanProcedureList != null && searchPlanProcedureList.size() > 0) {
+//            //在按工序名称搜索过滤后的数据中进行匹配
+//            planProcedureTotalQueryWrapper.in("id", searchPlanProcedureList.stream().map(PlanProcedureTotal::getId).collect(Collectors.toList()));
+//        }
+        List<PlanProcedureTotal> procedureTotals = planProcedureTotalService.list(planProcedureTotalQueryWrapper);
         List<PlanSteelStampNumber> planSteelStampNumbers = planSteelStampNumberService.list(new QueryWrapper<PlanSteelStampNumber>().in("plan_id", planIds));
         List<Integer> ptIds = procedureTotals.stream().map(PlanProcedureTotal::getId).collect(Collectors.toList());
         ptIds.add(-1);

+ 1 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ProductServiceImpl.java

@@ -424,6 +424,7 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
                 }
 
                 ProdProcedure prodProcedure=new ProdProcedure();
+                prodProcedure.setCompanyId(companyId);
                 if( productNameCell!=null){
                     prodProcedure.setProductName(productNameCell.getStringCellValue());
                 }else{