2 Commity 8c994dc794 ... 454007c49a

Autor SHA1 Wiadomość Data
  weijianghai 454007c49a 调整车辆单位划分逻辑 1 tydzień temu
  weijianghai 8c994dc794 调整车辆单位划分逻辑 1 tydzień temu

+ 115 - 106
src/main/java/com/nokia/finance/tasks/service/car/CarService.java

@@ -189,6 +189,9 @@ public class CarService {
             return firstUnit;
         }
         String secondUnit = carUnitBo.getSecondUnit();
+        if (!StringUtils.hasText(secondUnit)) {
+            return firstUnit + "本部";
+        }
         if ("机动局".equals(firstUnit)) {
             for (String yj : ER_JI_MAP.keySet()) {
                 if (secondUnit.contains(yj)) {
@@ -295,131 +298,137 @@ public class CarService {
         if (carUnitBo == null || !StringUtils.hasText(areaNo) || !StringUtils.hasText(areaName)) {
             return null;
         }
+        String firstUnit = carUnitBo.getFirstUnit();
+        if ("华北基地建设部".equals(firstUnit)) {
+            return "HE018";
+        }
+        if ("雄安基地建设部".equals(firstUnit)) {
+            return "HE019";
+        }
         String secondUnit = carUnitBo.getSecondUnit();
-        if (!StringUtils.hasText(secondUnit)) {
-            // 河北省分公司
-            if ("省本部".equals(areaName)) {
-                return "HE001";
-            }
-            // 省分公司线路维护中心
-            if ("省机动局".equals(areaName)) {
-                return "HECS018";
-            }
-            // 市区
-            if ("沧州".equals(areaName)) {
-                return "D0130911";
-            }
-            if ("唐山".equals(areaName)) {
-                return "D0130202";
+        if (StringUtils.hasText(secondUnit)) {
+            if ("石家庄".equals(areaName)) {
+                if (secondUnit.contains("井陉矿区")) {
+                    return "D0130185";
+                }
+                if (secondUnit.contains("井陉")) {
+                    return "D0130121";
+                }
             }
             if ("秦皇岛".equals(areaName)) {
-                return "D0130302";
-            }
-            if ("廊坊".equals(areaName)) {
-                return "D0131000";
-            }
-            if ("张家口".equals(areaName)) {
-                return "D0130701";
-            }
-            if ("邢台".equals(areaName)) {
-                return "D0130502";
+                if (secondUnit.contains("北戴河新区")) {
+                    return "D0130325";
+                }
+                if (secondUnit.contains("北戴河")) {
+                    return "D0130304";
+                }
             }
             if ("邯郸".equals(areaName)) {
-                return "D0130402";
-            }
-            if ("保定".equals(areaName)) {
-                return "D0130601";
-            }
-            if ("石家庄".equals(areaName)) {
-                return "D0130186";
+                if (secondUnit.contains("峰峰")) {
+                    return "D0130406";
+                }
             }
-            if ("承德".equals(areaName)) {
-                return "D0130801";
+            if ("邢台".equals(areaName)) {
+                if (secondUnit.contains("内丘")) {
+                    return "D0130523";
+                }
+                if (secondUnit.contains("任泽")) {
+                    return "D0130526";
+                }
             }
-            if ("衡水".equals(areaName)) {
-                return "D0133001";
+            if ("省机动局".equals(areaName)) {
+                if (secondUnit.contains("沧州")) {
+                    return "HECS180";
+                }
+                if (secondUnit.contains("唐山")) {
+                    return "HECS181";
+                }
+                if (secondUnit.contains("秦皇岛")) {
+                    return "HECS182";
+                }
+                if (secondUnit.contains("廊坊")) {
+                    return "HECS183";
+                }
+                if (secondUnit.contains("张家口")) {
+                    return "HECS184";
+                }
+                if (secondUnit.contains("邢台")) {
+                    return "HECS185";
+                }
+                if (secondUnit.contains("邯郸")) {
+                    return "HECS186";
+                }
+                if (secondUnit.contains("保定")) {
+                    return "HECS187";
+                }
+                if (secondUnit.contains("石家庄")) {
+                    return "HECS188";
+                }
+                if (secondUnit.contains("承德")) {
+                    return "HECS189";
+                }
+                if (secondUnit.contains("衡水")) {
+                    return "HECS720";
+                }
+                if (secondUnit.contains("雄安")) {
+                    return "HECS728";
+                }
+                return "HECS018";
             }
             if ("雄安".equals(areaName)) {
-                return "D0130830";
+                secondUnit = secondUnit.replace("雄安新区", "");
             }
-            return null;
-        }
-        if ("石家庄".equals(areaName)) {
-            if (secondUnit.contains("井陉矿区")) {
-                return "D0130185";
-            }
-            if (secondUnit.contains("井陉")) {
-                return "D0130121";
+            List<OrganizationPo> l3 = thirdOrgListMap.getOrDefault(areaNo, new ArrayList<>());
+            for (OrganizationPo organizationPo : l3) {
+                if (secondUnit.contains(organizationPo.getName())) {
+                    return organizationPo.getId();
+                }
             }
         }
+        // 河北省分公司
+        if ("省本部".equals(areaName)) {
+            return "HE001";
+        }
+        // 省分公司线路维护中心
+        if ("省机动局".equals(areaName)) {
+            return "HECS018";
+        }
+        // 市区
+        if ("沧州".equals(areaName)) {
+            return "D0130911";
+        }
+        if ("唐山".equals(areaName)) {
+            return "D0130202";
+        }
         if ("秦皇岛".equals(areaName)) {
-            if (secondUnit.contains("北戴河新区")) {
-                return "D0130325";
-            }
-            if (secondUnit.contains("北戴河")) {
-                return "D0130304";
-            }
+            return "D0130302";
         }
-        if ("邯郸".equals(areaName)) {
-            if (secondUnit.contains("峰峰")) {
-                return "D0130406";
-            }
+        if ("廊坊".equals(areaName)) {
+            return "D0131000";
+        }
+        if ("张家口".equals(areaName)) {
+            return "D0130701";
         }
         if ("邢台".equals(areaName)) {
-            if (secondUnit.contains("内丘")) {
-                return "D0130523";
-            }
-            if (secondUnit.contains("任泽")) {
-                return "D0130526";
-            }
+            return "D0130502";
         }
-        if ("省机动局".equals(areaName)) {
-            if (secondUnit.contains("沧州")) {
-                return "HECS180";
-            }
-            if (secondUnit.contains("唐山")) {
-                return "HECS181";
-            }
-            if (secondUnit.contains("秦皇岛")) {
-                return "HECS182";
-            }
-            if (secondUnit.contains("廊坊")) {
-                return "HECS183";
-            }
-            if (secondUnit.contains("张家口")) {
-                return "HECS184";
-            }
-            if (secondUnit.contains("邢台")) {
-                return "HECS185";
-            }
-            if (secondUnit.contains("邯郸")) {
-                return "HECS186";
-            }
-            if (secondUnit.contains("保定")) {
-                return "HECS187";
-            }
-            if (secondUnit.contains("石家庄")) {
-                return "HECS188";
-            }
-            if (secondUnit.contains("承德")) {
-                return "HECS189";
-            }
-            if (secondUnit.contains("衡水")) {
-                return "HECS720";
-            }
-            if (secondUnit.contains("雄安")) {
-                return "HECS728";
-            }
-            return "HECS018";
+        if ("邯郸".equals(areaName)) {
+            return "D0130402";
         }
-        if ("雄安".equals(areaName)) {
-            secondUnit = secondUnit.replace("雄安新区", "");
+        if ("保定".equals(areaName)) {
+            return "D0130601";
         }
-        List<OrganizationPo> l3 = thirdOrgListMap.getOrDefault(areaNo, new ArrayList<>());
-        for (OrganizationPo organizationPo : l3) {
-            if (secondUnit.contains(organizationPo.getName())) {
-                return organizationPo.getId();
-            }
+        if ("石家庄".equals(areaName)) {
+            return "D0130186";
+        }
+        if ("承德".equals(areaName)) {
+            return "D0130801";
+        }
+        if ("衡水".equals(areaName)) {
+            return "D0133001";
+        }
+        if ("雄安".equals(areaName)) {
+            return "D0130830";
         }
         return null;
     }