Bläddra i källkod

新增报价单管理

haoyu 2 år sedan
förälder
incheckning
4e9cdc56aa

+ 28 - 0
sql/Online.sql

@@ -0,0 +1,28 @@
+--  add by hy   2024-05-13 添加 机构报价单表
+DROP TABLE IF EXISTS `sys_quotation_organization`;
+CREATE TABLE `sys_quotation_organization`  (
+                                               `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主键ID',
+                                               `organization_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '机构id',
+                                               `theme_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主题id',
+                                               `user_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交人',
+                                               `create_time` datetime(0) NULL DEFAULT NULL COMMENT '提交时间',
+                                               `theme_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '主题Code'
+) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+
+--  add by hy   2024-05-13 添加 报价单主题表
+DROP TABLE IF EXISTS `sys_quotation_theme`;
+CREATE TABLE `sys_quotation_theme`  (
+                                        `id` int(0) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
+                                        `quotation_abbr` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报价单简称',
+                                        `quotation_descr` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报价单描述',
+                                        `quotation_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报价单id',
+                                        `quotation_image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '报价单路径',
+                                        `qr_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '二维码id',
+                                        `qrcode_image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '二维码路径',
+                                        `user_id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '提交人',
+                                        `create_time` datetime(0) NULL DEFAULT NULL COMMENT '提交时间',
+                                        `state` int(0) NULL DEFAULT NULL COMMENT '状态',
+                                        `theme_colour` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '颜色',
+                                        `theme_code` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT 'code',
+                                        PRIMARY KEY (`id`) USING BTREE
+) ENGINE = InnoDB AUTO_INCREMENT = 18 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

+ 178 - 0
src/main/java/com/ydtech/modules/admin/controller/SysQuotationController.java

