|
@@ -465,42 +465,49 @@ public class TaskGroupController {
|
|
|
}
|
|
}
|
|
|
//针对泓浒 需要特殊处理分组
|
|
//针对泓浒 需要特殊处理分组
|
|
|
if(user.getCompanyId()==7536){
|
|
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());
|
|
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());
|
|
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;
|
|
msg.data=taskGroups;
|