Explorar el Código

归属机构按省市县展示

haoyu hace 2 años
padre
commit
182d8cd65c

+ 11 - 3
src/main/java/com/ydtech/modules/admin/service/SysDeptService.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ydtech.core.page.HttpResult;
 import com.ydtech.core.page.PageRequest;
 import com.ydtech.core.page.PageResult;
+import com.ydtech.modules.admin.model.SysArea;
 import com.ydtech.modules.admin.model.SysDept;
 import com.ydtech.modules.admin.model.vo.SysDeptRemoveVo;
 import com.ydtech.modules.admin.model.vo.SysDeptVo;
@@ -28,11 +29,11 @@ public interface SysDeptService extends IService<SysDept> {
     /**
      * 获取树结构
      *
-     * @param deptId 部门id
+     * @param deptId           部门id
      * @param managementSource 机构来源
      * @return 返回部门列表
      */
-    List<SysDept> findTree(String deptId,String managementSource);
+    List<SysDept> findTree(String deptId, String managementSource);
 
     /**
      * 增加机构
@@ -52,7 +53,6 @@ public interface SysDeptService extends IService<SysDept> {
 
     /**
      * 删除机构
-     *
      */
     void deleteDept(SysDeptRemoveVo sysDeptRemoveVo);
 
@@ -89,6 +89,14 @@ public interface SysDeptService extends IService<SysDept> {
      * @return
      */
     String queryBelongArea(String deptId);
+
+    /**
+     * 查询归属地区信息
+     *
+     * @param deptId
+     * @return
+     */
+    List<SysArea> getListQueryBelongArea(String deptId);
 }
 
 

+ 16 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysDeptServiceImpl.java

@@ -477,6 +477,22 @@ public class SysDeptServiceImpl extends ServiceImpl<SysDeptMapper, SysDept>
         return result.toString();
     }
 
+    @Override
+    public List<SysArea> getListQueryBelongArea(String deptId) {
+        //长度大于8的话 进行切割
+        StringBuilder result = new StringBuilder();
+        List<SysArea> sysAreas = new ArrayList<>();
+        if (deptId.length() >= 8) {
+            String area = deptId.substring(2, 8);
+            SysArea sysArea = sysAreaMapper.selectOne(new LambdaQueryWrapper<SysArea>().eq(SysArea::getAreaCode, area));
+            if (sysArea == null) {
+                return null;
+            }
+            sysAreas = sysAreaService.queryAllParent(sysArea);
+        }
+        return sysAreas;
+    }
+
 }
 
 

+ 32 - 0
src/main/java/com/ydtech/modules/order/entity/vo/OrderVo.java

@@ -69,6 +69,23 @@ public class OrderVo implements Serializable {
     private String deptAreaInfo;
 
 
+    /**
+     * 代理团队归属信息(省份)
+     */
+    private String province;
+
+    /**
+     * 代理团队归属信息(市区)
+     */
+    private String city;
+
+
+    /**
+     * 代理团队归属信息(区县)
+     */
+    private String prefecture;
+
+
     /**
      * 代理团队名称
      */
@@ -400,6 +417,21 @@ public class OrderVo implements Serializable {
      */
     private String referrerDeptAreaInfo;
 
+    /**
+     * 推荐人机构归属信息(省份)
+     */
+    private String referrerProvince;
+
+    /**
+     * 推荐人机构归属信息(市区)
+     */
+    private String referrerCity;
+
+    /**
+     * 推荐人机构归属信息(县级)
+     */
+    private String referrerPrefecture;
+
     /**
      * 推荐人手机号
      */

+ 12 - 4
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -531,7 +531,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
     public HttpResult<OrderVo> getByCompanyId(@NotBlank(message = "子订单不能为空") String companyId, String userId) {
         OrderVo orderAndAreaCompany = baseMapper.getOrderAndAreaCompany(companyId);
         //团队归属信息
-        String areaInfo = sysDeptService.queryBelongArea(orderAndAreaCompany.getDeptid());
+        List<SysArea> sysAreas = sysDeptService.getListQueryBelongArea(orderAndAreaCompany.getDeptid());
+//        String areaInfo = sysDeptService.queryBelongArea(orderAndAreaCompany.getDeptid());
         SysUser sysUser = Optional.ofNullable(sysUserService.getById(orderAndAreaCompany.getUserid()))
                 .orElse(new SysUser());
 
@@ -544,7 +545,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             }
         }
         orderAndAreaCompany.setMobile(sysUser.getMobile());
-        orderAndAreaCompany.setDeptAreaInfo(areaInfo);
+        orderAndAreaCompany.setProvince(sysAreas.get(2).getAreaCname());
+        orderAndAreaCompany.setCity(sysAreas.get(1).getAreaCname());
+        orderAndAreaCompany.setPrefecture(sysAreas.get(0).getAreaCname());
+        orderAndAreaCompany.setDeptAreaInfo(null);
         //推荐人信息查询
         EsmUserReferrer esmUserReferrer = esmUserReferrerService.getById(orderAndAreaCompany.getUserid());
         if(esmUserReferrer != null){
@@ -564,8 +568,12 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 orderAndAreaCompany.setReferrerName(referrerUser.getName());
                 orderAndAreaCompany.setReferrerDeptId(referrerUser.getDeptId());
                 SysDept sysDept = sysDeptService.getById(referrerUser.getDeptId());
-                orderAndAreaCompany.setReferrerDeptName(sysDept!=null?sysDept.getName():null);
-                orderAndAreaCompany.setReferrerDeptAreaInfo(sysDeptService.queryBelongArea(referrerUser.getDeptId()));
+                orderAndAreaCompany.setReferrerDeptName(sysDept != null ? sysDept.getName() : null);
+                List<SysArea> listQueryBelongArea = sysDeptService.getListQueryBelongArea(referrerUser.getDeptId());
+                orderAndAreaCompany.setReferrerProvince(listQueryBelongArea.get(2).getAreaCname());
+                orderAndAreaCompany.setReferrerCity(listQueryBelongArea.get(1).getAreaCname());
+                orderAndAreaCompany.setReferrerPrefecture(listQueryBelongArea.get(0).getAreaCname());
+                orderAndAreaCompany.setReferrerDeptAreaInfo(null);
             }
         }