@@ -0,0 +1,178 @@
+package com.ydtech.modules.admin.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.core.page.HttpResult;
+import com.ydtech.modules.admin.model.SysDept;
+import com.ydtech.modules.admin.model.SysUser;
+import com.ydtech.modules.admin.model.po.SysOrganizationQuotation;
+import com.ydtech.modules.admin.model.po.SysQuotationTheme;
+import com.ydtech.modules.admin.model.vo.SysQuotationThemeVo;
+import com.ydtech.modules.admin.service.SysDeptService;
+import com.ydtech.modules.admin.service.SysOrganizationQuotationService;
+import com.ydtech.modules.admin.service.SysQuotationThemeService;
+import com.ydtech.modules.admin.service.SysUserService;
+import com.ydtech.modules.base.controller.BaseController;
+import com.ydtech.modules.protocol.utils.AssertionUtils;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+@RestController
+@RequestMapping("/sys/quotation")
+@RequiredArgsConstructor
+@Api(tags = "报价单管理")
+public class SysQuotationController extends BaseController {
+
+    @Autowired
+    private SysOrganizationQuotationService sysOrganizationQuotationService;
+
+    @Autowired
+    private SysQuotationThemeService sysQuotationThemeService;
+
+    @Autowired
+    private SysUserService sysUserService;
+
+    @Autowired
+    private SysDeptService sysDeptService;
+
+
+    @ApiOperation(value = "分页查询报价单")
+    @PostMapping(value = "page")
+    public HttpResult<Page<SysQuotationTheme>> getpage(@RequestBody SysQuotationThemeVo sysQuotationThemeVo) {
+        Page<SysQuotationTheme> page = sysQuotationThemeService.getPage(sysQuotationThemeVo);
+        return HttpResult.ok(page);
+    }
+
+    @ApiOperation(value = "获取所有报价单主题")
+    @PostMapping(value = "list")
+    public HttpResult<List<SysQuotationTheme>> getlist() {
+        List<SysQuotationTheme> list = sysQuotationThemeService.list();
+        return HttpResult.ok(list);
+    }
+
+    @ApiOperation(value = "添加报价单主题")
+    @PostMapping(value = "/save/sysQuotationTheme")
+    public HttpResult<SysQuotationTheme> save(@RequestBody SysQuotationTheme sysQuotationTheme) {
+        SysQuotationTheme one = sysQuotationThemeService.getOne(new LambdaQueryWrapper<SysQuotationTheme>().eq(SysQuotationTheme::getThemeCode, sysQuotationTheme.getThemeCode()));
+        if (one != null) {
+            return HttpResult.error("code重复,请重新输入");
+        }
+        sysQuotationTheme.setUserId(getUserId());
+        sysQuotationTheme.setCreateTime(new Date());
+        boolean save = sysQuotationThemeService.save(sysQuotationTheme);
+        AssertionUtils.isSucceed(save, "添加失败");
+        return HttpResult.ok("添加成功");
+    }
+
+    @ApiOperation(value = "修改报价单主题")
+    @PostMapping(value = "/update/sysQuotationTheme")
+    public HttpResult<SysQuotationTheme> update(@RequestBody SysQuotationTheme sysQuotationTheme) {
+        SysQuotationTheme one = sysQuotationThemeService.getOne(new LambdaQueryWrapper<SysQuotationTheme>().eq(SysQuotationTheme::getThemeCode, sysQuotationTheme.getThemeCode()));
+        if (one != null) {
+            return HttpResult.error("code重复,请重新输入");
+        }
+        sysQuotationTheme.setUserId(getUserId());
+        sysQuotationTheme.setCreateTime(new Date());
+        boolean update = sysQuotationThemeService.updateById(sysQuotationTheme);
+        AssertionUtils.isSucceed(update, "修改失败");
+        return HttpResult.ok(sysQuotationTheme);
+    }
+
+    @ApiOperation(value = "删除报价单主题")
+    @PostMapping(value = "/delete/sysQuotationTheme")
+    public HttpResult<SysQuotationTheme> delete(@RequestBody SysQuotationTheme sysQuotationTheme) {
+        boolean delete = sysQuotationThemeService.removeById(sysQuotationTheme);
+        AssertionUtils.isSucceed(delete, "删除失败");
+        return HttpResult.ok("删除成功");
+    }
+
+
+    @ApiOperation(value = "获取树结构")
+    @GetMapping(value = "/findTree")
+    public HttpResult<List<SysDept>> findTree(String deptId, String managementSource) {
+        //获取主题报价单关联数据
+        List<SysOrganizationQuotation> quotations = sysOrganizationQuotationService.list();
+        //获取主题数据
+        List<SysQuotationTheme> quotationThemes = sysQuotationThemeService.list();
+        //获取机构数据
+        List<SysDept> Depts = sysDeptService.findTree(deptId, managementSource);
+        List<SysDept> DeptList = sysOrganizationQuotationService.findTree(quotations, quotationThemes, Depts);
+        return HttpResult.ok(DeptList);
+    }
+
+
+    @ApiOperation(value = "报价单授权批量编辑")
+    @PostMapping(value = "/batch")
+    public HttpResult<SysOrganizationQuotation> batch(@RequestBody SysOrganizationQuotation sysOrganizationQuotation) {
+        // 构造查询条件,根据提供的组织ID集合查询出对应的报价单授权信息,然后进行删除
+        LambdaQueryWrapper<SysOrganizationQuotation> removeWrapper = new LambdaQueryWrapper<>();
+        removeWrapper.in(SysOrganizationQuotation::getOrganizationId, sysOrganizationQuotation.getOrganizationIds());
+        sysOrganizationQuotationService.remove(removeWrapper);
+        List<String> organizationIds = sysOrganizationQuotation.getOrganizationIds();
+        // 遍历组织ID集合,为每个组织ID构造新的报价单授权信息,并添加到待保存的列表中
+        ArrayList<SysOrganizationQuotation> quotations = new ArrayList<>();
+        for (String organizationId : organizationIds) {
+            SysOrganizationQuotation quotation = new SysOrganizationQuotation();
+            quotation.setOrganizationId(organizationId);
+            quotation.setThemeId(sysOrganizationQuotation.getThemeId());
+            quotation.setUserId(getUserId());
+            quotation.setCreateTime(new Date());
+            quotations.add(quotation);
+        }
+        // 批量保存新的报价单授权信息
+        boolean saveBatch = sysOrganizationQuotationService.saveBatch(quotations);
+        // 断言添加操作成功,若失败则抛出异常
+        AssertionUtils.isSucceed(saveBatch, "添加失败");
+        return HttpResult.ok("添加成功");
+    }
+
+    @ApiOperation(value = "报价单授权编辑")
+    @PostMapping(value = "/redact")
+    public HttpResult<SysOrganizationQuotation> redact(@RequestBody SysOrganizationQuotation sysOrganizationQuotation) {
+        // 构造查询条件,删除与新报价单组织ID相同的旧报价单
+        LambdaQueryWrapper<SysOrganizationQuotation> removeWrapper = new LambdaQueryWrapper<>();
+        removeWrapper.eq(SysOrganizationQuotation::getOrganizationId, sysOrganizationQuotation.getOrganizationId());
+        sysOrganizationQuotationService.remove(removeWrapper);
+        // 设置新报价单信息,包括用户ID和创建时间
+        sysOrganizationQuotation.setUserId(getUserId());
+        sysOrganizationQuotation.setCreateTime(new Date());
+        // 保存新的报价单信息
+        boolean save = sysOrganizationQuotationService.save(sysOrganizationQuotation);
+        // 断言新增操作成功
+        AssertionUtils.isSucceed(save, "添加失败");
+        return HttpResult.ok("添加成功");
+    }
+
+    @ApiOperation(value = "报价单授权编辑回填")
+    @GetMapping(value = "/get/{id}")
+    public HttpResult<SysOrganizationQuotation> getSysOrganizationQuotation(@PathVariable String id) {
+        LambdaQueryWrapper<SysOrganizationQuotation> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SysOrganizationQuotation::getOrganizationId, id);
+        SysOrganizationQuotation serviceOne = sysOrganizationQuotationService.getOne(queryWrapper);
+        return HttpResult.ok(serviceOne);
+    }
+
+    @ApiOperation(value = "获取用户对应报价单")
+    @GetMapping(value = "/getThemeByUserId")
+    public HttpResult<SysOrganizationQuotation> getThemeByUserId() {
+        SysUser user = getUser();
+        String deptId = user.getDeptId();
+        LambdaQueryWrapper<SysOrganizationQuotation> oQueryWrapper = new LambdaQueryWrapper<>();
+        oQueryWrapper.eq(SysOrganizationQuotation::getOrganizationId, deptId);
+        SysOrganizationQuotation quotationServiceOne = sysOrganizationQuotationService.getOne(oQueryWrapper);
+        if (quotationServiceOne == null) {
+            quotationServiceOne = new SysOrganizationQuotation();
+            quotationServiceOne.setThemeCode("QD");
+        }
+        return HttpResult.ok(quotationServiceOne);
+    }
+}

