Kaynağa Gözat

部门和导出测试

yq 2 yıl önce
ebeveyn
işleme
3c192c4447

+ 13 - 3
src/main/java/com/usky/dxtop/common/core/domain/TreeSelect.java

@@ -1,12 +1,14 @@
 package com.usky.dxtop.common.core.domain;
 
-import java.io.Serializable;
-import java.util.List;
-import java.util.stream.Collectors;
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.usky.dxtop.model.Dept;
 import com.usky.dxtop.model.SysDept;
 import com.usky.dxtop.model.SysMenu;
 
+import java.io.Serializable;
+import java.util.List;
+import java.util.stream.Collectors;
+
 
 /**
  * Treeselect树结构实体类
@@ -39,6 +41,14 @@ public class TreeSelect implements Serializable
         this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
     }
 
+
+    public TreeSelect(Dept dept)
+    {
+        this.id = dept.getDId();
+        this.label = dept.getName();
+        this.children = dept.getChildren().stream().map(TreeSelect::new).collect(Collectors.toList());
+    }
+
     public TreeSelect(SysMenu menu)
     {
         this.id = menu.getMenuId();

+ 14 - 0
src/main/java/com/usky/dxtop/controller/web/business/DeptController.java

@@ -2,6 +2,7 @@ package com.usky.dxtop.controller.web.business;
 
 
 import com.usky.dxtop.common.core.domain.ApiResult;
+import com.usky.dxtop.common.core.domain.TreeSelect;
 import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.model.Dept;
 import com.usky.dxtop.service.DeptService;
@@ -45,5 +46,18 @@ public class DeptController {
     public ApiResult<List<Dept>> list(@RequestBody StaffRequest staffRequest){
         return ApiResult.success(deptService.list(staffRequest));
     }
+
+
+    /**
+     * 树状记录
+     * @param staffRequest
+     * @return
+     */
+    @PostMapping("treeList")
+    public ApiResult<List<TreeSelect>> treeList(@RequestBody StaffRequest staffRequest){
+        List<Dept> list = deptService.list(staffRequest);
+        return ApiResult.success(deptService.buildDeptTreeSelect(list));
+    }
+
 }
 

+ 3 - 2
src/main/java/com/usky/dxtop/model/DreUser.java

@@ -3,11 +3,12 @@ package com.usky.dxtop.model;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+
 /**
  * <p>
  * 
@@ -40,6 +41,6 @@ public class DreUser implements Serializable {
     private Integer isSend;
 
     @TableField(exist = false)
-    private boolean isDelFlag;
+    private boolean delFlag;
 
 }

+ 5 - 0
src/main/java/com/usky/dxtop/service/DeptService.java

@@ -2,6 +2,7 @@ package com.usky.dxtop.service;
 
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.usky.dxtop.common.core.domain.TreeSelect;
 import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.model.Dept;
 import com.usky.dxtop.service.vo.StaffRequest;
@@ -36,6 +37,10 @@ public interface DeptService extends IService<Dept> {
      */
     List<Dept> buildDeptTree(List<Dept> depts);
 
+    public List<TreeSelect> buildDeptTreeSelect(List<Dept> depts);
+
+    List<Dept> buildDeptTreeOne(List<Dept> depts);
+
 
     List<Long> getChildListByDept(List<Dept> depts,Dept dept,List<Long> deptIds);
 

+ 45 - 0
src/main/java/com/usky/dxtop/service/impl/DeptServiceImpl.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.usky.dxtop.common.core.domain.TreeSelect;
 import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.mapper.DeptMapper;
 import com.usky.dxtop.model.Dept;
@@ -88,6 +89,35 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements De
         return returnList;
     }
 
