YYC
2026-03-03 501548e49492b4f83f2deee73316fda8abe33210
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
136
137
package com.fzzy.igds.app.v1.service.impl;
 
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.fzzy.common.constant.RespCodeEnum;
import com.fzzy.igds.app.v1.constant.PhoneConstant;
import com.fzzy.igds.app.v1.data.AuthUser;
import com.fzzy.igds.app.v1.data.ParamPatrol;
import com.fzzy.igds.app.v1.data.PhoneRequest;
import com.fzzy.igds.app.v1.data.PhoneResponse;
import com.fzzy.igds.app.v1.service.PhoneService;
import com.fzzy.igds.app.v1.util.PhoneRespUtil;
import com.fzzy.igds.domain.Patrol;
import com.fzzy.igds.domain.PatrolConf;
import com.fzzy.igds.domain.PatrolRecord;
import com.fzzy.igds.mapper.PatrolConfMapper;
import com.fzzy.igds.mapper.PatrolMapper;
import com.fzzy.igds.mapper.PatrolRecordMapper;
import com.fzzy.igds.service.FileService;
import com.fzzy.igds.service.PatrolService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.config.FrameworkConfig;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
 
/**
 * @Author: YYC
 * @Description: 巡检监管-电子巡更打卡
 * @DateTime: 2026-1-12 14:43
 **/
@Service
public class ServiceImpl5106 implements PhoneService {
 
    @Resource
    private PatrolConfMapper patrolConfMapper;
    @Resource
    private PatrolMapper patrolMapper;
    @Resource
    private PatrolRecordMapper patrolRecordMapper;
    @Resource
    private FileService fileService;
 
 
    @Override
    public String getInterfaceId() {
        return PhoneConstant.API_PHONE_5106;
    }
 
    @Override
    public PhoneResponse<Object> execute(PhoneRequest<JSONObject> req, AuthUser authUser) throws Exception {
        //转化对象
        ParamPatrol param = JSONObject.parseObject(req.getData().toString(), ParamPatrol.class);
        if (null == param) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
        }
        //参数验证
        if (StringUtils.isEmpty(param.getDeptId())) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
        }
        //参数验证
        if (StringUtils.isEmpty(param.getLongitude())) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
        }
        //参数验证
        if (StringUtils.isEmpty(param.getLatitude())) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
        }
        //参数验证
        if (StringUtils.isEmpty(param.getUserName())) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1111, "参数有误,请重试!!");
        }
        PatrolRecord patrolRecord = new PatrolRecord();
        String longitude = param.getLongitude();
        String latitude = param.getLatitude();
        patrolRecord.setLongitude(longitude.substring(0, (longitude.indexOf(".") + 6)));
        patrolRecord.setLatitude(latitude.substring(0, (latitude.indexOf(".") + 6)));
        patrolRecord.setCreateTime(new Date());
        patrolRecord.setPatrolId(DateFormatUtils.format(patrolRecord.getCreateTime(), "yyyyMMdd"));
        patrolRecord.setId(ContextUtil.generateId());
        patrolRecord.setCompanyId(authUser.getCompanyId());
        patrolRecord.setCreateBy(authUser.getCname());
        patrolRecord.setUpdateTime(new Date());
        patrolRecord.setUpdateBy(authUser.getCname());
        patrolRecord.setUserId(authUser.getUsername());
        String path = fileService.getFileSavePath("PATROL") + param.getImgName();
        patrolRecord.setImgName(path.replace(FrameworkConfig.getProfile(), "/profile/"));
        QueryWrapper<PatrolConf> queryConfWrapper = new QueryWrapper<>();
        String format = DateFormatUtils.format(new Date(), "HH:mm:ss");
        queryConfWrapper.le("start", format);
        queryConfWrapper.ge("end", format);
        queryConfWrapper.eq("company_id", authUser.getCompanyId());
//            queryConfWrapper.eq("dept_id", authUser.getDeptId());
        List<PatrolConf> confList = patrolConfMapper.selectList(queryConfWrapper);
        if (null == confList||confList.isEmpty()) {
            return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "请填写相关的班次信息!!");
        }
        PatrolConf patrolConf = confList.get(0);
        patrolRecord.setConfId(patrolConf.getId());
        QueryWrapper<Patrol> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("id", patrolRecord.getPatrolId());
        queryWrapper.eq("user_id",authUser.getUsername());
        queryWrapper.eq("conf_id",patrolConf.getId());
        List<Patrol> patrolList = patrolMapper.selectList(queryWrapper);
        if (null == patrolList||patrolList.isEmpty()) {
            Patrol patrol = new Patrol();
            patrol.setId(patrolRecord.getPatrolId());
 
            patrol.setDeptId(authUser.getDeptId());
            patrol.setUserId(authUser.getUsername());
            patrol.setUserName(authUser.getCname());
            patrol.setCompanyId(authUser.getCompanyId());
            patrol.setCreateBy(authUser.getCname());
            patrol.setCreateTime(new Date());
            patrol.setUpdateBy(authUser.getCname());
            patrol.setUpdateTime(new Date());
            patrol.setDeptId(param.getDeptId());
            patrol.setConfId(patrolConf.getId());
            patrol.setConfName(patrolConf.getName());
 
            int insert = patrolMapper.insert(patrol);
            if (insert <= 0) {
                return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "保存失败!!");
            }
        }
        int insert = patrolRecordMapper.insert(patrolRecord);
        if (insert > 0) {
            return PhoneRespUtil.success(RespCodeEnum.CODE_0000, req);
        }
        return PhoneRespUtil.error(RespCodeEnum.CODE_1007, "保存失败!!");
 
    }
}