+ 8 - 0
src/main/java/com/ydtech/modules/admin/dao/SysOrganizationQuotationDao.java

@@ -0,0 +1,8 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.po.SysOrganizationQuotation;
+import com.ydtech.modules.admin.model.po.SysUserTreeShowLevel;
+
+public interface SysOrganizationQuotationDao extends BaseMapper<SysOrganizationQuotation> {
+}

+ 8 - 0
src/main/java/com/ydtech/modules/admin/dao/SysQuotationThemeDao.java

@@ -0,0 +1,8 @@
+package com.ydtech.modules.admin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ydtech.modules.admin.model.po.SysOrganizationQuotation;
+import com.ydtech.modules.admin.model.po.SysQuotationTheme;
+
+public interface SysQuotationThemeDao extends BaseMapper<SysQuotationTheme> {
+}

+ 15 - 0
src/main/java/com/ydtech/modules/admin/model/SysDept.java

@@ -144,6 +144,21 @@ public class SysDept implements Serializable {
     @TableField(exist = false)
     private Integer deptCount;
 
+//--------------------------------
+    // 非数据库字段
+    //主题简称
+    @TableField(exist = false)
+    private String themeName;
+
+    //主题颜色
+    // 非数据库字段
+    @TableField(exist = false)
+    private String themeColour;
+
+    //标示
+    // 非数据库字段
+    @TableField(exist = false)
+    private Integer mark;
 
 }
 

