Przeglądaj źródła

Merge remote-tracking branch 'origin/release_v1.0.0' into release_v1.0.0

wangliang 1 rok temu
rodzic
commit
e4d4318edf

+ 1 - 1
sop-api/src/main/java/com/qmth/sop/server/api/FxxkAsyncController.java

@@ -3,7 +3,7 @@ package com.qmth.sop.server.api;
 import com.qmth.boot.api.annotation.Aac;
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.sop.business.sync.FxxkApiUtils;
-import com.qmth.sop.business.sync.been.FxxkAppAuthInfo;
+import com.qmth.sop.business.sync.been.fxxk.FxxkAppAuthInfo;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.util.Result;
 import com.qmth.sop.common.util.ResultUtil;

+ 13 - 4
sop-api/src/main/java/com/qmth/sop/server/api/TBDingController.java

@@ -1,15 +1,13 @@
 package com.qmth.sop.server.api;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.sop.business.entity.*;
 import com.qmth.sop.common.annotation.OperationLog;
 import com.qmth.sop.business.bean.params.DingSaveParam;
 import com.qmth.sop.business.bean.result.*;
-import com.qmth.sop.business.entity.SysUser;
-import com.qmth.sop.business.entity.TBCrm;
-import com.qmth.sop.business.entity.TBService;
-import com.qmth.sop.business.entity.TBTask;
 import com.qmth.sop.business.service.*;
 import com.qmth.sop.business.templete.execute.AsyncDingCountExportService;
 import com.qmth.sop.common.contant.SystemConstant;
@@ -63,6 +61,17 @@ public class TBDingController {
     @Resource
     TBServiceService tbServiceService;
 
+
+    @ApiOperation(value = "考勤明细")
+    @RequestMapping(value = "/detail", method = RequestMethod.POST)
+    @ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = TBDing.class)})
+    public Result detail(@ApiParam(value = "sop单号", required = true) @RequestParam String sopNo,
+                         @ApiParam(value = "人员档案id", required = true) @RequestParam Long archivesId,
+                         @ApiParam(value = "分页页码", required = true) @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                         @ApiParam(value = "分页数", required = true) @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        return ResultUtil.ok(tBDingService.page(new Page<>(pageNumber, pageSize),new LambdaQueryWrapper<>(new TBDing()).eq(TBDing::getSopNo, sopNo).eq(TBDing::getUserArchivesId, archivesId)));
+    }
+
     @ApiOperation(value = "工时统计统计查询接口")
     @RequestMapping(value = "/query", method = RequestMethod.POST)
     @ApiResponses({@ApiResponse(code = 200, message = "工时统计统计查询结果", response = TBDingSubmitQueryResult.class)})

+ 11 - 0
sop-business/src/main/java/com/qmth/sop/business/bean/result/UserArchivesResult.java

@@ -96,6 +96,9 @@ public class UserArchivesResult {
     @ApiModelProperty(value = "是否启用(1启用,0作废)")
     private Boolean enable;
 
+    @ApiModelProperty(value = "被占用信息")
+    private String occupiedInfo;
+
     public Boolean getEnable() {
         return enable;
     }
@@ -303,4 +306,12 @@ public class UserArchivesResult {
     public void setStatus(UserArchivesStatusEnum status) {
         this.status = status;
     }
+
+    public String getOccupiedInfo() {
+        return occupiedInfo;
+    }
+
+    public void setOccupiedInfo(String occupiedInfo) {
+        this.occupiedInfo = occupiedInfo;
+    }
 }

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBCrmServiceImpl.java

@@ -16,7 +16,7 @@ import com.qmth.sop.business.entity.*;
 import com.qmth.sop.business.mapper.TBCrmMapper;
 import com.qmth.sop.business.service.*;
 import com.qmth.sop.business.sync.FxxkApiUtils;
-import com.qmth.sop.business.sync.been.FxxkCrm;
+import com.qmth.sop.business.sync.been.fxxk.FxxkCrm;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.*;
 import com.qmth.sop.common.util.ResultUtil;

+ 9 - 0
sop-business/src/main/java/com/qmth/sop/business/service/impl/TBUserArchivesServiceImpl.java

@@ -98,6 +98,15 @@ public class TBUserArchivesServiceImpl extends ServiceImpl<TBUserArchivesMapper,
             if (basePhotoPath != null && basePhotoPath.length() > 0) {
                 record.setBasePhotoPreviewPath(basicAttachmentService.filePreviewPath(basePhotoPath));
             }
+
+            // 人员占用情况
+            List<TBCrm> occupiedCrm = tbCrmService.findOccupiedCrm(userId, null);
+            if (CollectionUtils.isNotEmpty(occupiedCrm)) {
+                String occupiedInfo = occupiedCrm.stream()
+                        .map(e -> String.format("%s(%s)", e.getName(), e.getCrmNo()))
+                        .collect(Collectors.joining(";"));
+                record.setOccupiedInfo(occupiedInfo);
+            }
         }
         return page;
     }