+    @Override
+    public List<TreeSelect> buildDeptTreeSelect(List<Dept> depts) {
+        List<Dept> deptTrees = buildDeptTreeOne(depts);
+        return deptTrees.stream().map(TreeSelect::new).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<Dept> buildDeptTreeOne(List<Dept> depts) {
+        List<Dept> returnList = new ArrayList<>();
+        List<String> tempList = depts.stream().map(Dept::getId).collect(Collectors.toList());
+        for (Dept dept:depts) {
+            try {
+                // 如果是顶级节点, 遍历该父节点的所有子节点
+                if (!tempList.contains(dept.getPid()))
+                {
+                    recursionFnOne(depts, dept);
+                    returnList.add(dept);
+                }
+            }catch (Exception e){
+                log.error("同步部门异常:"+e.getMessage());
+            }
+        }
+        if (returnList.isEmpty())
+        {
+            returnList = depts;
+        }
+        return returnList;
+    }
+
     @Override
     public List<Long> getChildListByDept(List<Dept> list, Dept t,List<Long> deptIds) {
         List<Dept> childList = getChildList(list, t);
@@ -116,6 +146,21 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements De
     }
 
 
+    /**
+     * 递归列表
+     */
+    private void recursionFnOne(List<Dept> list, Dept t) {
+        // 得到子节点列表
+        List<Dept> childList = getChildList(list, t);
+        t.setChildren(childList);
+        for (Dept tChild : childList) {
+            if (hasChild(list, tChild)) {
+                recursionFnOne(list, tChild);
+            }
+        }
+    }
+
+
 
 
 

+ 3 - 1
src/main/java/com/usky/dxtop/service/impl/DreOrderServiceImpl.java

@@ -135,7 +135,7 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
         Workbook workbook = null;
         try {
             ExportParams params = new ExportParams(null, "订单详情");
-            workbook = ExcelExportUtil.exportBigExcel(params, OrderExport.class,
+            workbook = ExcelExportUtil.exportBigExcel(params, DreOrderExport.class,
                     (o, i) -> {
                         dreOrderRequest.setCurrent(i);
                         dreOrderRequest.setSize(30);
@@ -195,10 +195,12 @@ public class DreOrderServiceImpl extends ServiceImpl<DreOrderMapper, DreOrder> i
         MapperFactory factory = new DefaultMapperFactory.Builder().build();
         factory.classMap(Order.class, OrderExport.class)
                 .exclude("orderStatus")
+                .exclude("mType")
                 .byDefault().register();
         MapperFacade mapper = factory.getMapperFacade();
         DreOrderExport orderExport = mapper.map(dreOrder, DreOrderExport.class);
         orderExport.setOrderStatus(OrderStatus.parse(dreOrder.getOrderStatus()).getName());
+        orderExport.setMenuType(dreOrder.getMType());
         return orderExport;
     }
 

+ 2 - 4
src/main/java/com/usky/dxtop/service/impl/DreUserServiceImpl.java

@@ -5,14 +5,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.usky.dxtop.common.core.page.CommonPage;
 import com.usky.dxtop.common.exception.CustomException;
-import com.usky.dxtop.model.DreUser;
 import com.usky.dxtop.mapper.DreUserMapper;
-import com.usky.dxtop.model.Staff;
-import com.usky.dxtop.model.StaffRadio;
+import com.usky.dxtop.model.DreUser;
 import com.usky.dxtop.service.DreUserService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.usky.dxtop.service.vo.DreUserVO;
 import org.springframework.stereotype.Service;
 

+ 5 - 29
src/main/java/com/usky/dxtop/service/vo/DreOrderExport.java

@@ -29,7 +29,7 @@ public class DreOrderExport {
     /**
      * 下单时间
      */
-    @Excel(name = "下单时间", height = 6, width = 20)
+    @Excel(name = "下单时间", height = 6, width = 20,format = "yyyy-MM-dd HH:mm:ss")
     private Date orderTime;
 
     /**
@@ -60,7 +60,7 @@ public class DreOrderExport {
      * 餐别
      */
     @Excel(name = "餐别", height = 6, width = 20)
-    private String mType;
+    private String menuType;
 
     /**
      * 接单人
@@ -71,7 +71,7 @@ public class DreOrderExport {
     /**
      * 接单时间
      */
-    @Excel(name = "接单时间", height = 6, width = 20)
+    @Excel(name = "接单时间", height = 6, width = 20,format = "yyyy-MM-dd HH:mm:ss")
     private Date receiveTime;
 
     /**
@@ -83,13 +83,13 @@ public class DreOrderExport {
     /**
      * 送单时间
      */
-    @Excel(name = "送单时间", height = 6, width = 20)
+    @Excel(name = "送单时间", height = 6, width = 20,format = "yyyy-MM-dd HH:mm:ss")
     private Date sendTime;
 
     /**
      * 完成时间
      */
-    @Excel(name = "完成时间", height = 6, width = 20)
+    @Excel(name = "完成时间", height = 6, width = 20,format = "yyyy-MM-dd HH:mm:ss")
     private Date sendEndTime;
 
     /**
@@ -97,28 +97,4 @@ public class DreOrderExport {
      */
     @Excel(name = "备注", height = 6, width = 20)
     private String remark;
-
-    /**
-     * 创建时间
-     */
-    @Excel(name = "创建时间", height = 6, width = 20)
-    private Date createTime;
-
-    /**
-     * 创建人
-     */
-    @Excel(name = "创建人", height = 6, width = 20)
-    private String createBy;
-
-    /**
-     * 修改时间
-     */
-    @Excel(name = "修改时间", height = 6, width = 20)
-    private Date updateTime;
-
-    /**
-     * 修改人
-     */
-    @Excel(name = "修改人", height = 6, width = 20)
-    private String updateBy;
 }

+ 2 - 1
src/main/java/com/usky/dxtop/service/vo/DreOrderRequest.java

@@ -1,7 +1,7 @@
 package com.usky.dxtop.service.vo;
 
+import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
-import oshi.driver.windows.wmi.Win32Processor;
 
 import java.util.Date;
 import java.util.List;
@@ -24,6 +24,7 @@ public class DreOrderRequest {
     /**
      * 餐别
      */
+    @JsonProperty("mType")
     private String mType;
     /**
      * 开始时间