+ 77 - 0
src/main/java/com/ydtech/modules/admin/model/po/SysOrganizationQuotation.java

@@ -0,0 +1,77 @@
+package com.ydtech.modules.admin.model.po;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@TableName(value = "sys_quotation_organization")
+@Data
+public class SysOrganizationQuotation {
+
+
+    /**
+     * id
+     */
+    @ApiModelProperty(value = "ID")
+    @TableId(value = "id")
+    private String id;
+
+
+    /**
+     * 机构id
+     */
+    @ApiModelProperty(value = "机构id")
+    @TableField(value = "organization_id")
+    private String organizationId;
+
+
+    /**
+     * 报价单主题Id
+     */
+    @ApiModelProperty(value = "报价单主题Id")
+    @TableField(value = "theme_id")
+    private String themeId;
+
+
+    /**
+     * 报价单主题Code
+     */
+    @ApiModelProperty(value = "报价单主题Code")
+    @TableField(value = "theme_code")
+    private String themeCode;
+
+
+    /**
+     * 提交人
+     */
+    @ApiModelProperty(value = "提交用户")
+    @TableField(value = "user_id")
+    private String userId;
+
+    /**
+     * 提交时间
+     */
+    @ApiModelProperty(value = "修改时间")
+    @TableField(value = "create_time")
+    private Date createTime;
+
+
+    /**
+     * 授权部门IDS
+     */
+    @ApiModelProperty(value = "授权部门Ids")
+    @TableField(exist = false)
+    private List<String> organizationIds;
+
+    /**
+     * 报价单code
+     */
+    @TableField(exist = false)
+    private String sysQuotationThemeId;
+
+}

+ 106 - 0
src/main/java/com/ydtech/modules/admin/model/po/SysQuotationTheme.java

@@ -0,0 +1,106 @@
+package com.ydtech.modules.admin.model.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ydtech.core.page.PageRequest;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import lombok.Data;
+
+import java.util.Date;
+
+@TableName(value = "sys_quotation_theme")
+@Data
+public class SysQuotationTheme {
+
+    /**
+     * id
+     */
+    @ApiModelProperty(value = "ID(展示)")
+    @TableId(type = IdType.AUTO)
+    private String id;
+
+    /**
+     * 报价单简称
+     */
+    @ApiModelProperty(value = "报价单简称(展示)")
+    @TableField(value = "quotation_abbr")
+    private String quotationAbbr;
+
+    /**
+     * 报价单描述
+     */
+    @ApiModelProperty(value = "报价单描述(展示)")
+    @TableField(value = "quotation_descr")
+    private String quotationDescr;
+
+    /**
+     * 报价单id
+     */
+    @ApiModelProperty(value = "报价单id")
+    @TableField(value = "quotation_id")
+    private String quotationId;
+
+    /**
+     * 报价单访问路径
+     */
+    @ApiModelProperty(value = "报价单访问路径")
+    @TableField(value = "quotation_image")
+    private String quotationImage;
+
+    /**
+     * 二维码访问路径
+     */
+    @ApiModelProperty(value = "二维码访问路径")
+    @TableField(value = "qrcode_image")
+    private String qrCodeImage;
+
+    /**
+     * 二维码id
+     */
+    @ApiModelProperty(value = "二维码id")
+    @TableField(value = "qr_code")
+    private String qrCode;
+
+    /**
+     * 提交人
+     */
+    @ApiModelProperty(value = "提交用户(展示)")
+    @TableField(value = "user_id")
+    private String userId;
+
+    /**
+     * 提交时间
+     */
+    @ApiModelProperty(value = "修改时间(展示)")
+    @TableField(value = "create_time")
+    private Date createTime;
+
+    /**
+     * 主题状态
+     */
+    @ApiModelProperty(value = "状态(展示)")
+    @TableField(value = "state")
+    private Integer state;
+
+    /**
+     * 主题颜色
+     */
+    @ApiModelProperty(value = "主题颜色")
+    @TableField(value = "theme_colour")
+    private String themeColour;
+
+    /**
+     * 主题Code
+     */
+    @ApiModelProperty(value = "主题Code")
+    @TableField(value = "theme_code")
+    private String themeCode;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+
+}

