wangchao 4 vuotta sitten
vanhempi
commit
83af37e1b4

+ 76 - 0
location-rescue-service/src/main/java/com/ai/bss/location/rescue/controller/AttendanceManageController.java

@ -0,0 +1,76 @@
1
package com.ai.bss.location.rescue.controller;
2
3
import com.ai.abc.api.model.CommonRequest;
4
import com.ai.abc.api.model.CommonResponse;
5
import com.ai.bss.components.common.model.PageBean;
6
import com.ai.bss.location.rescue.service.interfaces.AttendanceManageService;
7
import com.ai.bss.location.rescue.util.EbcConstant;
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.stereotype.Controller;
10
import org.springframework.web.bind.annotation.RequestBody;
11
import org.springframework.web.bind.annotation.RequestMapping;
12
import org.springframework.web.bind.annotation.ResponseBody;
13
14
import java.util.HashMap;
15
import java.util.List;
16
import java.util.Map;
17
18
/**
19
 * @Auther: 王超
20
 * @Date: 2020/12/14 11:38
21
 * @Description:考勤管理
22
 */
23
@Controller
24
@RequestMapping("/AttendanceManage")
25
public class AttendanceManageController {
26
27
    @Autowired
28
    AttendanceManageService attendanceManageService;
29
30
    /**
31
     * 分页查询考勤信息 日 周 月
32
     *      参数:
33
     *           周 mark=week
34
     *             startTime :开始时间(yyyy-MM-dd格式),必选
35
     *             endTime :结束时间(yyyy-MM-dd格式),必选
36
     *             orgId:所属组织ID,必选
37
     *             id:个人编码(员工编码)
38
     *             nameAsLike:姓名(模糊匹配)
39
     *             mainJobPositionId: 职位
40
     *
41
     * @return clockingDays 出勤天数 name 姓名 mainJobPositionId 职位 goToWorkTime打卡时间
42
     */
43
    @ResponseBody
44
    @RequestMapping("/queryAttendanceInfo")
45
    public CommonResponse<PageBean<Map<String, Object>>> queryAttendanceInfo(@RequestBody CommonRequest<HashMap<String, Object>> conditionMap){
46
        // 当前页数
47
        int pageNumber = conditionMap.getPageNumber() < 1 ? 1 : conditionMap.getPageNumber();
48
49
        // 每页条数
50
        int pageSize = conditionMap.getPageSize() < 1 ? EbcConstant.DEFAULT_PAGE_SIZE : conditionMap.getPageSize();
51
52
        conditionMap.setPageSize(pageSize);
53
        conditionMap.setPageNumber(pageNumber);
54
        conditionMap.getData().put("orgId", "0000");
55
        return attendanceManageService.queryAttendanceInfo(conditionMap);
56
    }
57
58
    /**
59
     * 分页查询考勤详情
60
     *
61
     * @return goToWorkTime打卡时间
62
     */
63
    @ResponseBody
64
    @RequestMapping("/queryAttendanceDetailsInfo")
65
    public CommonResponse<List<Map<String, Object>>> queryAttendanceDetailsInfo(@RequestBody CommonRequest<HashMap<String, Object>> conditionMap) throws Exception {
66
        // 当前页数
67
        int pageNumber = conditionMap.getPageNumber() < 1 ? 1 : conditionMap.getPageNumber();
68
69
        // 每页条数
70
        int pageSize = conditionMap.getPageSize() < 1 ? EbcConstant.DEFAULT_PAGE_SIZE : conditionMap.getPageSize();
71
        conditionMap.setPageSize(pageSize);
72
        conditionMap.setPageNumber(pageNumber);
73
        conditionMap.getData().put("orgId", "0000");
74
        return attendanceManageService.queryAttendanceDetailsInfo(conditionMap);
75
    }
76
}

+ 101 - 0
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/impl/AttendanceManageServiceImpl.java

@ -0,0 +1,101 @@
1
package com.ai.bss.location.rescue.service.impl;
2
3
import com.ai.abc.api.model.CommonRequest;
4
import com.ai.abc.api.model.CommonResponse;
5
import com.ai.bss.characteristic.spec.model.CharacteristicSpecValue;
6
import com.ai.bss.components.common.model.PageBean;
7
import com.ai.bss.location.rescue.service.interfaces.AttendanceManageService;
8
import com.ai.bss.location.rescue.service.interfaces.CharSpecService;
9
import com.ai.bss.location.rescue.util.EbcConstant;
10
import com.ai.bss.worker.service.api.AttendanceStatusQuery;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Service;
13
14
import java.text.ParseException;
15
import java.util.HashMap;
16
import java.util.List;
17
import java.util.Map;
18
19
/**
20
 * @Auther: 王超
21
 * @Date: 2020/12/14 13:41
22
 * @Description:
23
 */