+ 3 - 3
sop-business/src/main/java/com/qmth/sop/business/sync/FxxkApiUtils.java

@@ -4,9 +4,9 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.qmth.sop.business.service.SysConfigService;
-import com.qmth.sop.business.sync.been.FxxkAppAuthInfo;
-import com.qmth.sop.business.sync.been.FxxkAppAuthResult;
-import com.qmth.sop.business.sync.been.FxxkCrm;
+import com.qmth.sop.business.sync.been.fxxk.FxxkAppAuthInfo;
+import com.qmth.sop.business.sync.been.fxxk.FxxkAppAuthResult;
+import com.qmth.sop.business.sync.been.fxxk.FxxkCrm;
 import com.qmth.sop.common.contant.SystemConstant;
 import com.qmth.sop.common.enums.ExceptionResultEnum;
 import com.qmth.sop.common.enums.ProductTypeEnum;

+ 26 - 0
sop-business/src/main/java/com/qmth/sop/business/sync/RtzfApiUtils.java

@@ -0,0 +1,26 @@
+package com.qmth.sop.business.sync;
+
+import com.qmth.sop.business.service.SysConfigService;
+import com.qmth.sop.business.sync.been.rtzf.LoginTypeEnum;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+
+/**
+ * @Description: 软通智服开放接口工具类
+ * @Author: CaoZixuan
+ * @Date: 2023-11-07
+ */
+@Component
+public class RtzfApiUtils {
+    @Resource
+    private SysConfigService sysConfigService;
+
+    private static final Logger log = LoggerFactory.getLogger(RtzfApiUtils.class);
+
+    public String getRtzfToken(LoginTypeEnum loginType) {
+        return "";
+    }
+}

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/sync/been/FxxkAppAuthInfo.java → sop-business/src/main/java/com/qmth/sop/business/sync/been/fxxk/FxxkAppAuthInfo.java

@@ -1,4 +1,4 @@
-package com.qmth.sop.business.sync.been;
+package com.qmth.sop.business.sync.been.fxxk;
 
 import io.swagger.annotations.ApiModelProperty;
 

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/sync/been/FxxkAppAuthResult.java → sop-business/src/main/java/com/qmth/sop/business/sync/been/fxxk/FxxkAppAuthResult.java

@@ -1,4 +1,4 @@
-package com.qmth.sop.business.sync.been;
+package com.qmth.sop.business.sync.been.fxxk;
 
 import io.swagger.annotations.ApiModelProperty;
 

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/sync/been/FxxkCrm.java → sop-business/src/main/java/com/qmth/sop/business/sync/been/fxxk/FxxkCrm.java

@@ -1,4 +1,4 @@
-package com.qmth.sop.business.sync.been;
+package com.qmth.sop.business.sync.been.fxxk;
 
 import com.qmth.sop.common.enums.ProductTypeEnum;
 import io.swagger.annotations.ApiModelProperty;

+ 1 - 1
sop-business/src/main/java/com/qmth/sop/business/sync/been/FxxkCustomQuery.java → sop-business/src/main/java/com/qmth/sop/business/sync/been/fxxk/FxxkCustomQuery.java

