CZT
2023-10-27 dc66963d36e0a479e7334092241834b60bf8bbe2
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
package com.fzzy.push.whhpjl;
 
import com.alibaba.fastjson.JSONObject;
import com.fzzy.api.Constant;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.ApiInfoData;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.service.PushService11;
import com.fzzy.api.view.repository.ApiInfoDataRep;
import com.fzzy.otherview.whhpjl.WhjlConstant;
import com.fzzy.otherview.whhpjl.dto.WhjlApi1204;
import com.fzzy.otherview.whhpjl.dto.WhjlApi1207;
import com.fzzy.otherview.whhpjl.dto.WhjlApi1214;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import java.util.ArrayList;
import java.util.List;
 
/**
 * 武汉军粮省平台-粮食购销数据推送
 *
 * @author czt
 * @date 2023/08/04
 */
@Slf4j
@Component
public class WhjlPushService12 implements PushService11 {
 
    @Autowired
    private WhjlApiRemoteService apiRemoteService;
    @Autowired
    private ApiInfoDataRep apiInfoDataRep;
 
    @Override
    public String getProtocol() {
        return PushProtocol.SB_WHJL_2023.getCode();
    }
 
    @Override
    public void pushData(ApiParam param) {
        log.info("武汉军粮省平台--->>>粮食购销 上报开始");
 
        // 推送客户信息
        this.pushData1204(apiRemoteService, param);
        // 推送合同信息
        this.pushData1207(apiRemoteService, param);
        //TODO 推送库存台账信息
 
        //TODO 推送库存台账产品批次信息
 
        //TODO 推送库存台账出入信息
 
        // 推送出入库记录
        this.pushData1214(apiRemoteService, param);
 
        log.info("武汉军粮省平台--->>>粮食购销 上报结束");
    }
 
    /**
     * 1204 客户信息
     */
    private void pushData1204(ApiRemoteService apiRemoteService, ApiParam param) {
 
        //获取军工企业信息
        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_1204);
 
        if (null == items || items.isEmpty()) {
            return;
        }
        param.setInteCategory(WhjlConstant.API_CATEGORY_12);
        param.setInteId(WhjlConstant.API_CODE_1204);
        List<WhjlApi1204> list = new ArrayList<>();
        WhjlApi1204 whjlApi1204;
        for (ApiInfoData infoData : items) {
            whjlApi1204 = JSONObject.parseObject(infoData.getData(), WhjlApi1204.class);
            whjlApi1204.setKqdm(infoData.getKqdm());
            whjlApi1204.setCzbz(infoData.getCzbz());
            whjlApi1204.setUpdateTime(infoData.getUpdateTime());
            whjlApi1204.setBizId(infoData.getDataId());
            list.add(whjlApi1204);
        }
 
        //推送,数据为集合形式
        ResponseDto responseDto = apiRemoteService.pushData(param, list);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            for (ApiInfoData data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
 
                    data.setCzbz(Constant.CZBZ_U);
                    apiInfoDataRep.save(data);
                }
            }
        }
    }
 
    /**
     * 1207 合同信息
     */
    private void pushData1207(ApiRemoteService apiRemoteService, ApiParam param) {
 
        //获取军工企业信息
        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_1207);
 
        if (null == items || items.isEmpty()) {
            return;
        }
        param.setInteCategory(WhjlConstant.API_CATEGORY_12);
        param.setInteId(WhjlConstant.API_CODE_1207);
        List<WhjlApi1207> list = new ArrayList<>();
        WhjlApi1207 whjlApi1207;
        for (ApiInfoData infoData : items) {
            whjlApi1207 = JSONObject.parseObject(infoData.getData(), WhjlApi1207.class);
            whjlApi1207.setKqdm(infoData.getKqdm());
            whjlApi1207.setCzbz(infoData.getCzbz());
            whjlApi1207.setUpdateTime(infoData.getUpdateTime());
            whjlApi1207.setBizId(infoData.getDataId());
            list.add(whjlApi1207);
        }
 
        //推送,数据为集合形式
        ResponseDto responseDto = apiRemoteService.pushData(param, list);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            for (ApiInfoData data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
 
                    data.setCzbz(Constant.CZBZ_U);
                    apiInfoDataRep.save(data);
                }
            }
        }
    }
 
    /**
     * 1214 合同信息
     */
    private void pushData1214(ApiRemoteService apiRemoteService, ApiParam param) {
 
        //获取军工企业信息
        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_1214);
 
        if (null == items || items.isEmpty()) {
            return;
        }
        param.setInteCategory(WhjlConstant.API_CATEGORY_12);
        param.setInteId(WhjlConstant.API_CODE_1214);
        List<WhjlApi1214> list = new ArrayList<>();
        WhjlApi1214 whjlApi1214;
        for (ApiInfoData infoData : items) {
            whjlApi1214 = JSONObject.parseObject(infoData.getData(), WhjlApi1214.class);
            whjlApi1214.setKqdm(infoData.getKqdm());
            whjlApi1214.setCzbz(infoData.getCzbz());
            whjlApi1214.setUpdateTime(infoData.getUpdateTime());
            whjlApi1214.setBizId(infoData.getDataId());
            list.add(whjlApi1214);
        }
 
        //推送,数据为集合形式
        ResponseDto responseDto = apiRemoteService.pushData(param, list);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            for (ApiInfoData data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
 
                    data.setCzbz(Constant.CZBZ_U);
                    apiInfoDataRep.save(data);
                }
            }
        }
    }
 
 
}