wanghaicheng 5 лет назад
Родитель
Сommit
93540cd31d

+ 6 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/organization/dao/entity/OrganizationTree.java

@@ -0,0 +1,6 @@
+package cn.com.ty.lift.enterprise.organization.dao.entity;
+
+public class OrganizationTree {
+    private String areaName;
+    private String areaCode;
+}

+ 197 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/organization/dao/entity/Project.java

@@ -0,0 +1,197 @@
+package cn.com.ty.lift.enterprise.organization.dao.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 项目
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-13
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class Project implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 项目ID
+     */
+    @TableId("id")
+    private Long id;
+
+    /**
+     * 维保公司ID
+     */
+    @TableField("mt_company_id")
+    private Long mtCompanyId;
+
+    /**
+     * 甲方公司ID
+     */
+    @TableField("pp_company_id")
+    private Long ppCompanyId;
+
+    /**
+     * 甲方联系人ID
+     */
+    @TableField("pp_contact_id")
+    private Long ppContactId;
+
+    /**
+     * 项目编号
+     */
+    @TableField("project_code")
+    private String projectCode;
+
+    /**
+     * 项目名称
+     */
+    @TableField("project_name")
+    private String projectName;
+
+    /**
+     * 省编码
+     */
+    @TableField("province_code")
+    private String provinceCode;
+
+    /**
+     * 省
+     */
+    @TableField("province")
+    private String province;
+
+    /**
+     * 市编码
+     */
+    @TableField("city_code")
+    private String cityCode;
+
+    /**
+     * 市
+     */
+    @TableField("city")
+    private String city;
+
+    /**
+     * 区编码
+     */
+    @TableField("district_code")
+    private String districtCode;
+
+    /**
+     * 区
+     */
+    @TableField("district")
+    private String district;
+
+    /**
+     * 项目地址
+     */
+    @TableField("address")
+    private String address;
+
+    /**
+     * 台量
+     */
+    @TableField("num")
+    private Integer num;
+
+    /**
+     * 实际台量
+     */
+    @TableField("actual_num")
+    private Integer actualNum;
+
+    /**
+     * 用途 1.住宅2.办公楼3.医院4.商场5.工厂6.酒店7.交通枢纽8.学校9.剧场10.其他
+     */
+    @TableField("project_usage")
+    private Integer projectUsage;
+
+    /**
+     * 开始时间
+     */
+    @TableField("start_date")
+    private LocalDate startDate;
+
+    /**
+     * 结束时间
+     */
+    @TableField("end_date")
+    private LocalDate endDate;
+
+    /**
+     * 状态  0:删除 1:尚未开始(项目开始日期晚于系统日期);2:服务中(系统日期在项目开始和结束日期之间,包括相等) 3:停止服务4.逾期
+     */
+    @TableField("project_status")
+    private Integer projectStatus;
+
+    /**
+     * 备注
+     */
+    @TableField("remarks")
+    private String remarks;
+
+    /**
+     * 是否锁定 0否 1是
+     */
+    @TableField("is_locked")
+    private Integer isLocked;
+
+    /**
+     * 创建人ID
+     */
+    @TableField("creator_id")
+    private Long creatorId;
+
+    /**
+     * 创建时间
+     */
+    @TableField("create_date")
+    private LocalDateTime createDate;
+
+    /**
+     * 评价方式 0是默认 24  1天后自动评价 48  48小时候默认好评
+     */
+    @TableField("evaluate")
+    private Integer evaluate;
+
+    /**
+     * 停止服务描述
+     */
+    @TableField("end_remarks")
+    private String endRemarks;
+
+    /**
+     * 维保班长编辑电梯负责人权限  0否1是
+     */
+    @TableField("if_monitor")
+    private Integer ifMonitor;
+
+    /**
+     * 维保工查看所有电梯权限 0否 1是
+     */
+    @TableField("all_project")
+    private Integer allProject;
+
+    /**
+     * 区域ID
+     */
+    @TableField("region_id")
+    private Long regionId;
+
+
+}

+ 16 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/organization/dao/mapper/ProjectMapper.java

