qushaowei
2024-03-19 cdeec053dbbc842c03dd1a0b961b3b3321c5ac20
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/CalibrationOrderServiceImpl.java
@@ -129,6 +129,16 @@
    }
    /**
     * 根据模型传入的编码  判断改编码公司/中心/工段的哪一级
     * 获取当前登录人工段级对应的编码
     * qsw 2024-3-18
     */
    @Override
    public String findAreaProductionCode(String userId) {
        return this.baseMapper.findAreaProductionCode(userId);
    }
    /**
     * 设备检定工单 创建时通过设备获取设备精度参数
     * qsw 2023-7-18
     */
@@ -252,6 +262,7 @@
     */
    @Override
    public List<Map<String, Object>> getTwoMaintenancePlanList(String productionCode) {
        Boolean flag = true;
        List<Map<String, Object>> list = new ArrayList<>();
        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        Integer userType = user.getUserType();
@@ -264,18 +275,55 @@
                if(ORG_TYPE_2.equals(orgType)){
                    Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
                    areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getId,area.getId()).eq(Area::getDelFlag, "0").list();
                } else if(ORG_TYPE_3.equals(orgType)){
                    //工段级直接显示工段下要保养的设备明细
                    flag = false;
                    String siteProductionCode = this.baseMapper.findSiteProductionCode(productionCode);
                    Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, siteProductionCode).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
                    Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
                    if(areaOne != null && area != null){
                        String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId());
                        list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate);
                    }
                }
//                else if(ORG_TYPE_3.equals(orgType)){
//                    Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
//                    list = calibrationOrderService.getThisMonthMaintenanceFinishList("",area.getId());
//                }
            }
        }else if(USER_TYPE_3.equals(userType)){
            String code = this.baseMapper.findProductionCode(user.getId());
            Area area = null;
            if(StringUtils.isBlank(productionCode)){
                area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
                if(area != null){
                    areaList = areaService.lambdaQuery().eq(Area::getType, "1").eq(Area::getId,area.getId()).eq(Area::getDelFlag, "0").list();
                }
            }else{
                //工段级直接显示工段下要保养的设备明细
                flag = false;
                Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
                area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, productionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
                if(areaOne != null && area != null){
                    String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId());
                    list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate);
                }
            }
        }else if(USER_TYPE_2.equals(userType)){
            //工段级直接显示工段下要保养的设备明细
            flag = false;
            String areaProductionCode = this.baseMapper.findAreaProductionCode(user.getId());
            String code = this.baseMapper.findSiteProductionCode(productionCode);
            Area areaOne = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, code).eq(Area::getType, "1").eq(Area::getDelFlag, 0));
            Area area = areaService.getOne(new LambdaQueryWrapper<Area>().eq(Area::getNum, areaProductionCode).eq(Area::getType, "3").eq(Area::getDelFlag, 0));
            if(areaOne != null && area != null){
                String maintenanceDate = this.baseMapper.findMaintenanceDate(areaOne.getId());
                list = this.baseMapper.getAreTwoMaintenancePlanDetails(area.getId(), maintenanceDate);
            }
        }
        for (Area area : areaList) {
            String id = area.getId();
            List<Map<String, Object>> centerTwoMaintenancePlanList = this.baseMapper.getCenterTwoMaintenancePlanList(id);
            if(centerTwoMaintenancePlanList.size()>0){
                list.add(centerTwoMaintenancePlanList.get(0));
        if(flag == true){
            for (Area area : areaList) {
                String id = area.getId();
                List<Map<String, Object>> centerTwoMaintenancePlanList = this.baseMapper.getCenterTwoMaintenancePlanList(id);
                if(centerTwoMaintenancePlanList.size()>0){
                    list.add(centerTwoMaintenancePlanList.get(0));
                }
            }
        }
        return list;