Commit 0c3ae01d49d35edf492e9ec0eeb784d71a2662e8

Authored by 谢茂盛
1 parent 9ddf8770

feat: 问题修复项

1、项目报告书字段拆分
2、创建订单指定业务员
3、增加系统配置
sql/table.sql
... ... @@ -22,6 +22,7 @@ CREATE TABLE `order_base_info` (
22 22 `outbound_type` varchar(32) DEFAULT NULL COMMENT '出库类型',
23 23 `packet_type` varchar(64) DEFAULT NULL COMMENT '包装类型',
24 24 `order_status` INT NOT NULL COMMENT '订单状态',
  25 + `business_person` varchar(64) DEFAULT NULL COMMENT '业务员',
25 26 `enable_flag` INT NOT NULL COMMENT '是否可用 10-可用 20-删除',
26 27 `create_time` DATETIME NOT NULL COMMENT '创建时间',
27 28 `create_by` varchar(64) NOT NULL COMMENT '创建人',
... ... @@ -65,8 +66,11 @@ CREATE TABLE `order_completion_report` (
65 66 `id` bigint NOT NULL AUTO_INCREMENT,
66 67 `order_id` bigint NOT NULL COMMENT '订单id',
67 68 `idea_source` varchar(64) DEFAULT NULL COMMENT '想法来源',
68   - `manual_preform` varchar(64) DEFAULT NULL COMMENT '手工初型',
69   - `idea_manual_rate` DOUBLE DEFAULT 0 COMMENT '想法和手工比例分配',
  69 + `idea_source_rate` DOUBLE DEFAULT 0 COMMENT '想法来源占比',
  70 + `manual_preform1` varchar(64) DEFAULT NULL COMMENT '手工初型1',
  71 + `manual_preform1_rate` DOUBLE DEFAULT 0 COMMENT '手工初型1占比',
  72 + `manual_preform2` varchar(64) DEFAULT NULL COMMENT '手工初型2',
  73 + `manual_preform2_rate` DOUBLE DEFAULT 0 COMMENT '手工初型2占比',
70 74 `order_status` INT NOT NULL COMMENT '订单状态',
71 75 `enable_flag` INT NOT NULL COMMENT '是否可用 10-可用 20-删除',
72 76 `create_time` DATETIME NOT NULL COMMENT '创建时间',
... ... @@ -200,4 +204,23 @@ CREATE TABLE `order_audit_log` (
200 204 `modify_by` varchar(64) DEFAULT NULL COMMENT '修改人',
201 205 `version` INT DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
202 206 PRIMARY KEY (`id`)
203   -) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户订单审批日志表';
204 207 \ No newline at end of file
  208 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户订单审批日志表';
  209 +
  210 +DROP TABLE IF EXISTS `system_setting`;
  211 +CREATE TABLE `system_setting` (
  212 + `id` bigint NOT NULL AUTO_INCREMENT,
  213 + `setting_code` varchar(64) NOT NULL COMMENT '配置code',
  214 + `setting_name` varchar(64) not null COMMENT '名称',
  215 + `setting_value` varchar(64) not null COMMENT '值',
  216 + `setting_type` INT NOT NULL COMMENT '配置类型,0 单个配置项,1:多个配置项',
  217 + `relation_code` varchar(64) NOT NULL COMMENT '关联code',
  218 + `relation_name` varchar(64) not null COMMENT '名称',
  219 + `relation_value` varchar(64) not null COMMENT '值',
  220 + `enable_flag` INT NOT NULL COMMENT '是否可用 10-可用 20-删除',
  221 + `create_time` DATETIME NOT NULL COMMENT '创建时间',
  222 + `create_by` varchar(64) NOT NULL COMMENT '创建人',
  223 + `modify_time` DATETIME DEFAULT NULL COMMENT '修改时间',
  224 + `modify_by` varchar(64) DEFAULT NULL COMMENT '修改人',
  225 + `version` INT DEFAULT NULL COMMENT '版本号--乐观锁预留字段',
  226 + PRIMARY KEY (`id`)
  227 +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统配置';
205 228 \ No newline at end of file
... ...
src/main/java/com/order/erp/common/utils/OrderFieldUtils.java
... ... @@ -67,9 +67,12 @@ public class OrderFieldUtils {
67 67 public static OrderCompletionReportFieldVO initReportField(OrderLockFieldEnum lockFieldEnum) {
68 68 String locked = lockFieldEnum.getStatus();
69 69 return OrderCompletionReportFieldVO.builder()
70   - .ideaManualRate(locked)
  70 + .ideaSourceRate(locked)
71 71 .ideaSource(locked)
72   - .manualPreform(locked)
  72 + .manualPreform1(locked)
  73 + .manualPreform1Rate(locked)
  74 + .manualPreform2(locked)
  75 + .manualPreform2Rate(locked)
73 76 .orderStatus(locked)
74 77 .build();
75 78 }
... ...
src/main/java/com/order/erp/config/DataScope.java
1 1 package com.order.erp.config;
2 2  
3 3 import com.order.erp.common.utils.SecurityUtils;
  4 +import com.order.erp.domain.RoleEnum;
4 5 import com.order.erp.domain.vo.UserVO;
5 6 import com.order.erp.domain.vo.admin.AdminResultVO;
6 7 import com.order.erp.service.admin.AdminUserService;
... ... @@ -35,6 +36,14 @@ public class DataScope {
35 36 }
36 37  
37 38 /**
  39 + *
  40 + * @return
  41 + */
  42 + public RoleEnum getRole() {
  43 + return userService.getRoleBy(SecurityUtils.getUsername()).getData();
  44 + }
  45 +
  46 + /**
38 47 * @return
39 48 */
40 49 public String getLoginUserName() {
... ...
src/main/java/com/order/erp/controller/SystemSettingController.java 0 → 100644
  1 +package com.order.erp.controller;
  2 +
  3 +import com.order.erp.common.constant.ServerResult;
  4 +import com.order.erp.common.jsr303.OperateGroup;
  5 +import com.order.erp.domain.vo.SystemSettingQueryVO;
  6 +import com.order.erp.domain.vo.SystemSettingVO;
  7 +import com.order.erp.service.SystemSettingService;
  8 +import org.springframework.validation.annotation.Validated;
  9 +import org.springframework.web.bind.annotation.PostMapping;
  10 +import org.springframework.web.bind.annotation.RequestBody;
  11 +import org.springframework.web.bind.annotation.RequestMapping;
  12 +import org.springframework.web.bind.annotation.RestController;
  13 +
  14 +import javax.annotation.Resource;
  15 +
  16 +/**
  17 + * 系统配置(SystemSetting)表控制层
  18 + *
  19 + * @author makejava
  20 + * @since 2023-12-05 13:44:02
  21 + */
  22 +@RestController
  23 +@RequestMapping("/order/erp/system_setting")
  24 +public class SystemSettingController {
  25 + /**
  26 + * 服务对象
  27 + */
  28 + @Resource
  29 + private SystemSettingService systemSettingService;
  30 +
  31 + /**
  32 + * 分页查询
  33 + *
  34 + * @param systemSettingQueryVO 查询条件
  35 + * @return 查询结果
  36 + */
  37 + @PostMapping("/query_list")
  38 + public ServerResult queryList(@RequestBody @Validated({OperateGroup.List.class}) SystemSettingQueryVO systemSettingQueryVO) {
  39 + return systemSettingService.list(systemSettingQueryVO);
  40 + }
  41 +
  42 + /**
  43 + * 分页查询
  44 + *
  45 + * @param systemSettingQueryVO 查询条件
  46 + * @return 查询结果
  47 + */
  48 + @PostMapping("/list_by_page")
  49 + public ServerResult listByPage(@RequestBody @Validated({OperateGroup.List.class}) SystemSettingQueryVO systemSettingQueryVO) {
  50 + return systemSettingService.listByPage(systemSettingQueryVO);
  51 + }
  52 +
  53 + /**
  54 + * 通过主键查询单条数据
  55 + *
  56 + * @param systemSettingQueryVO 查询条件
  57 + * @return 单条数据
  58 + */
  59 + @PostMapping("/query_by_id")
  60 + public ServerResult queryById(@RequestBody SystemSettingQueryVO systemSettingQueryVO) {
  61 + return systemSettingService.queryById(systemSettingQueryVO);
  62 + }
  63 +
  64 + /**
  65 + * 新增数据
  66 + *
  67 + * @param systemSettingVO 数据VO
  68 + * @return 新增结果
  69 + */
  70 + @PostMapping("/add")
  71 + public ServerResult add(@RequestBody SystemSettingVO systemSettingVO) {
  72 + return systemSettingService.add(systemSettingVO);
  73 + }
  74 +
  75 + /**
  76 + * 编辑数据
  77 + *
  78 + * @param systemSettingVO 数据VO
  79 + * @return 编辑结果
  80 + */
  81 + @PostMapping("/edit")
  82 + public ServerResult edit(@RequestBody SystemSettingVO systemSettingVO) {
  83 + return systemSettingService.edit(systemSettingVO);
  84 + }
  85 +
  86 + /**
  87 + * 删除数据
  88 + *
  89 + * @param systemSettingQueryVO 查询条件
  90 + * @return 删除是否成功
  91 + */
  92 + @PostMapping("/delete_by_id")
  93 + public ServerResult deleteById(@RequestBody SystemSettingQueryVO systemSettingQueryVO) {
  94 + return systemSettingService.deleteById(systemSettingQueryVO);
  95 + }
  96 +
  97 +}
  98 +
... ...
src/main/java/com/order/erp/domain/dto/SystemSettingDO.java 0 → 100644
  1 +package com.order.erp.domain.dto;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.TableName;
  4 +import lombok.*;
  5 +import lombok.experimental.SuperBuilder;
  6 +
  7 +import java.io.Serializable;
  8 +
  9 +/**
  10 + * 系统配置(SystemSetting)实体类
  11 + *
  12 + * @author makejava
  13 + * @since 2023-12-05 13:43:58
  14 + */
  15 +@TableName("system_setting")
  16 +@Data
  17 +@AllArgsConstructor
  18 +@ToString
  19 +@NoArgsConstructor
  20 +@EqualsAndHashCode(callSuper = false)
  21 +@SuperBuilder
  22 +public class SystemSettingDO extends BaseDO implements Serializable {
  23 +
  24 + private Long id;
  25 + /**
  26 + * 配置code
  27 + */
  28 + private String settingCode;
  29 + /**
  30 + * 名称
  31 + */
  32 + private String settingName;
  33 + /**
  34 + * 值
  35 + */
  36 + private String settingValue;
  37 + /**
  38 + * 配置类型,0 单个配置项,1:多个配置项
  39 + */
  40 + private Integer settingType;
  41 + /**
  42 + * 关联code
  43 + */
  44 + private String relationCode;
  45 + /**
  46 + * 名称
  47 + */
  48 + private String relationName;
  49 + /**
  50 + * 值
  51 + */
  52 + private String relationValue;
  53 +
  54 +}
... ...
src/main/java/com/order/erp/domain/dto/order/OrderBaseInfoDO.java
... ... @@ -100,6 +100,7 @@ public class OrderBaseInfoDO extends BaseDO implements Serializable {
100 100 * 出库类型
101 101 */
102 102 private String outboundType;
  103 +
103 104 /**
104 105 * 包装类型
105 106 */
... ... @@ -110,4 +111,8 @@ public class OrderBaseInfoDO extends BaseDO implements Serializable {
110 111 */
111 112 private Integer orderStatus;
112 113  
  114 + /**
  115 + * 业务员
  116 + */
  117 + private String businessPerson;
113 118 }
... ...
src/main/java/com/order/erp/domain/dto/order/OrderCompletionReportDO.java
... ... @@ -32,14 +32,31 @@ public class OrderCompletionReportDO extends BaseDO implements Serializable {
32 32 * 想法来源
33 33 */
34 34 private String ideaSource;
  35 +
  36 + /**
  37 + * 想法来源占比
  38 + */
  39 + private Double ideaSourceRate;
  40 +
35 41 /**
36   - * 手工初型
  42 + * 手工初型1
37 43 */
38   - private String manualPreform;
  44 + private String manualPreform1;
  45 +
  46 + /**
  47 + * 手工初型1占比
  48 + */
  49 + private Double manualPreform1Rate;
  50 +
  51 + /**
  52 + * 手工初型2
  53 + */
  54 + private String manualPreform2;
  55 +
39 56 /**
40   - * 想法和手工比例分配
  57 + * 手工初型2占比
41 58 */
42   - private Double ideaManualRate;
  59 + private Double manualPreform2Rate;
43 60  
44 61 /**
45 62 * 订单状态:枚举类 OrderStatusEnum
... ...
src/main/java/com/order/erp/domain/vo/SystemSettingQueryVO.java 0 → 100644
  1 +package com.order.erp.domain.vo;
  2 +
  3 +import lombok.*;
  4 +import lombok.experimental.SuperBuilder;
  5 +
  6 +import java.io.Serializable;
  7 +import java.util.List;
  8 +
  9 +/**
  10 + * 系统配置(SystemSetting)实体类
  11 + *
  12 + * @author makejava
  13 + * @since 2023-12-05 13:44:02
  14 + */
  15 +@Data
  16 +@AllArgsConstructor
  17 +@ToString
  18 +@NoArgsConstructor
  19 +@EqualsAndHashCode(callSuper = false)
  20 +@SuperBuilder
  21 +public class SystemSettingQueryVO extends BasePageVO implements Serializable {
  22 +
  23 + private List<Long> ids;
  24 +
  25 +
  26 + private Long id;
  27 + /**
  28 + * 配置code
  29 + */
  30 + private String settingCode;
  31 + /**
  32 + * 名称
  33 + */
  34 + private String settingName;
  35 + /**
  36 + * 值
  37 + */
  38 + private String settingValue;
  39 + /**
  40 + * 配置类型,0 单个配置项,1:多个配置项
  41 + */
  42 + private Integer settingType;
  43 + /**
  44 + * 关联code
  45 + */
  46 + private String relationCode;
  47 + /**
  48 + * 名称
  49 + */
  50 + private String relationName;
  51 + /**
  52 + * 值
  53 + */
  54 + private String relationValue;
  55 +
  56 +
  57 +}
  58 +
... ...
src/main/java/com/order/erp/domain/vo/SystemSettingResultVO.java 0 → 100644
  1 +package com.order.erp.domain.vo;
  2 +
  3 +import lombok.*;
  4 +import lombok.experimental.SuperBuilder;
  5 +
  6 +import java.io.Serializable;
  7 +
  8 +/**
  9 + * @author makejava
  10 + * @since 2023-08-30 17:51:48
  11 + */
  12 +@Data
  13 +@AllArgsConstructor
  14 +@ToString
  15 +@NoArgsConstructor
  16 +@EqualsAndHashCode(callSuper = false)
  17 +@SuperBuilder
  18 +public class SystemSettingResultVO implements Serializable {
  19 +
  20 + private Long id;
  21 + /**
  22 + * 配置code
  23 + */
  24 + private String settingCode;
  25 + /**
  26 + * 名称
  27 + */
  28 + private String settingName;
  29 + /**
  30 + * 值
  31 + */
  32 + private String settingValue;
  33 + /**
  34 + * 配置类型,0 单个配置项,1:多个配置项
  35 + */
  36 + private Integer settingType;
  37 + /**
  38 + * 关联code
  39 + */
  40 + private String relationCode;
  41 + /**
  42 + * 名称
  43 + */
  44 + private String relationName;
  45 + /**
  46 + * 值
  47 + */
  48 + private String relationValue;
  49 +
  50 +
  51 +}
... ...
src/main/java/com/order/erp/domain/vo/SystemSettingVO.java 0 → 100644
  1 +package com.order.erp.domain.vo;
  2 +
  3 +import lombok.*;
  4 +import lombok.experimental.SuperBuilder;
  5 +
  6 +import java.io.Serializable;
  7 +
  8 +/**
  9 + * 系统配置(SystemSetting)实体类
  10 + *
  11 + * @author makejava
  12 + * @since 2023-12-05 13:44:01
  13 + */
  14 +@Data
  15 +@AllArgsConstructor
  16 +@ToString
  17 +@NoArgsConstructor
  18 +@EqualsAndHashCode(callSuper = false)
  19 +@SuperBuilder
  20 +public class SystemSettingVO implements Serializable {
  21 +
  22 + private Long id;
  23 + /**
  24 + * 配置code
  25 + */
  26 + private String settingCode;
  27 + /**
  28 + * 名称
  29 + */
  30 + private String settingName;
  31 + /**
  32 + * 值
  33 + */
  34 + private String settingValue;
  35 + /**
  36 + * 配置类型,0 单个配置项,1:多个配置项
  37 + */
  38 + private Integer settingType;
  39 + /**
  40 + * 关联code
  41 + */
  42 + private String relationCode;
  43 + /**
  44 + * 名称
  45 + */
  46 + private String relationName;
  47 + /**
  48 + * 值
  49 + */
  50 + private String relationValue;
  51 +
  52 +
  53 +}
... ...
src/main/java/com/order/erp/domain/vo/order/OrderBaseInfoQueryVO.java
... ... @@ -140,5 +140,15 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable {
140 140 */
141 141 private OrderLockFieldVO fieldVO;
142 142  
  143 + /**
  144 + * 创建人
  145 + */
  146 + private String createBy;
  147 +
  148 + /**
  149 + * 业务员
  150 + */
  151 + private String businessPerson;
  152 +
143 153 }
144 154  
... ...
src/main/java/com/order/erp/domain/vo/order/OrderBaseInfoVO.java
... ... @@ -108,4 +108,9 @@ public class OrderBaseInfoVO implements Serializable {
108 108 */
109 109 private Integer orderStatus;
110 110  
  111 + /**
  112 + * 业务员
  113 + */
  114 + private String businessPerson;
  115 +
111 116 }
... ...
src/main/java/com/order/erp/domain/vo/order/OrderCompletionReportFieldVO.java
... ... @@ -27,14 +27,31 @@ public class OrderCompletionReportFieldVO implements Serializable {
27 27 * 想法来源
28 28 */
29 29 private String ideaSource;
  30 +
  31 + /**
  32 + * 想法来源占比
  33 + */
  34 + private String ideaSourceRate;
  35 +
30 36 /**
31   - * 手工初型
  37 + * 手工初型1
32 38 */
33   - private String manualPreform;
  39 + private String manualPreform1;
  40 +
  41 + /**
  42 + * 手工初型1占比
  43 + */
  44 + private String manualPreform1Rate;
  45 +
  46 + /**
  47 + * 手工初型2
  48 + */
  49 + private String manualPreform2;
  50 +
34 51 /**
35   - * 想法和手工比例分配
  52 + * 手工初型2占比
36 53 */
37   - private String ideaManualRate;
  54 + private String manualPreform2Rate;
38 55  
39 56 /**
40 57 * 订单状态
... ...
src/main/java/com/order/erp/domain/vo/order/OrderCompletionReportVO.java
... ... @@ -29,14 +29,32 @@ public class OrderCompletionReportVO implements Serializable {
29 29 * 想法来源
30 30 */
31 31 private String ideaSource;
  32 +
  33 + /**
  34 + * 想法来源占比
  35 + */
  36 + private Double ideaSourceRate;
  37 +
  38 + /**
  39 + * 手工初型1
  40 + */
  41 + private String manualPreform1;
  42 +
  43 + /**
  44 + * 手工初型1占比
  45 + */
  46 + private Double manualPreform1Rate;
  47 +
32 48 /**
33   - * 手工初型
  49 + * 手工初型2
34 50 */
35   - private String manualPreform;
  51 + private String manualPreform2;
  52 +
36 53 /**
37   - * 想法和手工比例分配
  54 + * 手工初型2占比
38 55 */
39   - private Double ideaManualRate;
  56 + private Double manualPreform2Rate;
  57 +
40 58  
41 59 /**
42 60 * 订单状态:枚举类 OrderStatusEnum
... ...
src/main/java/com/order/erp/mapper/SystemSettingMapper.java 0 → 100644
  1 +package com.order.erp.mapper;
  2 +
  3 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4 +import com.order.erp.domain.dto.SystemSettingDO;
  5 +
  6 +/**
  7 + * 系统配置(SystemSetting)表数据库访问层
  8 + *
  9 + * @author makejava
  10 + * @since 2023-12-05 13:44:03
  11 + */
  12 +public interface SystemSettingMapper extends BaseMapper<SystemSettingDO> {
  13 +
  14 +
  15 +}
  16 +
... ...
src/main/java/com/order/erp/service/SystemSettingService.java 0 → 100644
  1 +package com.order.erp.service;
  2 +
  3 +import com.baomidou.mybatisplus.extension.service.IService;
  4 +import com.order.erp.common.constant.ServerResult;
  5 +import com.order.erp.domain.dto.SystemSettingDO;
  6 +import com.order.erp.domain.vo.SystemSettingQueryVO;
  7 +import com.order.erp.domain.vo.SystemSettingVO;
  8 +
  9 +/**
  10 + * 系统配置(SystemSetting)表服务接口
  11 + *
  12 + * @author makejava
  13 + * @since 2023-12-05 13:44:03
  14 + */
  15 +public interface SystemSettingService extends IService<SystemSettingDO> {
  16 +
  17 + /**
  18 + * 通过ID查询单条数据
  19 + *
  20 + * @param systemSettingQueryVO 主键
  21 + * @return 实例对象
  22 + */
  23 + ServerResult queryById(SystemSettingQueryVO systemSettingQueryVO);
  24 +
  25 + /**
  26 + * 分页查询
  27 + *
  28 + * @param systemSettingQueryVO 筛选条件
  29 + * @return 查询结果
  30 + */
  31 + ServerResult list(SystemSettingQueryVO systemSettingQueryVO);
  32 +
  33 + /**
  34 + *
  35 + * @param systemSettingQueryVO
  36 + * @return
  37 + */
  38 + ServerResult listByPage(SystemSettingQueryVO systemSettingQueryVO);
  39 +
  40 + /**
  41 + * 新增数据
  42 + *
  43 + * @param systemSettingVO 数据VO
  44 + * @return 新增结果
  45 + */
  46 + ServerResult add(SystemSettingVO systemSettingVO);
  47 +
  48 + /**
  49 + * 修改数据
  50 + *
  51 + * @param systemSettingVO 数据VO
  52 + * @return 编辑结果
  53 + */
  54 + ServerResult edit(SystemSettingVO systemSettingVO);
  55 +
  56 + /**
  57 + * 通过主键删除数据
  58 + *
  59 + * @param systemSettingQueryVO 筛选条件
  60 + * @return 是否成功
  61 + */
  62 + ServerResult deleteById(SystemSettingQueryVO systemSettingQueryVO);
  63 +
  64 +}
... ...
src/main/java/com/order/erp/service/admin/AdminUserService.java
... ... @@ -2,6 +2,7 @@ package com.order.erp.service.admin;
2 2  
3 3 import com.baomidou.mybatisplus.extension.service.IService;
4 4 import com.order.erp.common.constant.ServerResult;
  5 +import com.order.erp.domain.RoleEnum;
5 6 import com.order.erp.domain.dto.admin.AdminUserDO;
6 7 import com.order.erp.domain.vo.UserVO;
7 8 import com.order.erp.domain.vo.admin.*;
... ... @@ -68,6 +69,13 @@ public interface AdminUserService extends IService&lt;AdminUserDO&gt; {
68 69 ServerResult<AdminResultVO> isAdmin(String userName);
69 70  
70 71 /**
  72 + *
  73 + * @param userName
  74 + * @return
  75 + */
  76 + ServerResult<RoleEnum> getRoleBy(String userName);
  77 +
  78 + /**
71 79 * 修改密码
72 80 *
73 81 * @param pwdVO
... ...
src/main/java/com/order/erp/service/admin/impl/AdminUserServiceImpl.java
... ... @@ -14,7 +14,6 @@ import com.order.erp.common.constant.ServerResult;
14 14 import com.order.erp.common.constant.ServerResultCode;
15 15 import com.order.erp.common.exception.BusinessException;
16 16 import com.order.erp.common.utils.ImgCaptchaUtils;
17   -import com.order.erp.common.utils.SecurityUtils;
18 17 import com.order.erp.common.utils.SmsUtils;
19 18 import com.order.erp.common.utils.TransactionHelper;
20 19 import com.order.erp.config.DataScope;
... ... @@ -255,7 +254,7 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser
255 254  
256 255 @Override
257 256 public ServerResult<AdminResultVO> isAdmin(String userName) {
258   - UserVO user = findByUserName(SecurityUtils.getUsername());
  257 + UserVO user = findByUserName(userName);
259 258 if (Objects.isNull(user)) {
260 259 throw new BusinessException("用户不存在");
261 260 }
... ... @@ -273,6 +272,36 @@ public class AdminUserServiceImpl extends ServiceImpl&lt;AdminUserMapper, AdminUser
273 272 return ServerResult.success(AdminResultVO.builder().isAdmin(result.get()).userVO(user).build());
274 273 }
275 274  
  275 +
  276 + @Override
  277 + public ServerResult<RoleEnum> getRoleBy(String userName) {
  278 + UserVO user = findByUserName(userName);
  279 + if (Objects.isNull(user)) {
  280 + throw new BusinessException("用户不存在");
  281 + }
  282 + List<AdminUserRoleDO> userRoleDOList = userRoleService.list(new LambdaQueryWrapper<AdminUserRoleDO>()
  283 + .eq(AdminUserRoleDO::getUserId, user.getId()));
  284 + if (CollectionUtils.isEmpty(userRoleDOList)) {
  285 + throw new BusinessException("用户没有创建角色");
  286 + }
  287 + AtomicReference<RoleEnum> result = new AtomicReference<RoleEnum>(RoleEnum.ADMIN);
  288 + userRoleDOList.forEach(x -> {
  289 + if (RoleEnum.ADMIN.getId().equals(x.getRoleId())) {
  290 + result.set(RoleEnum.ADMIN);
  291 + }
  292 + if (RoleEnum.BUSINESS_USER.getId().equals(x.getRoleId())) {
  293 + result.set(RoleEnum.BUSINESS_USER);
  294 + }
  295 + if (RoleEnum.TRACKER_USER.getId().equals(x.getRoleId())) {
  296 + result.set(RoleEnum.TRACKER_USER);
  297 + }
  298 + if (RoleEnum.INSPECT_USER.getId().equals(x.getRoleId())) {
  299 + result.set(RoleEnum.INSPECT_USER);
  300 + }
  301 + });
  302 + return ServerResult.success(result.get());
  303 + }
  304 +
276 305 /**
277 306 * 通过主键删除数据
278 307 *
... ...
src/main/java/com/order/erp/service/impl/SystemSettingServiceImpl.java 0 → 100644
  1 +package com.order.erp.service.impl;
  2 +
  3 +import cn.hutool.core.bean.BeanUtil;
  4 +import cn.hutool.core.collection.CollUtil;
  5 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  6 +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  7 +import com.baomidou.mybatisplus.core.metadata.IPage;
  8 +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
  9 +import com.baomidou.mybatisplus.core.toolkit.StringUtils;
  10 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  11 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  12 +import com.order.erp.common.constant.Constant;
  13 +import com.order.erp.common.constant.ServerResult;
  14 +import com.order.erp.domain.dto.BaseDO;
  15 +import com.order.erp.domain.dto.SystemSettingDO;
  16 +import com.order.erp.domain.vo.SystemSettingQueryVO;
  17 +import com.order.erp.domain.vo.SystemSettingResultVO;
  18 +import com.order.erp.domain.vo.SystemSettingVO;
  19 +import com.order.erp.mapper.SystemSettingMapper;
  20 +import com.order.erp.service.SystemSettingService;
  21 +import lombok.extern.slf4j.Slf4j;
  22 +import org.springframework.beans.BeanUtils;
  23 +import org.springframework.stereotype.Service;
  24 +
  25 +import java.util.List;
  26 +import java.util.Objects;
  27 +import java.util.stream.Collectors;
  28 +
  29 +/**
  30 + * 系统配置(SystemSetting)表服务实现类
  31 + *
  32 + * @author makejava
  33 + * @since 2023-12-05 13:44:04
  34 + */
  35 +@Slf4j
  36 +@Service
  37 +public class SystemSettingServiceImpl extends ServiceImpl<SystemSettingMapper, SystemSettingDO> implements SystemSettingService {
  38 +
  39 +
  40 + /**
  41 + * 通过ID查询单条数据
  42 + * <p>
  43 + * systemSettingQueryVO 主键
  44 + *
  45 + * @return 实例对象
  46 + */
  47 + @Override
  48 + public ServerResult queryById(SystemSettingQueryVO systemSettingQueryVO) {
  49 + if (Objects.isNull(systemSettingQueryVO.getId())) {
  50 + return ServerResult.fail("id 不能为空");
  51 + }
  52 + SystemSettingDO SystemSettingDo = getById(systemSettingQueryVO.getId());
  53 + if (Objects.isNull(SystemSettingDo)) {
  54 + return ServerResult.success(null);
  55 + }
  56 + return ServerResult.success(BeanUtil.copyProperties(SystemSettingDo, SystemSettingVO.class));
  57 + }
  58 +
  59 + /**
  60 + * 分页查询
  61 + *
  62 + * @param queryVO 筛选条件
  63 + * @return 查询结果
  64 + */
  65 + @Override
  66 + public ServerResult list(SystemSettingQueryVO queryVO) {
  67 + LambdaQueryWrapper<SystemSettingDO> queryWrapper = buildQueryByParam(queryVO);
  68 + return ServerResult.success(list(queryWrapper));
  69 + }
  70 +
  71 + /**
  72 + * @param queryVO
  73 + * @return
  74 + */
  75 + @Override
  76 + public ServerResult listByPage(SystemSettingQueryVO queryVO) {
  77 + LambdaQueryWrapper<SystemSettingDO> queryWrapper = buildQueryByParam(queryVO);
  78 + Page page = new Page<>(queryVO.getPage(), queryVO.getPageSize());
  79 + IPage<SystemSettingDO> iPage = page(page, queryWrapper);
  80 +
  81 + Page<SystemSettingResultVO> webVOPage = new Page<>();
  82 + List<SystemSettingDO> systemSettingDOS = iPage.getRecords();
  83 + if (CollectionUtils.isNotEmpty(systemSettingDOS)) {
  84 + List<SystemSettingResultVO> queryVos = systemSettingDOS.stream().map(x -> {
  85 + SystemSettingResultVO resultVO = new SystemSettingResultVO();
  86 + BeanUtils.copyProperties(x, resultVO);
  87 + return resultVO;
  88 + }).collect(Collectors.toList());
  89 + webVOPage.setRecords(queryVos);
  90 + }
  91 + BeanUtils.copyProperties(page, webVOPage, "records");
  92 + return ServerResult.success(webVOPage);
  93 + }
  94 +
  95 + /**
  96 + * @param queryVO
  97 + * @return
  98 + */
  99 + private LambdaQueryWrapper<SystemSettingDO> buildQueryByParam(SystemSettingQueryVO queryVO) {
  100 + return new LambdaQueryWrapper<SystemSettingDO>()
  101 + .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
  102 + .eq(StringUtils.isNotBlank(queryVO.getSettingCode()), SystemSettingDO::getSettingCode, queryVO.getSettingCode())
  103 + .eq(Objects.nonNull(queryVO.getSettingType()), SystemSettingDO::getSettingType, queryVO.getSettingType())
  104 + .eq(StringUtils.isNotBlank(queryVO.getRelationCode()), SystemSettingDO::getRelationCode, queryVO.getRelationCode());
  105 + }
  106 +
  107 +
  108 + /**
  109 + * 新增数据
  110 + *
  111 + * @param systemSettingVO 实例对象
  112 + * @return 实例对象
  113 + */
  114 + @Override
  115 + public ServerResult add(SystemSettingVO systemSettingVO) {
  116 + //todo 校验
  117 + if (Objects.nonNull(systemSettingVO.getId())) {
  118 + systemSettingVO.setId(null);
  119 + }
  120 + SystemSettingDO systemSettingDo = BeanUtil.copyProperties(systemSettingVO, SystemSettingDO.class);
  121 +
  122 + save(systemSettingDo);
  123 +
  124 + return ServerResult.success();
  125 + }
  126 +
  127 + /**
  128 + * 修改数据
  129 + *
  130 + * @param systemSettingVO 实例对象
  131 + * @return 实例对象
  132 + */
  133 + @Override
  134 + public ServerResult edit(SystemSettingVO systemSettingVO) {
  135 + //todo 校验
  136 + if (Objects.isNull(systemSettingVO.getId())) {
  137 + return ServerResult.fail("id 不能为空");
  138 + }
  139 + SystemSettingDO systemSettingDo = BeanUtil.copyProperties(systemSettingVO, SystemSettingDO.class);
  140 +
  141 + updateById(systemSettingDo);
  142 +
  143 + return ServerResult.success();
  144 + }
  145 +
  146 + /**
  147 + * 通过主键删除数据
  148 + *
  149 + * @param systemSettingQueryVO 筛选条件
  150 + * @return 是否成功
  151 + */
  152 + @Override
  153 + public ServerResult deleteById(SystemSettingQueryVO systemSettingQueryVO) {
  154 + List<Long> ids = systemSettingQueryVO.getIds();
  155 + if (CollUtil.isEmpty(ids)) {
  156 + return ServerResult.fail("ids 参数不能为空");
  157 + }
  158 + List<SystemSettingDO> systemSettingList = listByIds(ids);
  159 + if (CollUtil.isEmpty(systemSettingList)) {
  160 + return ServerResult.success();
  161 + }
  162 + //todo 校验是否可以逻辑删除
  163 + LambdaUpdateWrapper<SystemSettingDO> updateWrapper = new LambdaUpdateWrapper<SystemSettingDO>()
  164 + .in(SystemSettingDO::getId, ids)
  165 + .set(SystemSettingDO::getEnableFlag, Constant.UNABLE_TWENTY);
  166 + update(updateWrapper);
  167 + return ServerResult.success();
  168 + }
  169 +}
... ...
src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
... ... @@ -376,14 +376,27 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
376 376 OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getIdeaSource())) {
377 377 map.put("想法来源", reportInfo.getIdeaSource());
378 378 }
379   - if (StringUtils.isNotBlank(reportFields.getManualPreform()) &&
380   - OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getManualPreform())) {
381   - map.put("手工初型", reportInfo.getManualPreform());
  379 + if (StringUtils.isNotBlank(reportFields.getIdeaSourceRate()) &&
  380 + OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getIdeaSourceRate())) {
  381 + map.put("想法来源占比", reportInfo.getIdeaSourceRate());
382 382 }
383   - if (StringUtils.isNotBlank(reportFields.getIdeaManualRate()) &&
384   - OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getIdeaManualRate())) {
385   - map.put("想法和手工比例分配", reportInfo.getIdeaManualRate());
  383 + if (StringUtils.isNotBlank(reportFields.getManualPreform1()) &&
  384 + OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getManualPreform1())) {
  385 + map.put("手工初型1", reportInfo.getManualPreform1());
386 386 }
  387 + if (StringUtils.isNotBlank(reportFields.getManualPreform1Rate()) &&
  388 + OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getManualPreform1Rate())) {
  389 + map.put("手工初型1占比", reportInfo.getManualPreform1Rate());
  390 + }
  391 + if (StringUtils.isNotBlank(reportFields.getManualPreform2()) &&
  392 + OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getManualPreform2())) {
  393 + map.put("手工初型2", reportInfo.getManualPreform2());
  394 + }
  395 + if (StringUtils.isNotBlank(reportFields.getManualPreform2Rate()) &&
  396 + OrderLockFieldEnum.SELECTED.getStatus().equals(reportFields.getManualPreform2Rate())) {
  397 + map.put("手工初型2占比", reportInfo.getManualPreform2Rate());
  398 + }
  399 +
387 400 }
388 401 OrderTrackStageVO trackStageInfo = Objects.nonNull(orderInfoResultVO.getTrackStageInfo()) ?
389 402 orderInfoResultVO.getTrackStageInfo() : new OrderTrackStageVO();
... ... @@ -585,9 +598,13 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
585 598 private OrderCompletionReportFieldVO report2reportField(OrderCompletionReportVO reportVO) {
586 599 return OrderCompletionReportFieldVO.builder()
587 600 .orderId(reportVO.getOrderId())
588   - .ideaManualRate(Objects.nonNull(reportVO.getIdeaManualRate()) ? reportVO.getIdeaManualRate().toString() : null)
  601 + .ideaSourceRate(Objects.nonNull(reportVO.getIdeaSourceRate()) ? reportVO.getIdeaSourceRate().toString() : null)
589 602 .ideaSource(StringUtils.isNotBlank(reportVO.getIdeaSource()) ? reportVO.getIdeaSource() : null)
590   - .manualPreform(StringUtils.isNotBlank(reportVO.getManualPreform()) ? reportVO.getManualPreform() : null).build();
  603 + .manualPreform1(StringUtils.isNotBlank(reportVO.getManualPreform1()) ? reportVO.getManualPreform1() : null)
  604 + .manualPreform1Rate(Objects.nonNull(reportVO.getManualPreform1Rate()) ? reportVO.getManualPreform1Rate().toString() : null)
  605 + .manualPreform2(StringUtils.isNotBlank(reportVO.getManualPreform2()) ? reportVO.getManualPreform2() : null)
  606 + .manualPreform2Rate(Objects.nonNull(reportVO.getManualPreform2Rate()) ? reportVO.getManualPreform2Rate().toString() : null)
  607 + .build();
591 608 }
592 609  
593 610  
... ... @@ -862,10 +879,19 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
862 879 if (StringUtils.isBlank(reportInfo.getIdeaSource())) {
863 880 return false;
864 881 }
865   - if (StringUtils.isBlank(reportInfo.getManualPreform())) {
  882 + if (Objects.isNull(reportInfo.getIdeaSourceRate())) {
  883 + return false;
  884 + }
  885 + if (StringUtils.isBlank(reportInfo.getManualPreform1())) {
866 886 return false;
867 887 }
868   - if (Objects.isNull(reportInfo.getIdeaManualRate())) {
  888 + if (Objects.isNull(reportInfo.getManualPreform1Rate())) {
  889 + return false;
  890 + }
  891 + if (StringUtils.isBlank(reportInfo.getManualPreform2())) {
  892 + return false;
  893 + }
  894 + if (Objects.isNull(reportInfo.getManualPreform2Rate())) {
869 895 return false;
870 896 }
871 897 return true;
... ... @@ -1041,6 +1067,15 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1041 1067 * @return
1042 1068 */
1043 1069 private LambdaQueryWrapper<OrderBaseInfoDO> buildQueryByParam(OrderBaseInfoQueryVO queryVO) {
  1070 + RoleEnum roleEnum = dataScope.getRole();
  1071 + // 跟单员
  1072 + if (Objects.nonNull(roleEnum) && roleEnum.getId().equals(RoleEnum.TRACKER_USER.getId())) {
  1073 + queryVO.setCreateBy(dataScope.getLoginUserName());
  1074 + }
  1075 + // 业务员
  1076 + if (Objects.nonNull(roleEnum) && roleEnum.getId().equals(RoleEnum.BUSINESS_USER.getId())) {
  1077 + queryVO.setBusinessPerson(dataScope.getLoginUserName());
  1078 + }
1044 1079 if (StringUtils.isNotBlank(queryVO.getCommitUserPhone())) {
1045 1080 AdminUserDO userDO = userService.getOne(new LambdaQueryWrapper<AdminUserDO>()
1046 1081 .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
... ... @@ -1064,7 +1099,7 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1064 1099 List<OrderCompletionReportDO> reportDOS = reportService.list(new LambdaQueryWrapper<OrderCompletionReportDO>()
1065 1100 .eq(BaseDO::getEnableFlag, Constant.ENABLE_TEN)
1066 1101 .eq(StringUtils.isNotBlank(queryVO.getIdeaSource()), OrderCompletionReportDO::getIdeaSource, queryVO.getIdeaSource())
1067   - .eq(StringUtils.isNotBlank(queryVO.getManualPreform()), OrderCompletionReportDO::getManualPreform, queryVO.getManualPreform()));
  1102 + .eq(StringUtils.isNotBlank(queryVO.getManualPreform()), OrderCompletionReportDO::getManualPreform1, queryVO.getManualPreform()));
1068 1103 if (CollectionUtils.isNotEmpty(reportDOS)) {
1069 1104 Set<Long> reportOrderIds = reportDOS.stream().map(OrderCompletionReportDO::getOrderId).collect(Collectors.toSet());
1070 1105 if (CollectionUtils.isNotEmpty(orderIds)) {
... ... @@ -1142,6 +1177,8 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1142 1177 .eq(StringUtils.isNotBlank(queryVO.getProjectNo()), OrderBaseInfoDO::getProjectNo, queryVO.getProjectNo())
1143 1178 .eq(StringUtils.isNotBlank(queryVO.getProductionDepartment()), OrderBaseInfoDO::getProductionDepartment, queryVO.getProductionDepartment())
1144 1179 .ge(StringUtils.isNotBlank(queryVO.getProductionDepartmentConsignStartTime()), OrderBaseInfoDO::getProductionDepartmentConsignTime, queryVO.getProductionDepartmentConsignStartTime())
  1180 + .ge(StringUtils.isNotBlank(queryVO.getCreateBy()), OrderBaseInfoDO::getCreateBy, queryVO.getCreateBy())
  1181 + .ge(StringUtils.isNotBlank(queryVO.getBusinessPerson()), OrderBaseInfoDO::getBusinessPerson, queryVO.getBusinessPerson())
1145 1182 .le(StringUtils.isNotBlank(queryVO.getProductionDepartmentConsignEndTime()), OrderBaseInfoDO::getProductionDepartmentConsignTime, queryVO.getProductionDepartmentConsignEndTime())
1146 1183 .ge(StringUtils.isNotBlank(queryVO.getOrderHodStartTime()), OrderBaseInfoDO::getOrderHodTime, queryVO.getOrderHodStartTime())
1147 1184 .le(StringUtils.isNotBlank(queryVO.getOrderHodEndTime()), OrderBaseInfoDO::getOrderHodTime, queryVO.getOrderHodEndTime())
... ... @@ -1484,6 +1521,9 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl&lt;OrderBaseInfoMapper, O
1484 1521 if (StringUtils.isNotBlank(baseInfoVO.getPacketType())) {
1485 1522 baseInfoDO.setPacketType(baseInfoVO.getPacketType());
1486 1523 }
  1524 + if (StringUtils.isNotBlank(baseInfoVO.getBusinessPerson())) {
  1525 + baseInfoDO.setBusinessPerson(baseInfoVO.getBusinessPerson());
  1526 + }
1487 1527 }
1488 1528  
1489 1529 /**
... ...
src/main/java/com/order/erp/service/order/impl/OrderFieldLockApplyServiceImpl.java
... ... @@ -418,9 +418,12 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl&lt;OrderFieldLockAp
418 418 reportService.save(reportDO);
419 419 } else {
420 420 reportDO.setOrderStatus(OrderStatusEnum.REPORT_AUDIT_PASS.getStatus());
421   - reportDO.setIdeaManualRate(Objects.nonNull(reportFieldVO.getIdeaManualRate()) ? Double.valueOf(reportFieldVO.getIdeaManualRate()) : null);
  421 + reportDO.setIdeaSourceRate(Objects.nonNull(reportFieldVO.getIdeaSourceRate()) ? Double.valueOf(reportFieldVO.getIdeaSourceRate()) : null);
422 422 reportDO.setIdeaSource(reportFieldVO.getIdeaSource());
423   - reportDO.setManualPreform(reportFieldVO.getManualPreform());
  423 + reportDO.setManualPreform1(reportFieldVO.getManualPreform1());
  424 + reportDO.setManualPreform1Rate(Objects.nonNull(reportFieldVO.getManualPreform1Rate()) ? Double.valueOf(reportFieldVO.getManualPreform1Rate()) : null);
  425 + reportDO.setManualPreform2(reportFieldVO.getManualPreform1());
  426 + reportDO.setManualPreform2Rate(Objects.nonNull(reportFieldVO.getManualPreform2Rate()) ? Double.valueOf(reportFieldVO.getManualPreform2Rate()) : null);
424 427 reportService.updateById(reportDO);
425 428 }
426 429 orderBaseInfoDO.setOrderStatus(OrderStatusEnum.REPORT_AUDIT_PASS.getStatus());
... ... @@ -476,9 +479,12 @@ public class OrderFieldLockApplyServiceImpl extends ServiceImpl&lt;OrderFieldLockAp
476 479 */
477 480 private OrderCompletionReportDO reportField2reportDo(OrderCompletionReportFieldVO reportFieldVO) {
478 481 return OrderCompletionReportDO.builder()
479   - .ideaManualRate(StringUtils.isNotBlank(reportFieldVO.getIdeaManualRate()) ? Double.valueOf(reportFieldVO.getIdeaManualRate()) : null)
  482 + .ideaSourceRate(StringUtils.isNotBlank(reportFieldVO.getIdeaSourceRate()) ? Double.valueOf(reportFieldVO.getIdeaSourceRate()) : null)
480 483 .ideaSource(reportFieldVO.getIdeaSource())
481   - .manualPreform(reportFieldVO.getManualPreform())
  484 + .manualPreform1(reportFieldVO.getManualPreform1())
  485 + .manualPreform1Rate(StringUtils.isNotBlank(reportFieldVO.getManualPreform1Rate()) ? Double.valueOf(reportFieldVO.getManualPreform1Rate()) : null)
  486 + .manualPreform2(reportFieldVO.getManualPreform2())
  487 + .manualPreform2Rate(StringUtils.isNotBlank(reportFieldVO.getManualPreform2Rate()) ? Double.valueOf(reportFieldVO.getManualPreform2Rate()) : null)
482 488 .orderId(reportFieldVO.getOrderId())
483 489 .build();
484 490 }
... ...