shicf
10 天以前 f60cf23a76972c0e0c7a437b17f37e1237e7d8d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
package com.product.mobile.core.controller;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
 
import com.product.core.config.CoreConst;
import com.product.core.controller.support.AbstractBaseController;
import com.product.core.entity.FieldSetEntity;
import com.product.core.entity.RequestParameterEntity;
import com.product.core.exception.BaseException;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.mobile.core.config.MobileCoreCode;
import com.product.mobile.core.service.SignInService;
import com.product.module.sys.version.ApiVersion;
import com.product.org.admin.config.CmnCode;
 
/**
 *  手机签到
 *
 * @author shicf
 */
@RequestMapping("/api/mobile")
@RestController
public class SignInController extends AbstractBaseController {
    @Autowired
    SignInService signInService;
 
    /**
     * 打卡签到
     *
     * @param request
     * @return
     */
    @RequestMapping(value = "/map/sign-in/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String signIn(HttpServletRequest request) {
        FieldSetEntity fse = null;
        Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
        if (bean != null) {
            RequestParameterEntity reqp = (RequestParameterEntity) bean;
            fse = reqp.getFormData();
        }
        //签到时,如果上传了uuid,表示,征对公司规定的考勤点的签到,否则表示不在公司规定的考勤点的签到(任意地点签到。)
        try {
            signInService.signIn(fse);
            return this.OK();
        } catch (BaseException e) {
            return this.error(e);
        } catch (Exception e) {
            
            return this.error(MobileCoreCode.SIGN_IN_FAIL);
        }
    }
 
    /**
     * 获取当天打卡签到记录
     *
     * @param request
     * @return
     */
    @RequestMapping(value = "/map/sign-in/list/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String signInList(HttpServletRequest request) {
        FieldSetEntity fse = null;
        Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
        if (bean != null) {
            RequestParameterEntity reqp = (RequestParameterEntity) bean;
            fse = reqp.getFormData();
        }
        try {
            return this.OK_List(signInService.signInList());
        } catch (BaseException e) {
            return this.error(e);
        } catch (Exception e) {
            
            return this.error(MobileCoreCode.SIGN_IN_FAIL);
        }
    }
    /**
     * 获取公司固定考勤点的信息
     *
     * @param request
     * @return
     */
    @RequestMapping(value = "/map/sign-in/site-list/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String signInSiteList(HttpServletRequest request) {
        FieldSetEntity fse = null;
        Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
        if (bean != null) {
            RequestParameterEntity reqp = (RequestParameterEntity) bean;
            fse = reqp.getFormData();
        }
        try {
            //获取当前人的公司
            return this.OK_List(signInService.signInSites(SpringMVCContextHolder.getCurrentUser().getCurrentCompany().getUUID()));
        
        } catch (BaseException e) {
            return this.error(e);
        } catch (Exception e) {
            
            return this.error(MobileCoreCode.SIGN_IN_FAIL);
        }
    }
    /**
     * 地理坐标转换接口
     *
     * @param request
     * @return
     */
    @RequestMapping(value = "/map/coord/convert/{version}", method = RequestMethod.POST)
    @ApiVersion(1)
    public String coordinateTransform(HttpServletRequest request) {
        FieldSetEntity fse = null;
        Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
        if (bean != null) {
            RequestParameterEntity reqp = (RequestParameterEntity) bean;
            fse = reqp.getFormData();
        }
        try {
            //返回经纬度
            return this.OK_List(signInService.coordinateTransform(fse.getInteger("type"),fse.getDouble("longitude"),fse.getDouble("latitude")));
        
        } catch (BaseException e) {
            return this.error(e);
        } catch (Exception e) {
            
            return this.error(MobileCoreCode.SIGN_IN_FAIL);
        }
    }
}