YYC
2025-04-22 33ad92a73de17e8d72f30632ced04dca5719f76e
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.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.apache.commons.lang.time.DateFormatUtils;
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 Api1201Rep api1201Rep;
    @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();
                }
            }
        }
 
        //设置合同数
        Integer hts = 0;
        List<Api1201> api1201List = api1201Rep.getNumByLhnd(api1102.getKqdm(), DateFormatUtils.format(new Date(), "yyyy"));
        if(api1201List != null && api1201List.size() > 0){
            hts = api1201List.size();
        }
        sh2023Api1115.setHts(hts + "");
 
        //入库条数
        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);
    }
 
}