24
@Service
25
public class AttendanceManageServiceImpl implements AttendanceManageService {
26
    @Autowired
27
    CharSpecService charSpecService;
28
29
    @Autowired
30
    AttendanceStatusQuery attendanceStatusQuery;
31
32
33
34
    @Override
35
    public CommonResponse<PageBean<Map<String, Object>>> queryAttendanceInfo(CommonRequest<HashMap<String, Object>> conditionMap) {
36
        //在特征表获取职务值
37
        List<CharacteristicSpecValue> mainjobpositionList = charSpecService.getCharSpecList(EbcConstant.MAINJOBPOSITION);
38
        CommonResponse<PageBean<Map<String,Object>>> attendanceReport= null;
39
        HashMap<String, Object> data = conditionMap.getData();
40
        Map<String, Object> paramMap=new HashMap<>();
41
        try {
42
            if(null!=data&&data.size()>0){
43
                if(EbcConstant.AREA_IN_OUT_RECORD_DAY.equals(data.get("mark"))){
44
                    paramMap.put("workDay", data.get("currentDate"));
45
                    paramMap.put("nameAsLike", data.get("userName"));
46
                    paramMap.put("orgId", data.get("orgId"));
47
                    //查询日考勤
48
                    attendanceReport = attendanceStatusQuery.queryDailyAttendanceReport((new CommonRequest<>(paramMap,conditionMap.getPageNumber(),conditionMap.getPageSize())));
49
50
                }else if(EbcConstant.AREA_IN_OUT_RECORD_WEEK.equals(data.get("mark"))){
51
                    paramMap.put("startTime", data.get("startDay"));
52
                    paramMap.put("endTime", data.get("currentDate"));
53
                    paramMap.put("nameAsLike", data.get("userName"));
54
                    paramMap.put("orgId", data.get("orgId"));
55
                    //查询周考勤
56
                    attendanceReport = attendanceStatusQuery.queryCustomAttendanceReport((new CommonRequest<>(paramMap,conditionMap.getPageNumber(),conditionMap.getPageSize())));
57
58
                }else if(EbcConstant.AREA_IN_OUT_RECORD_MONTH.equals(data.get("mark"))){
59
                    paramMap.put("month", data.get("currentDate"));
60
                    paramMap.put("nameAsLike", data.get("userName"));
61
                    paramMap.put("orgId", data.get("orgId"));
62
                    //查询月考勤
63
                    attendanceReport= attendanceStatusQuery.queryMonthlyAttendanceReport((new CommonRequest<>(paramMap,conditionMap.getPageNumber(),conditionMap.getPageSize())));
64
                }
65
66
                List<Map<String, Object>> dailyAttendanceList = attendanceReport.getData().getData();
67
                if(dailyAttendanceList != null && dailyAttendanceList.size() != 0){
68
                    dailyAttendanceList.forEach((dailyAttendance)-> {
69
                     /*   if(dailyAttendance.get("goToWorkStatus")!=null&&("HOL".equals(dailyAttendance.get("goToWorkStatus"))||"ABS".equals(dailyAttendance.get("goToWorkStatus"))||"NOT".equals(dailyAttendance.get("goToWorkStatus")))){
70
71
                        }*/
72
73
                        mainjobpositionList.forEach((mainjobposition) -> {
74
                            if (mainjobposition.getCode().equals(dailyAttendance.get("mainJobPositionId"))) {
75
                                dailyAttendance.put("mainJobPositionId", mainjobposition.getValue());
76
                            }
77
                        });
78
                    });
79
                }
80
            }
81
        } catch (ParseException e) {
82
            e.printStackTrace();
83
        }
84
85
        return attendanceReport;
86
    }
87
88
    @Override
89
    public CommonResponse<List<Map<String, Object>>> queryAttendanceDetailsInfo(CommonRequest<HashMap<String, Object>> conditionMap) {
90
        Map<String, Object> paramMap=new HashMap<>();
91
92
        CommonResponse<List<Map<String, Object>>> listCommonResponse=null;
93
        try {
94
            listCommonResponse = attendanceStatusQuery.queryAttendanceDetailReport(new CommonRequest<>(conditionMap.getData(), 1, 100));
95
        } catch (ParseException e) {
96
            e.printStackTrace();
97
        }
98
99
        return listCommonResponse;
100
    }
101
}

+ 16 - 0
location-rescue-service/src/main/java/com/ai/bss/location/rescue/service/interfaces/AttendanceManageService.java

@ -0,0 +1,16 @@
1
package com.ai.bss.location.rescue.service.interfaces;
2
3
import com.ai.abc.api.model.CommonRequest;
4
import com.ai.abc.api.model.CommonResponse;
5
import com.ai.bss.components.common.model.PageBean;
6
7
import java.util.HashMap;
8
import java.util.List;
9
import java.util.Map;
10
11
public interface AttendanceManageService {
12
13
    CommonResponse<PageBean<Map<String, Object>>> queryAttendanceInfo(CommonRequest<HashMap<String, Object>> conditionMap);
14
15
    CommonResponse<List<Map<String, Object>>> queryAttendanceDetailsInfo(CommonRequest<HashMap<String, Object>> conditionMap);
16
}

+ 3 - 0
location-rescue-service/src/main/java/com/ai/bss/location/rescue/util/EbcConstant.java

@ -86,4 +86,7 @@ public class EbcConstant {
86 86
	public static String USPA_USER_ORG_ID="1";
87 87
	//当前登录者部门
88 88
	public static String USPA_USER_ORG_CODE="0000";
89
90
	// 特征表获得职务code
91
	public static final String MAINJOBPOSITION = "mainJobPosition";
89 92
}