Explorar el Código

Merge remote-tracking branch 'origin/master_20240722' into master_20240722

dongpo hace 1 año
padre
commit
75089fb989
Se han modificado 13 ficheros con 58 adiciones y 37 borrados
  1. 25 35
      yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/businessopportunity/vo/CustomerBusinessOpportunityRespVO.java
  2. 1 0
      yudao-module-personnel/yudao-module-attendance-api/src/main/java/cn/iocoder/yudao/module/attendance/enums/ErrorCodeConstants.java
  3. 12 1
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/info/AttendanceInfoController.java
  4. 3 0
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/info/vo/AttendanceDailyInfoPageReqVO.java
  5. 3 0
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/out/vo/AttendanceOutPageReqVO.java
  6. 1 0
      yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/dal/mysql/out/AttendanceOutMapper.java
  7. 1 1
      yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/service/info/EmployeeInfoServiceImpl.java
  8. 3 0
      yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/conversion/vo/RelationsConversionPageReqVO.java
  9. 3 0
      yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/entry/vo/RelationsEntryPageReqVO.java
  10. 3 0
      yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/turnover/vo/RelationsTurnoverPageReqVO.java
  11. 1 0
      yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/dal/mysql/conversion/RelationsConversionMapper.java
  12. 1 0
      yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/dal/mysql/entry/RelationsEntryMapper.java
  13. 1 0
      yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/dal/mysql/turnover/RelationsTurnoverMapper.java

+ 25 - 35
yudao-module-customer/yudao-module-customer-biz/src/main/java/cn/iocoder/yudao/module/customer/controller/admin/businessopportunity/vo/CustomerBusinessOpportunityRespVO.java