@@ -1,4 +1,4 @@
-package com.qmth.sop.business.sync.been;
+package com.qmth.sop.business.sync.been.fxxk;
 
 /**
  * @Description: 纷享销客自定义对象查询条件构造器

+ 21 - 0
sop-business/src/main/java/com/qmth/sop/business/sync/been/rtzf/LoginTypeEnum.java

@@ -0,0 +1,21 @@
+package com.qmth.sop.business.sync.been.rtzf;
+
+/**
+ * @Description: 登录类型
+ * @Author: CaoZixuan
+ * @Date: 2023-11-07
+ */
+public enum LoginTypeEnum {
+    API_LOGIN("接口访问"),
+    SSO_LOGIN("SSO登录");
+
+    LoginTypeEnum(String title) {
+        this.title = title;
+    }
+
+    private final String title;
+
+    public String getTitle() {
+        return title;
+    }
+}

+ 21 - 0
sop-business/src/main/java/com/qmth/sop/business/sync/been/rtzf/RtzfToken.java

@@ -0,0 +1,21 @@
+package com.qmth.sop.business.sync.been.rtzf;
+
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 软通智服token
+ * @Author: CaoZixuan
+ * @Date: 2023-11-07
+ */
+public class RtzfToken {
+    @ApiModelProperty("软通智服登录认证Token")
+    private String token;
+
+    public String getToken() {
+        return token;
+    }
+
+    public void setToken(String token) {
+        this.token = token;
+    }
+}

+ 57 - 0
sop-business/src/main/java/com/qmth/sop/business/sync/been/rtzf/RtzfTokenResult.java

@@ -0,0 +1,57 @@
+package com.qmth.sop.business.sync.been.rtzf;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * @Description: 获取软通认证token返回值
+ * @Author: CaoZixuan
+ * @Date: 2023-11-07
+ */
+public class RtzfTokenResult {
+    @ApiModelProperty("返回码:成功:0,异常:非 0")
+    private String code;
+
+    @ApiModelProperty("token信息")
+    private RtzfToken data;
+
+    @ApiModelProperty("返回信息")
+    private String msg;
+
+    @ApiModelProperty("当前时间")
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long currentTime;
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public RtzfToken getData() {
+        return data;
+    }
+
+    public void setData(RtzfToken data) {
+        this.data = data;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+    public Long getCurrentTime() {
+        return currentTime;
+    }
+
+    public void setCurrentTime(Long currentTime) {
+        this.currentTime = currentTime;
+    }
+}

+ 7 - 1
sop-business/src/main/resources/db/log/shudonghui_update_log.sql

@@ -435,4 +435,10 @@ INSERT INTO `sop_db`.`sys_ding_date` (`id`, `year`, `month`, `day`, `type`) VALU
 INSERT INTO `sop_db`.`sys_ding_date` (`id`, `year`, `month`, `day`, `type`) VALUES (46, 2024, 10, 4, 'LEGAL_HOLIDAYS');
 INSERT INTO `sop_db`.`sys_ding_date` (`id`, `year`, `month`, `day`, `type`) VALUES (47, 2024, 10, 5, 'LEGAL_HOLIDAYS');
 INSERT INTO `sop_db`.`sys_ding_date` (`id`, `year`, `month`, `day`, `type`) VALUES (48, 2024, 10, 7, 'LEGAL_HOLIDAYS');
-INSERT INTO `sop_db`.`sys_ding_date` (`id`, `year`, `month`, `day`, `type`) VALUES (49, 2024, 4, 28, 'WEEKDAY');
+INSERT INTO `sop_db`.`sys_ding_date` (`id`, `year`, `month`, `day`, `type`) VALUES (49, 2024, 4, 28, 'WEEKDAY');
+
+
+--2023.11.8
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES (1098, '考勤提交-明细', '/api/admin/tb/ding/detail', 'URL', 28, 6, 'AUTH', NULL, 1, 1, 0);
+UPDATE `sys_privilege` SET `name` = '列表', `url` = 'List', `type` = 'LIST', `parent_id` = 28, `sequence` = 1, `property` = 'AUTH', `related` = '2037,2038,1098', `enable` = 1, `default_auth` = 0, `front_display` = 1 WHERE `id` = 141;
+