czt
2025-03-18 451f8ceb451519c029a0bcd0373b7b493e6265fc
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
package com.fzzy.api.timer;
 
import com.fzzy.api.Constant;
import com.fzzy.api.entity.*;
import com.fzzy.api.utils.DateUtil;
import com.fzzy.api.view.repository.*;
import com.fzzy.otherview.sh2023.pr.SHApi1115PR;
import com.fzzy.push.sh2023.dto.SH2023Api1115;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
 
/**
 * @Description 上海省平台接口-定时统计(数据相符性数据)
 * @Author CZT
 * @Date 2024/6/28 16:38
 */
@Slf4j
@Component(ApiSH2023Scheduled.BEAN_ID)
public class ApiSH2023Scheduled {
    public static final String BEAN_ID = "api.apiSH2023Scheduled";
 
    @Autowired
    private Api1101Rep api1101Rep;
    @Autowired
    private Api1102Rep api1102Rep;
    @Autowired
    private Api1105Rep api1105Rep;
    @Autowired
    private Api1202Rep api1202Rep;
    @Autowired
    private Api1205Rep api1205Rep;
    @Autowired
    private Api1208Rep api1208Rep;
    @Autowired
    private SHApi1115PR shApi1115PR;
    /**
     * 每天晚上10点定时统计数据相符性
     */
    @Scheduled(cron = "0 0 22 * * ? ")
    public void scheduled() {
 
        log.info("------->>>>>>>>>>上海省平台接口,系统定时统计数据相符性");
 
        List<Api1102> allApi1102 = api1102Rep.findAll();
 
        if (null == allApi1102 || allApi1102.isEmpty()){
            return;
        }
 
        Date exeDate = new Date();
 
        for (Api1102 api1102 : allApi1102) {
 
            exeCount(api1102, exeDate);
 
        }
    }
 
    /**
     * 统计数据相符性
     * @param api1102
     * @param exeDate
     */
    private void exeCount(Api1102 api1102, Date exeDate) {
 
        SH2023Api1115 sh2023Api1115 = new SH2023Api1115();
        //库区代码和名称
        sh2023Api1115.setKqdm(api1102.getKqdm());
        sh2023Api1115.setKqmc(api1102.getKqmc());
        //上级单位名称
        Api1101 api1101 = api1101Rep.findData(api1102.getKqdm().substring(0, 18));
        if(null != api1101){
            sh2023Api1115.setSjdwmc(api1101.getDwmc());
        }
        //仓房数,廒间数
        sh2023Api1115.setCfs(api1102.getCfs() + "");
        sh2023Api1115.setAjs(api1102.getAjs() + "");
        //货位数
        List<Api1105> api1105List = api1105Rep.findPushData(api1102.getKqdm());
        Double sum = 0.0;
        if(null != api1105List && api1105List.size() > 0){
            sh2023Api1115.setHws(api1105List.size() + "");
            for (Api1105 api1105 : api1105List) {
                List<Api1208> dataOne = api1208Rep.getDataOne(api1105.getHwdm(), exeDate);
                if(null != dataOne){
                    sum += dataOne.get(0).getJjsl();
                }
            }
        }
        //入库条数
        List<Api1202> api1202List = api1202Rep.getDataByYwrq(api1102.getKqdm(), DateUtil.getYearFirst(exeDate), exeDate);
        if(null != api1202List && api1202List.size() > 0){
            sh2023Api1115.setRkts(api1202List.size() + "");
        }
        //出库条数
        List<Api1205> api1205List = api1205Rep.getDataByYwrq(api1102.getKqdm(), DateUtil.getYearFirst(exeDate), exeDate);
        if(null != api1205List && api1205List.size() > 0){
            sh2023Api1115.setCkts(api1205List.size() + "");
        }
 
        //库存量
        sh2023Api1115.setKcsl(sum/1000 + "");
        //库存条数
        List<Api1208> api1208List = api1208Rep.findPushDataByTime(api1102.getKqdm(), DateUtil.getYearFirst(exeDate), exeDate);
        if(null != api1208List && api1208List.size() > 0){
            sh2023Api1115.setKcts(api1208List.size() + "");
        }
 
        sh2023Api1115.setSclqajs(api1102.getAjs() + "");
        sh2023Api1115.setSccntxajs(api1102.getAjs() + "");
 
        sh2023Api1115.setSjtjsj(exeDate);
        sh2023Api1115.setCzbz(Constant.CZBZ_I);
        sh2023Api1115.setZhgxsj(exeDate);
 
        shApi1115PR.saveData(sh2023Api1115);
    }
 
}