yusm 1 tydzień temu
rodzic
commit
87319c4e29

+ 38 - 31
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskGroupController.java

@@ -465,42 +465,49 @@ public class TaskGroupController {
         }
         //针对泓浒 需要特殊处理分组
         if(user.getCompanyId()==7536){
-            //检查生产订单和销售订单
-            DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
-            String projectCode = project.getProjectCode();
-            LocalDate workDateValue = LocalDate.parse(workDate, df);
-            //直接查询明细 绑定项目编号
-            List<ProdOrderDetail> prodOrderDetails = prodOrderDetailMapper.selectList(new LambdaQueryWrapper<ProdOrderDetail>().eq(ProdOrderDetail::getProjectCode, projectCode).orderByAsc(ProdOrderDetail::getRelsDate));
-            List<SaleOrderDetail> saleOrderDetails = saleOrderDetailMapper.selectList(new LambdaQueryWrapper<SaleOrderDetail>().eq(SaleOrderDetail::getProjectCode, projectCode));
-            //存在销售订单数据 检查销售订单主数据订单审批时间与填报日期
-            if(saleOrderDetails!=null&&saleOrderDetails.size()>0){
-                //需要处理 是否存在生产订单审批日期在前的情况 存在销售订单 但是生产订单在前 销售订单在后的情况
-                List<String> mainIdList = saleOrderDetails.stream().map(i -> i.getMainId()).distinct().collect(Collectors.toList());
-                List<SaleOrderMain> orderMains = saleOrderMainMapper.selectList(new LambdaQueryWrapper<SaleOrderMain>().in(SaleOrderMain::getId, mainIdList).orderByAsc(SaleOrderMain::getOrderApproveDate));
-                //校验最早审批通过时间
-                SaleOrderMain saleOrderMain = orderMains.get(0);
-                ProdOrderDetail prodOrderDetail = prodOrderDetails.get(0);
-                LocalDate orderApproveDate = saleOrderMain.getOrderApproveDate();
-                LocalDate relsDate = prodOrderDetail.getRelsDate();
-                if(relsDate.isBefore(orderApproveDate)){
-                    if(relsDate.isAfter(workDateValue)){
-                        taskGroups=taskGroups.stream().filter(i->i.getName().equals("售前工时")).collect(Collectors.toList());
+            //针对项目过滤不处理逻辑
+            List<String> filterProjectName=new ArrayList<>();
+            filterProjectName.add("公共项目号");
+            filterProjectName.add("品质检验项目号");
+            filterProjectName.add("请假");
+            if(!filterProjectName.contains(project.getProjectName())){
+                //检查生产订单和销售订单
+                DateTimeFormatter df=DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                String projectCode = project.getProjectCode();
+                LocalDate workDateValue = LocalDate.parse(workDate, df);
+                //直接查询明细 绑定项目编号
+                List<ProdOrderDetail> prodOrderDetails = prodOrderDetailMapper.selectList(new LambdaQueryWrapper<ProdOrderDetail>().eq(ProdOrderDetail::getProjectCode, projectCode).orderByAsc(ProdOrderDetail::getRelsDate));
+                List<SaleOrderDetail> saleOrderDetails = saleOrderDetailMapper.selectList(new LambdaQueryWrapper<SaleOrderDetail>().eq(SaleOrderDetail::getProjectCode, projectCode));
+                //存在销售订单数据 检查销售订单主数据订单审批时间与填报日期
+                if(saleOrderDetails!=null&&saleOrderDetails.size()>0){
+                    //需要处理 是否存在生产订单审批日期在前的情况 存在销售订单 但是生产订单在前 销售订单在后的情况
+                    List<String> mainIdList = saleOrderDetails.stream().map(i -> i.getMainId()).distinct().collect(Collectors.toList());
+                    List<SaleOrderMain> orderMains = saleOrderMainMapper.selectList(new LambdaQueryWrapper<SaleOrderMain>().in(SaleOrderMain::getId, mainIdList).orderByAsc(SaleOrderMain::getOrderApproveDate));
+                    //校验最早审批通过时间
+                    SaleOrderMain saleOrderMain = orderMains.get(0);
+                    ProdOrderDetail prodOrderDetail = prodOrderDetails.get(0);
+                    LocalDate orderApproveDate = saleOrderMain.getOrderApproveDate();
+                    LocalDate relsDate = prodOrderDetail.getRelsDate();
+                    if(relsDate.isBefore(orderApproveDate)){
+                        if(relsDate.isAfter(workDateValue)){
+                            taskGroups=taskGroups.stream().filter(i->i.getName().equals("售前工时")).collect(Collectors.toList());
+                        }
+                    }else {
+                        if(orderApproveDate.isAfter(workDateValue)){
+                            taskGroups=taskGroups.stream().filter(i->i.getName().equals("售前工时")).collect(Collectors.toList());
+                        }
                     }
-                }else {
-                    if(orderApproveDate.isAfter(workDateValue)){
+                }else if(prodOrderDetails!=null && prodOrderDetails.size()>0){
+                    //不存在销售订单 但是存在生产订单的情况
+                    //校验最早审批通过时间
+                    ProdOrderDetail prodOrderDetail = prodOrderDetails.get(0);
+                    LocalDate relsDate = prodOrderDetail.getRelsDate();
+                    if(relsDate.isAfter(workDateValue)){
                         taskGroups=taskGroups.stream().filter(i->i.getName().equals("售前工时")).collect(Collectors.toList());
                     }
-                }
-            }else if(prodOrderDetails!=null && prodOrderDetails.size()>0){
-              //不存在销售订单 但是存在生产订单的情况
-                //校验最早审批通过时间
-                ProdOrderDetail prodOrderDetail = prodOrderDetails.get(0);
-                LocalDate relsDate = prodOrderDetail.getRelsDate();
-                if(relsDate.isAfter(workDateValue)){
+                } else {
                     taskGroups=taskGroups.stream().filter(i->i.getName().equals("售前工时")).collect(Collectors.toList());
                 }
-            } else {
-                taskGroups=taskGroups.stream().filter(i->i.getName().equals("售前工时")).collect(Collectors.toList());
             }
         }
         msg.data=taskGroups;