+ 8 - 0
src/main/java/com/ydtech/modules/admin/model/vo/SysQuotationThemeVo.java

@@ -0,0 +1,8 @@
+package com.ydtech.modules.admin.model.vo;
+
+import com.ydtech.core.page.PageRequest;
+
+public class SysQuotationThemeVo extends PageRequest {
+
+
+}

+ 12 - 0
src/main/java/com/ydtech/modules/admin/service/SysOrganizationQuotationService.java

@@ -0,0 +1,12 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.SysDept;
+import com.ydtech.modules.admin.model.po.SysOrganizationQuotation;
+import com.ydtech.modules.admin.model.po.SysQuotationTheme;
+
+import java.util.List;
+
+public interface SysOrganizationQuotationService extends IService<SysOrganizationQuotation> {
+    List<SysDept> findTree(List<SysOrganizationQuotation> quotations,List<SysQuotationTheme> quotationThemes,List<SysDept> Depts);
+}

+ 11 - 0
src/main/java/com/ydtech/modules/admin/service/SysQuotationThemeService.java

@@ -0,0 +1,11 @@
+package com.ydtech.modules.admin.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ydtech.modules.admin.model.po.SysQuotationTheme;
+import com.ydtech.modules.admin.model.vo.SysQuotationThemeVo;
+
+public interface SysQuotationThemeService extends IService<SysQuotationTheme> {
+    Page<SysQuotationTheme> getPage(SysQuotationThemeVo sysQuotationThemeVo);
+
+}

+ 80 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysOrganizationQuotationImpl.java

@@ -0,0 +1,80 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.modules.admin.dao.SysOrganizationQuotationDao;
+import com.ydtech.modules.admin.model.SysDept;
+import com.ydtech.modules.admin.model.po.SysOrganizationQuotation;
+import com.ydtech.modules.admin.model.po.SysQuotationTheme;
+import com.ydtech.modules.admin.service.SysOrganizationQuotationService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+public class SysOrganizationQuotationImpl extends ServiceImpl<SysOrganizationQuotationDao, SysOrganizationQuotation> implements SysOrganizationQuotationService {
+
+    /**
+     * 根据提供的组织报价和报价主题列表,构建部门树。
+     *
+     * @param quotations 组织报价列表,用于映射组织和报价的关系。
+     * @param quotationThemes 报价主题列表,用于映射主题和报价的关系。
+     * @param sysDepts 部门列表,初始为空,函数将递归构建其结构。
+     * @return 返回构建完成的部门树列表。
+     */
+    @Override
+    public List<SysDept> findTree(List<SysOrganizationQuotation> quotations, List<SysQuotationTheme> quotationThemes, List<SysDept> sysDepts) {
+        // 将组织报价列表转换为Map,以组织ID为键
+        Map<String, SysOrganizationQuotation> quotationMap = quotations.stream()
+                .collect(Collectors.toMap(
+                        SysOrganizationQuotation::getOrganizationId,
+                        quotation -> quotation
+                ));
+        // 将报价主题列表转换为Map,以主题ID为键
+        Map<String, SysQuotationTheme> themeMap = quotationThemes.stream()
+                .collect(Collectors.toMap(
+                        SysQuotationTheme::getId,
+                        Theme -> Theme
+                ));
+
+        // 通过递归构建部门树
+        recursion(quotationMap, themeMap, sysDepts);
+
+        return sysDepts;
+    }
+
+    /**
+     * 通过递归遍历部门树结构,为每个部门设置报价信息和标记。
+     *
+     * @param quotationMap 包含部门ID和其对应报价信息的映射。
+     * @param themeMap 包含报价主题ID和其对应信息的映射。
+     * @param sysDepts 部门列表,代表需要遍历的部门树的根节点列表。
+     */
+    public void recursion(Map<String, SysOrganizationQuotation> quotationMap, Map<String, SysQuotationTheme> themeMap, List<SysDept> sysDepts) {
+        // 遍历所有给定的部门
+        for (SysDept sysDept : sysDepts) {
+            // 获取当前部门的子部门列表
+            List<SysDept> children = sysDept.getChildren();
+            // 尝试从报价映射中获取当前部门的报价信息
+            SysOrganizationQuotation quotation = quotationMap.get(sysDept.getId());
+            // 初始化部门的标记和主题名称
+            sysDept.setMark(1);
+            sysDept.setThemeName("无");
+            // 如果找到了报价信息,则设置部门的主题名称和颜色
+            if (quotation != null) {
+                SysQuotationTheme sysQuotationTheme = themeMap.get(quotation.getThemeId());
+                if (sysQuotationTheme != null) {
+                    sysDept.setThemeName(sysQuotationTheme.getQuotationAbbr());
+                    sysDept.setThemeColour(sysQuotationTheme.getThemeColour());
+                }
+            }
+            // 如果部门ID包含特定字符,修改部门的标记
+            if (sysDept.getId().contains("D") && !sysDept.getId().contains("M")) {
+                sysDept.setMark(0);
+            }
+            // 递归处理当前部门的子部门
+            recursion(quotationMap, themeMap, children);
+        }
+    }
+}

