Ver Fonte

Merge remote-tracking branch 'origin/master'

Administrator há 3 anos atrás
pai
commit
500465af9a

+ 20 - 0
boman-api/boman-domain/src/main/java/com.boman.domain/dto/Base64Dto.java

@@ -0,0 +1,20 @@
+package com.boman.domain.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author shiqian
+ * @date 2021年08月03日 11:24
+ **/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class Base64Dto {
+
+    private String file;
+    private String base64;
+}

+ 4 - 2
boman-modules/boman-file/src/main/java/com/boman/file/controller/SysFileController.java

@@ -1,6 +1,7 @@
 package com.boman.file.controller;
 
 import com.boman.domain.dto.AjaxResult;
+import com.boman.domain.dto.Base64Dto;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -49,11 +50,12 @@ public class SysFileController
     }
 
     /**
-     * 通用上传请求
+     * 通用上传请求 暂且如此处理,后来再优化
      */
     @PostMapping("/upload/base64")
-    public AjaxResult uploadFileBase64(@RequestBody String base64) {
+    public AjaxResult uploadFileBase64(@RequestBody Base64Dto dto) {
         try {
+            String base64 = dto.getFile();
             String url = sysFileService.uploadFileBase64(base64);
             AjaxResult ajax = AjaxResult.success();
             ajax.put("name", FileUtils.getName(url));

+ 2 - 0
boman-web-core/src/main/java/com/boman/web/core/BomanWebCoreApplication.java

@@ -7,6 +7,8 @@ import org.springframework.boot.SpringApplication;
 import org.springframework.cloud.client.SpringCloudApplication;
 import org.springframework.context.annotation.ComponentScan;
 
+import java.util.TimeZone;
+
 /**
  * web-core
  *

+ 5 - 0
boman-web-core/src/main/java/com/boman/web/core/controller/AttendanceController.java

@@ -102,4 +102,9 @@ public class AttendanceController {
     public AjaxResult findDate(@PathVariable("date") String date, @PathVariable("userId") Long userId) {
         return service.findDate(date, userId);
     }
+
+    @PostMapping("/updateAttendance")
+    public AjaxResult updateAttendance(FormDataDto dto) {
+        return service.updateAttendance(dto);
+    }
 }

+ 27 - 0
boman-web-core/src/main/java/com/boman/web/core/mapper/AttendanceMapper.java

@@ -0,0 +1,27 @@
+package com.boman.web.core.mapper;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.SelectProvider;
+
+import java.util.List;
+import java.util.Map;
+
+public interface AttendanceMapper {
+
+    /**
+     * 功能描述: 自定义查询,需要查询的字段和value都在condition中
+     * {@link StandardlyMapper.SqlProvider#selectByCondition(Map)}
+     *
+     * @param tableName     tableName
+     * @param condition     condition
+     * @param packCondition 封装好的查询条件
+     * @param showData      需要查询的列
+     * @param orderBy       orderBy
+     * @param limit         分页
+     * @param offset        分页, 可以为null
+     * @return java.util.List<com.alibaba.fastjson.JSONObject>
+     */
+    @SelectProvider(type = StandardlyMapper.SqlProvider.class, method = "selectByCondition")
+    List<JSONObject> selectByCondition(@Param("tableName") String tableName);
+}

+ 9 - 0
boman-web-core/src/main/java/com/boman/web/core/service/attendance/AttendanceService.java

@@ -75,4 +75,13 @@ public interface AttendanceService {
      * @return
      */
     AjaxResult findDate(String date,Long userId);
+
+    /**
+     * 流程结束后修改状态
+     *
+     * @param date
+     * @param userId
+     * @return
+     */
+    AjaxResult updateAttendance(FormDataDto dto);
 }

+ 40 - 4
boman-web-core/src/main/java/com/boman/web/core/service/attendance/AttendanceServiceImpl.java

@@ -9,10 +9,8 @@ import com.boman.common.redis.RedisKey;
 import com.boman.domain.GenTable;
 import com.boman.domain.GenTableColumn;
 import com.boman.domain.constant.FormDataConstant;
-import com.boman.domain.dto.AjaxResult;
-import com.boman.domain.dto.ClockOnDto;
-import com.boman.domain.dto.FormDataDto;
-import com.boman.domain.dto.UpdateDto;
+import com.boman.domain.dto.*;
+import com.boman.web.core.mapper.AttendanceMapper;
 import com.boman.web.core.mapper.StandardlyMapper;
 import com.boman.web.core.service.TableServiceCmdService;
 import com.boman.web.core.service.attendance.rules.AttendanceRulesService;
@@ -65,6 +63,8 @@ public class AttendanceServiceImpl implements AttendanceService {
     private IBaseSelectService selectService;
     @Autowired
     private StandardlyMapper standardlyMapper;
+    @Autowired
+    private AttendanceMapper attendanceMapper;
 
     /**
      * 功能描述: 根据tableName和userId查找当月考勤
@@ -478,6 +478,42 @@ public class AttendanceServiceImpl implements AttendanceService {
         return AjaxResult.success(jsonObjectList);
     }
 
+    @Override
+    public AjaxResult updateAttendance(FormDataDto dto) {
+        JSONObject condition = ifNullSetEmpty(dto.getFixedData().getJSONObject(CONDITION));
+        String tableName = "attendance_table";
+        GenTable genTable = cmdService.getTableFromRedisByTableName(RedisKey.TABLE_INFO, tableName);
+        List<GenTableColumn> columns = genTable.getColumns();
+        JSONObject packCondition = ifNullSetEmpty(selectService.packColCondition(columns, condition));
+        JSONObject result = new JSONObject();
+        List<JSONObject> rows = attendanceMapper.selectByCondition(tableName);
+
+        List<Map<String, Object>> detailedRecordList = new ArrayList<>();
+        if (isEmpty(rows)) {
+            result.put(FormDataConstant.PAGE_ROWS, rows);
+            return AjaxResult.success(result);
+        }
+
+        for (JSONObject jsonObject : rows) {
+            Map<String, Object> map = new HashMap<>(5);
+            Object attendanceTableWork = jsonObject.get("attendance_table_work");
+            Object attendanceTableOffWork = jsonObject.get("attendance_table_offwork");
+            map.put("attendanceTableWork", "未打卡");
+            map.put("attendanceTableOffWork", "未打卡");
+            if (isNotEmpty(attendanceTableWork)) {
+                map.put("attendanceTableWork", attendanceTableWork + "已打卡");
+            }
+            if (isNotEmpty(attendanceTableOffWork)) {
+                map.put("attendanceTableWork", attendanceTableOffWork + "已打卡");
+            }
+
+            map.put("dateTime", jsonObject.get("attendance_table_week") + " " + jsonObject.get("attendance_table_todaytime"));
+            detailedRecordList.add(map);
+        }
+
+        return null;
+    }
+