@@ -19,11 +19,9 @@ import com.alibaba.excel.annotation.*;
 public class CustomerBusinessOpportunityRespVO {
 
     @Schema(description = "自增主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "6699")
-    @ExcelProperty("自增主键")
     private Long id;
 
     @Schema(description = "商机uuid", example = "28138")
-    @ExcelProperty("商机uuid")
     private String opportunityId;
 
     @Schema(description = "商机编码")
@@ -31,39 +29,18 @@ public class CustomerBusinessOpportunityRespVO {
     private String opportunityCode;
 
     @Schema(description = "客户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "2835")
-    @ExcelProperty("客户id")
     private Long customerId;
 
-    @Schema(description = "客户名称", example = "人事部")
-    @ExcelProperty("客户名称")
-    private String customerName;
-
     @Schema(description = "商机名称", example = "王五")
     @ExcelProperty("商机名称")
     private String opportunityName;
 
-    @Schema(description = "项目类型", example = "1")
-    @ExcelProperty("项目类型")
-    private String projectType;
-
-    @Schema(description = "创建人员工id", example = "28498")
-    @ExcelProperty("创建人员工id")
-    private Long creatorEmployeeId;
-
-    @Schema(description = "创建人员工姓名", example = "张三")
-    @ExcelProperty("创建人员工姓名")
-    private String creatorEmployeeName;
-
-    @Schema(description = "部门id", example = "8267")
-    @ExcelProperty("部门id")
-    private Long deptId;
-
-    @Schema(description = "部门名称", example = "人事部")
-    @ExcelProperty("部门名称")
-    private String deptName;
+    @Schema(description = "客户名称", example = "人事部")
+    @ExcelProperty("客户名称")
+    private String customerName;
 
     @Schema(description = "赢单机率")
-    @ExcelProperty("赢单机率")
+    @ExcelProperty("预计赢单机率")
     private String winRate;
 
     @Schema(description = "预计合同金额")
@@ -87,21 +64,34 @@ public class CustomerBusinessOpportunityRespVO {
     @ExcelProperty("商机等级")
     private String opportunityLevel;
 
-    @Schema(description = "备注")
-    @ExcelProperty("备注")
-    private String remarks;
-
-    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @ExcelProperty("状态")
-    private Integer status;
+    @Schema(description = "创建人员工姓名", example = "张三")
+    @ExcelProperty("创建人员工姓名")
+    private String creatorEmployeeName;
 
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private LocalDateTime createTime;
 
+    @Schema(description = "项目类型", example = "1")
+    private String projectType;
+
+    @Schema(description = "创建人员工id", example = "28498")
+    private Long creatorEmployeeId;
+
+    @Schema(description = "部门id", example = "8267")
+    private Long deptId;
+
+    @Schema(description = "部门名称", example = "人事部")
+    private String deptName;
+
+    @Schema(description = "备注")
+    private String remarks;
+
+    @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    private Integer status;
+
     @Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "4014")
-    @ExcelProperty("租户编号")
     private Long tenantId;
 
     @Schema(description = "附件列表")

+ 1 - 0
yudao-module-personnel/yudao-module-attendance-api/src/main/java/cn/iocoder/yudao/module/attendance/enums/ErrorCodeConstants.java

@@ -21,4 +21,5 @@ public interface ErrorCodeConstants {
     ErrorCode ATTENDANCE_WORKDAY_SETTING_NOT_EXISTS = new ErrorCode(1_013_000_007, "考勤工作日设置不存在");
     ErrorCode ATTENDANCE_EMAINING_ANNUAL_LEAVE_IS_INSUFFICIENT = new ErrorCode(1_013_000_008, "剩余年假不足");
     ErrorCode ATTENDANCE_UPDATING_EMPLOYEE_INFO_ERROR = new ErrorCode(1_013_000_009, "考勤更新员工信息时发生错误");
+    ErrorCode ATTENDANCE_EXCEL_FORMAT_ERROR = new ErrorCode(1_013_000_010, "请确保excel文件中的单元格格式为文本!");
 }

+ 12 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/info/AttendanceInfoController.java

@@ -1,5 +1,6 @@
 package cn.iocoder.yudao.module.attendance.controller.admin.info;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.module.attendance.controller.admin.info.vo.*;
 import cn.iocoder.yudao.module.attendance.dal.dataobject.info.AttendanceInfoDO;
 import cn.iocoder.yudao.module.attendance.service.info.AttendanceInfoService;
@@ -20,6 +21,8 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
 
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
@@ -33,6 +36,8 @@ import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
 import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+import static cn.iocoder.yudao.module.attendance.enums.ErrorCodeConstants.ATTENDANCE_EXCEL_FORMAT_ERROR;
+import static cn.iocoder.yudao.module.attendance.enums.ErrorCodeConstants.ATTENDANCE_INFO_IMPORT_LIST_IS_EMPTY;
 
 @Tag(name = "管理后台 - 考勤信息")
 @RestController
@@ -124,7 +129,13 @@ public class AttendanceInfoController {
     })
     @PreAuthorize("@ss.hasPermission('attendance:info:import')")
     public CommonResult<Boolean> importExcel(@RequestParam("file") MultipartFile file) throws Exception {
-        List<AttendanceInfoImportExcelVO> list = ExcelUtils.read(file, AttendanceInfoImportExcelVO.class);
+        List<AttendanceInfoImportExcelVO> list;
+        try {
+            list = ExcelUtils.read(file, AttendanceInfoImportExcelVO.class);
+        } catch (Exception e) {
+            throw exception(ATTENDANCE_EXCEL_FORMAT_ERROR);
+        }
+
         return success(true).setMsg(infoService.importAttendanceInfoList(list));
     }
 

+ 3 - 0
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/info/vo/AttendanceDailyInfoPageReqVO.java

@@ -26,6 +26,9 @@ public class AttendanceDailyInfoPageReqVO extends PageParam {
     @Schema(description = "员工手机号", requiredMode = Schema.RequiredMode.REQUIRED, example = "13812345678")
     private String employeeMobile;
 
+    @Schema(description = "职位ID", example = "13463")
+    private Long postId;
+
     @Schema(description = "部门ID", example = "13463")
     private Long deptId;
 

+ 3 - 0
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/out/vo/AttendanceOutPageReqVO.java

@@ -46,6 +46,9 @@ public class AttendanceOutPageReqVO extends PageParam {
     @Schema(description = "部门uuid", example = "29774")
     private String deptUuid;
 
+    @Schema(description = "职位id", example = "7228")
+    private Long postId;
+
     @Schema(description = "员工职位")
     private String position;
 

+ 1 - 0
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/dal/mysql/out/AttendanceOutMapper.java

@@ -29,6 +29,7 @@ public interface AttendanceOutMapper extends BaseMapperX<AttendanceOutDO> {
                 .eqIfPresent(AttendanceOutDO::getUserUuid, reqVO.getUserUuid())
                 .eqIfPresent(AttendanceOutDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(AttendanceOutDO::getDeptUuid, reqVO.getDeptUuid())
+                .eqIfPresent(AttendanceOutDO::getPostId, reqVO.getPostId())
                 .eqIfPresent(AttendanceOutDO::getPosition, reqVO.getPosition())
                 .eqIfPresent(AttendanceOutDO::getReason, reqVO.getReason())
                 .eqIfPresent(AttendanceOutDO::getDestination, reqVO.getDestination())

+ 1 - 1
yudao-module-personnel/yudao-module-employee-biz/src/main/java/cn/iocoder/yudao/module/employee/service/info/EmployeeInfoServiceImpl.java

@@ -244,7 +244,7 @@ public class EmployeeInfoServiceImpl implements EmployeeInfoService {
             }
             updateReqVO.setPosition(post.getName());
         }
-        if (updateReqVO.getBaseAnnualLeave() != null) {
+        if (updateReqVO.getRemainingAnnualLeave() == null && updateReqVO.getUsedAnnualLeave() == null) {
             updateReqVO.setRemainingAnnualLeave(updateReqVO.getBaseAnnualLeave().subtract(employeeInfoDO.getUsedAnnualLeave()));
         }
         EmployeeInfoDO updateObj = BeanUtils.toBean(updateReqVO, EmployeeInfoDO.class);

+ 3 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/conversion/vo/RelationsConversionPageReqVO.java

@@ -44,6 +44,9 @@ public class RelationsConversionPageReqVO extends PageParam {
     @Schema(description = "部门uuid", example = "11190")
     private String deptUuid;
 
+    @Schema(description = "职位id", example = "2507")
+    private Long postId;
+
     @Schema(description = "职位")
     private String position;
 

+ 3 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/entry/vo/RelationsEntryPageReqVO.java

@@ -24,6 +24,9 @@ public class RelationsEntryPageReqVO extends PageParam {
     @Schema(description = "部门", example = "24059")
     private Long deptId;
 
+    @Schema(description = "职位ID", example = "24059")
+    private Long postId;
+
     @Schema(description = "职位")
     private String position;
 

+ 3 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/controller/admin/turnover/vo/RelationsTurnoverPageReqVO.java

@@ -44,6 +44,9 @@ public class RelationsTurnoverPageReqVO extends PageParam {
     @Schema(description = "部门uuid", example = "6524")
     private String deptUuid;
 
+    @Schema(description = "职位id", example = "19364")
+    private Long postId;
+
     @Schema(description = "职位")
     private String position;
 

+ 1 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/dal/mysql/conversion/RelationsConversionMapper.java

@@ -28,6 +28,7 @@ public interface RelationsConversionMapper extends BaseMapperX<RelationsConversi
                 .eqIfPresent(RelationsConversionDO::getUserUuid, reqVO.getUserUuid())
                 .eqIfPresent(RelationsConversionDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(RelationsConversionDO::getDeptUuid, reqVO.getDeptUuid())
+                .eqIfPresent(RelationsConversionDO::getPostId, reqVO.getPostId())
                 .eqIfPresent(RelationsConversionDO::getPosition, reqVO.getPosition())
                 .betweenIfPresent(RelationsConversionDO::getEntryDate, reqVO.getEntryDate())
                 .betweenIfPresent(RelationsConversionDO::getProbationEndDate, reqVO.getProbationEndDate())

+ 1 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/dal/mysql/entry/RelationsEntryMapper.java

@@ -22,6 +22,7 @@ public interface RelationsEntryMapper extends BaseMapperX<RelationsEntryDO> {
                 .eqIfPresent(RelationsEntryDO::getEntryId, reqVO.getEntryId())
                 .likeIfPresent(RelationsEntryDO::getEntryName, reqVO.getEntryName())
                 .eqIfPresent(RelationsEntryDO::getDeptId, reqVO.getDeptId())
+                .eqIfPresent(RelationsEntryDO::getPostId, reqVO.getPostId())
                 .eqIfPresent(RelationsEntryDO::getPosition, reqVO.getPosition())
                 .eqIfPresent(RelationsEntryDO::getEmployeeType, reqVO.getEmployeeType())
                 .eqIfPresent(RelationsEntryDO::getGender, reqVO.getGender())

+ 1 - 0
yudao-module-personnel/yudao-module-relations-biz/src/main/java/cn/iocoder/yudao/module/relations/dal/mysql/turnover/RelationsTurnoverMapper.java

@@ -28,6 +28,7 @@ public interface RelationsTurnoverMapper extends BaseMapperX<RelationsTurnoverDO
                 .eqIfPresent(RelationsTurnoverDO::getUserUuid, reqVO.getUserUuid())
                 .eqIfPresent(RelationsTurnoverDO::getDeptId, reqVO.getDeptId())
                 .eqIfPresent(RelationsTurnoverDO::getDeptUuid, reqVO.getDeptUuid())
+                .eqIfPresent(RelationsTurnoverDO::getPostId, reqVO.getPostId())
                 .eqIfPresent(RelationsTurnoverDO::getPosition, reqVO.getPosition())
                 .betweenIfPresent(RelationsTurnoverDO::getEntryDate, reqVO.getEntryDate())
                 .betweenIfPresent(RelationsTurnoverDO::getTurnoverDate, reqVO.getTurnoverDate())