+ 31 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysQuotationThemeImpl.java

@@ -0,0 +1,31 @@
+package com.ydtech.modules.admin.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ydtech.core.page.PageRequest;
+import com.ydtech.modules.admin.dao.SysQuotationThemeDao;
+import com.ydtech.modules.admin.model.po.SysQuotationTheme;
+import com.ydtech.modules.admin.model.vo.SysQuotationThemeVo;
+import com.ydtech.modules.admin.service.SysQuotationThemeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+@Service
+public class SysQuotationThemeImpl extends ServiceImpl<SysQuotationThemeDao, SysQuotationTheme> implements SysQuotationThemeService {
+
+
+    @Autowired
+    private SysQuotationThemeDao sysQuotationThemeDao;
+
+    @Override
+    public Page<SysQuotationTheme> getPage(SysQuotationThemeVo sysQuotationThemeVo) {
+        PageRequest pageRequest = new PageRequest();
+        pageRequest.setPageNum(sysQuotationThemeVo.getPageNum());
+        pageRequest.setPageSize(sysQuotationThemeVo.getPageSize());
+        Page page = PageRequest.buildPageRequest(pageRequest);
+        LambdaQueryWrapper<SysQuotationTheme> wrapper = new LambdaQueryWrapper<>();
+        Page<SysQuotationTheme> pageData = sysQuotationThemeDao.selectPage(page, wrapper);
+        return pageData;
+    }
+}

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

@@ -153,10 +153,10 @@ public class InsAreaCompanyServiceImpl extends ServiceImpl<InsAreaCompanyMapper,
             orderQueryVo.setQuoteEndDateStr(orderQueryVo.getQuoteEndDateStr().toString() + " 23:59:59");
         }
 
-        if(orderQueryVo.getAttachStartDateStr() != null && orderQueryVo.getAttachEndDateStr() != null){
-            orderQueryVo.setAttachStartDateStr(orderQueryVo.getAttachStartDateStr().toString() + " 00:00:00");
-            orderQueryVo.setAttachEndDateStr(orderQueryVo.getAttachEndDateStr().toString() + " 23:59:59");
-        }
+//        if(orderQueryVo.getAttachStartDateStr() != null && orderQueryVo.getAttachEndDateStr() != null){
+//            orderQueryVo.setAttachStartDateStr(orderQueryVo.getAttachStartDateStr().toString() + " 00:00:00");
+//            orderQueryVo.setAttachEndDateStr(orderQueryVo.getAttachEndDateStr().toString() + " 23:59:59");
+//        }
         **/
         Page<InsOrders> pendingAuditOrders = baseMapper.getAuditOrders(page, orderQueryVo);
         pendingAuditOrders.getRecords().forEach(item->{