@@ -0,0 +1,16 @@
+package cn.com.ty.lift.enterprise.organization.dao.mapper;
+
+import cn.com.ty.lift.enterprise.organization.dao.entity.Project;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 项目 Mapper 接口
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-13
+ */
+public interface ProjectMapper extends BaseMapper<Project> {
+
+}

+ 40 - 15
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/organization/service/OrganizationService.java

@@ -2,53 +2,78 @@ package cn.com.ty.lift.enterprise.organization.service;
 
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.enterprise.common.mapper.CommonMapper;
+import cn.com.ty.lift.enterprise.organization.dao.entity.Project;
 import cn.com.ty.lift.enterprise.organization.dao.entity.model.OrganizationReq;
+import cn.com.ty.lift.enterprise.organization.service.impl.ProjectServiceImpl;
 import cn.com.xwy.boot.web.dto.RestResponse;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
+import org.apache.commons.configuration.tree.TreeUtils;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 @AllArgsConstructor
 public class OrganizationService {
     private final CommonMapper mapper;
+    private final ProjectServiceImpl projectService;
 
     //获取维保公司下的1省,2市,3区,4项目和电梯数量 5项目成员列表
     public RestResponse datas(OrganizationReq organizationReq) {
-        List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
+        Map<String, Object> treeData = new HashMap<>();
+
+
+        List<Map<String, Object>> provinces = new ArrayList<>();
+        List<Map<String, Object>> cities = new ArrayList<>();
+        List<Map<String, Object>> districts = new ArrayList<>();
+        List<Map<String, Object>> projects = new ArrayList<>();
+        List<Map<String, Object>> projectUsers = new ArrayList<>();
         switch (organizationReq.getListType()) {
             case 1:
-                list = mapper.list("DISTINCT province",
+                provinces = mapper.list("DISTINCT province,province_code provinceCode",
                         "project",
                         "where mt_company_id= " + organizationReq.getMtCompanyId());
-                break;
-            case 2:
-                list = mapper.list("DISTINCT city",
+                cities = mapper.list("DISTINCT city,city_code cityCode",
                         "project",
                         "where mt_company_id= " + organizationReq.getMtCompanyId());
-                break;
-            case 3:
-                list = mapper.list("DISTINCT district",
+                districts = mapper.list("DISTINCT district,district_code districtCode",
                         "project",
                         "where mt_company_id= " + organizationReq.getMtCompanyId());
                 break;
             case 4:
-                list = mapper.list("DISTINCT id,project_name,num",
+                projects = mapper.list("DISTINCT id,project_name,num",
                         "project",
                         "where mt_company_id= " + organizationReq.getMtCompanyId());
                 break;
             case 5:
-                list = mapper.list(" pu.project_id,u.avatar_url,u.name,u.mobile,pu.is_monitor ",
+                projectUsers = mapper.list(" pu.project_id,u.avatar_url,u.name,u.mobile,pu.is_monitor ",
                         " project_user pu left join user_info u on u.user_id = pu.user_id ",
                         "where mt_company_id = " + organizationReq.getMtCompanyId() + " and project_id = " + organizationReq.getProjectId());
                 break;
         }
-        if (list.isEmpty()) {
+        List<Project> projectss = projectService.list(new QueryWrapper<Project>()
+                .select("province", "city", "district", "project_name", "num")
+                .eq("mt_company_id", organizationReq.getMtCompanyId()));
+        for (Map<String, Object> province : provinces) {
+            for (Map<String, Object> city : cities) {
+                for (Map<String, Object> district : districts) {
+
+                }
+            }
+        }
+        treeData.put("province", provinces);
+        treeData.put("city", cities);
+        treeData.put("district", districts);
+
+
+        if (provinces.isEmpty()) {
             return RestResponse.ok(null, ApiConstants.RESULT_NO_DATA, "无数据");
         }
-        return RestResponse.ok(list, ApiConstants.RESULT_SUCCESS, "查询成功");
+        HashMap<String, Object> allData = new HashMap<>();
+        allData.put("provinces", provinces);
+        allData.put("cities", cities);
+        allData.put("districts", districts);
+        return RestResponse.ok(allData, ApiConstants.RESULT_SUCCESS, "查询成功");
     }
 }

+ 16 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/organization/service/ProjectService.java

@@ -0,0 +1,16 @@
+package cn.com.ty.lift.enterprise.organization.service;
+
+import cn.com.ty.lift.enterprise.organization.dao.entity.Project;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 项目 服务类
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-13
+ */
+public interface ProjectService extends IService<Project> {
+
+}

+ 20 - 0
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/organization/service/impl/ProjectServiceImpl.java

@@ -0,0 +1,20 @@
+package cn.com.ty.lift.enterprise.organization.service.impl;
+
+import cn.com.ty.lift.enterprise.organization.dao.entity.Project;
+import cn.com.ty.lift.enterprise.organization.dao.mapper.ProjectMapper;
+import cn.com.ty.lift.enterprise.organization.service.ProjectService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 项目 服务实现类
+ * </p>
+ *
+ * @author wang-hai-cheng
+ * @since 2019-12-13
+ */
+@Service
+public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> implements ProjectService {
+
+}

+ 8 - 8
lift-enterprise-service/src/main/java/cn/com/ty/lift/enterprise/region/controller/RegionController.java

@@ -76,14 +76,14 @@ public class RegionController {
 
     @PostMapping("/project/areas")
     public RestResponse areas(@RequestBody AreaCode areaCode) {
-    mapper.list("id,","area_code"," where parent="+areaCode.getParent()+)
-        List<AreaCode> areaCodes = areaCodeService.list(new QueryWrapper<AreaCode>()
-                .eq("parent", areaCode.getParent())
-                .eq("level", 3));
-
-        if (areaCodes.isEmpty()) {
+//        mapper.list("id,", "area_code", " where parent=" + areaCode.getParent());
+//        List<AreaCode> areaCodes = areaCodeService.list(new QueryWrapper<AreaCode>()
+//                .eq("parent", areaCode.getParent())
+//                .eq("level", 3));
+//
+//        if (areaCodes.isEmpty()) {
             return RestResponse.ok(null, ApiConstants.RESULT_NO_DATA, "无数据");
-        }
-        return RestResponse.ok(areaCodes, ApiConstants.RESULT_SUCCESS, "查询成功");
+//        }
+//        return RestResponse.ok(areaCodes, ApiConstants.RESULT_SUCCESS, "查询成功");
     }
 }

+ 14 - 12
lift-system-service/src/main/java/cn/com/ty/lift/system/faq/controller/FaqController.java

@@ -3,14 +3,12 @@ package cn.com.ty.lift.system.faq.controller;
 
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.system.faq.entity.Faq;
-import cn.com.ty.lift.system.faq.entity.model.FaqReq;
 import cn.com.ty.lift.system.faq.service.impl.FaqServiceImpl;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -23,16 +21,19 @@ import java.util.List;
 @AllArgsConstructor
 public class FaqController {
     private final FaqServiceImpl faqService;
-
-    @PostMapping("/child")
     /**
-     * @description 查询父id下的子分类和问题
-     * @date 2019/12/12 17:22
-     * @param [faq]
-     * @return cn.com.xwy.boot.web.dto.RestResponse
-     */
-    public RestResponse kind(@RequestBody Faq faq) {
-        return RestResponse.ok(faqService.kindAndQuestion(faq), ApiConstants.RESULT_SUCCESS, "查询成功");
+         * @description 获取分类及问题列表
+         * @date 2019/12/13 10:11
+         * @param
+         * @return
+         */
+    @PostMapping("/child")
+    public RestResponse aa(){
+        List<Faq> faqs = faqService.list(new QueryWrapper<Faq>().eq("type", 1).or().eq("type", 2));
+        if (faqs.isEmpty()) {
+            return RestResponse.ok(null,ApiConstants.RESULT_NO_DATA,"无数据");
+        }
+        return RestResponse.ok(faqs,ApiConstants.RESULT_SUCCESS,"查询成功");
     }
 
     @PostMapping("/list")
@@ -78,7 +79,7 @@ public class FaqController {
      * @param [id]
      * @return cn.com.xwy.boot.web.dto.RestResponse
      */
-    public RestResponse deleteAll(@RequestBody Faq faq) {
+    public RestResponse delete(@RequestBody Faq faq) {
         return faqService.delete(faq.getId());
     }
 
@@ -103,4 +104,5 @@ public class FaqController {
     public RestResponse down(@RequestBody Faq faq) {
         return faqService.serial(faq.getId(), 0);
     }
+
 }

+ 2 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/faq/entity/Faq.java

@@ -1,5 +1,6 @@
 package cn.com.ty.lift.system.faq.entity;
 
+import cn.com.ty.lift.common.model.BaseTree;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -20,7 +21,7 @@ import java.io.Serializable;
 @Data
 @EqualsAndHashCode(callSuper = false)
 @Accessors(chain = true)
-public class Faq implements Serializable {
+public class Faq extends BaseTree implements Serializable {
 
     private static final long serialVersionUID = 1L;
 

+ 0 - 8
lift-system-service/src/main/java/cn/com/ty/lift/system/faq/entity/model/FaqReq.java

@@ -1,8 +0,0 @@
-package cn.com.ty.lift.system.faq.entity.model;
-
-import lombok.Data;
-
-@Data
-public class FaqReq {
-    private Integer type;
-}

+ 18 - 19
lift-system-service/src/main/java/cn/com/ty/lift/system/faq/service/impl/FaqServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.com.ty.lift.system.faq.service.impl;
 
+import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.system.faq.entity.Faq;
 import cn.com.ty.lift.system.faq.mapper.FaqMapper;
 import cn.com.ty.lift.system.faq.service.FaqService;
@@ -9,9 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.lang.reflect.Array;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -59,22 +58,31 @@ public class FaqServiceImpl extends ServiceImpl<FaqMapper, Faq> implements FaqSe
 
     public RestResponse delete(Long id) {
         List<Long> ids = new ArrayList<>();
-        List<Faq> faqs = this.list();
-        ids = this.ids(id, faqs, ids);
+        List<Faq> faqs = this.list(new QueryWrapper<Faq>().select("id", "parent_id"));
+
+        this.ids(id, faqs, ids);
+        ids.add(id);
+
         if (this.removeByIds(ids)) {
-            return RestResponse.ok(null, "1", "删除成功");
+            return RestResponse.ok(null, ApiConstants.RESULT_SUCCESS, "删除成功");
         }
-        return RestResponse.ok(null, "0", "删除失败");
+        return RestResponse.ok(null, ApiConstants.RESULT_ERROR, "删除失败");
     }
 
-    private List<Long> ids(Long id, List<Faq> faqs, List<Long> ids) {
+    private void ids(Long id, List<Faq> faqs, List<Long> ids) {
+        List<Long> childIds = new ArrayList<>();
+        //遍历常见问题列表
         for (Faq faq : faqs) {
+            //如果是要删除id下的子id
             if (id.equals(faq.getParentId())) {
-                ids.add(faq.getParentId());
-                ids.addAll(this.ids(faq.getParentId(), faqs, ids));
+                //就把id标记删除
+                childIds.add(faq.getId());
+                //然后再遍历这个子id,看有没有符合的id要标记删除,并将要删除的id列表传进去
+                this.ids(faq.getId(), faqs, ids);
             }
         }
-        return ids;
+        //把要删除的子id记录到ids列表里
+        ids.addAll(childIds);
     }
 
     //type 1上移 0下移
@@ -132,13 +140,4 @@ public class FaqServiceImpl extends ServiceImpl<FaqMapper, Faq> implements FaqSe
 
         return RestResponse.ok(null, "1", "移动成功");
     }
-
-    public HashMap<String, List<Faq>> kindAndQuestion(Faq faq) {
-        List<Faq> kind = this.list(new QueryWrapper<Faq>().eq("type", 1).eq("parent_id", faq.getId()));
-        List<Faq> question = this.list(new QueryWrapper<Faq>().eq("type", 2).eq("parent_id", faq.getId()));
-        HashMap<String, List<Faq>> kindAndquestions = new HashMap<>();
-        kindAndquestions.put("kind", kind);
-        kindAndquestions.put("question", question);
-        return kindAndquestions;
-    }
 }