xieb
2023-10-19 1dd5d8f8a616f5cf3caa7828d46989c7d3dcafc4
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
package cn.gistack.sm.sjztods.service.impl;
 
import cn.gistack.sm.sjztods.entity.SkxsQkTj;
import cn.gistack.sm.sjztods.excel.SkxsQkTjExcel;
import cn.gistack.sm.sjztods.mapper.SkxsQkTjMapper;
import cn.gistack.sm.sjztods.service.ISkxsQkTjService;
import cn.gistack.sm.sjztods.vo.SkxsQkTjVO;
import cn.gistack.system.user.entity.User;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springframework.stereotype.Service;
 
import java.util.Date;
import java.util.List;
import java.util.Objects;
 
/**
 * @ClassName SkxsQkTjServiceImpl
 * @author zhongrj
 * @date 2023-10-19
 */
@Service
@DS("ztznwh")
public class SkxsQkTjServiceImpl extends ServiceImpl<SkxsQkTjMapper, SkxsQkTj> implements ISkxsQkTjService {
 
    /**
     * 上报
     * @param skxsQkTj
     * @return
     */
    @Override
    @DS("ztznwh")
    public boolean exportSkxsQkTj(SkxsQkTj skxsQkTj) {
        // 查询库中是否包含当前日期,当前行政区的数据,如果有,则更新,没有则新增
        QueryWrapper<SkxsQkTj> wrapper = new QueryWrapper<>();
        wrapper.eq("\"statistic_time\"",skxsQkTj.getStatisticTime())
            .eq("\"res_code\"",skxsQkTj.getResCode());
        SkxsQkTj qkTj = baseMapper.selectOne(wrapper);
        // 设置更新人员,更新时间,来源信息
        skxsQkTj.setUpdateTime(new Date());
        skxsQkTj.setUpdateUser(AuthUtil.getUserId());
        skxsQkTj.setSysResource("sb");
        if (null!= qkTj){
            skxsQkTj.setGuid(qkTj.getGuid());
            // 更新并返回
            return updateById(skxsQkTj);
        }
        // 设置创建人员,时间信息
        skxsQkTj.setCreateUser(AuthUtil.getUserId());
        skxsQkTj.setCreateTime(new Date());
        // 保存并返回
        return save(skxsQkTj);
    }
 
    /**
     * 分页列表数据查询
     * @param skxsQkTj
     * @param page
     * @return
     */
    @Override
    public Object selectSkxsQkTjPage(IPage<SkxsQkTjVO> page, SkxsQkTjVO skxsQkTj) {
        if (null!=skxsQkTj.getIsExport()){
            // 导出,查询所有数据
            return baseMapper.selectSkxsQkTjPage(null,skxsQkTj);
        }
        return page.setRecords(baseMapper.selectSkxsQkTjPage(page,skxsQkTj));
    }
 
    /**
     * 按行政区统计
     * @param skxsQkTj
     * @return
     */
    @Override
    public Object getStatisticList(SkxsQkTjVO skxsQkTj) {
        return baseMapper.getStatisticList(skxsQkTj);
    }
 
    /**
     * 导入统计上报数据
     * @param data
     */
    @Override
    public void importSkxsQkTjData(List<SkxsQkTjExcel> data) {
        if (data.size()>0){
            // 遍历
            data.forEach(skxsQkTjExcel -> {
                SkxsQkTj skxsQkTj = Objects.requireNonNull(BeanUtil.copy(skxsQkTjExcel, SkxsQkTj.class));
                // 查询库中是否包含当前日期,当前行政区的数据,如果有,则更新,没有则新增
                QueryWrapper<SkxsQkTj> wrapper = new QueryWrapper<>();
                wrapper.eq("\"statistic_time\"",skxsQkTj.getStatisticTime())
                    .eq("\"res_code\"",skxsQkTj.getResCode());
                SkxsQkTj qkTj = baseMapper.selectOne(wrapper);
                // 设置更新人员,更新时间,来源信息
                skxsQkTj.setUpdateTime(new Date());
                skxsQkTj.setUpdateUser(AuthUtil.getUserId());
                skxsQkTj.setSysResource("sb");
                if (null!= qkTj){
                    skxsQkTj.setGuid(qkTj.getGuid());
                    // 更新并返回
                    updateById(skxsQkTj);
                    return;
                }
                // 设置创建人员,时间信息
                skxsQkTj.setCreateUser(AuthUtil.getUserId());
                skxsQkTj.setCreateTime(new Date());
                // 保存并返回
                save(skxsQkTj);
                return;
            });
        }
    }
 
    /**
     * 查询导出数据
     * @param skxsQkTj
     * @return
     */
    @Override
    public List<SkxsQkTjExcel> exportSkxsQkTjList(SkxsQkTjVO skxsQkTj) {
        return baseMapper.exportSkxsQkTjList(skxsQkTj);
    }
}