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 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 api1105List = api1105Rep.findPushData(api1102.getKqdm()); Double sum = 0.0; if(null != api1105List && api1105List.size() > 0){ sh2023Api1115.setHws(api1105List.size() + ""); for (Api1105 api1105 : api1105List) { List dataOne = api1208Rep.getDataOne(api1105.getHwdm(), exeDate); if(null != dataOne){ sum += dataOne.get(0).getJjsl(); } } } //设置合同数 Integer hts = 0; List api1201List = api1201Rep.getNumByLhnd(api1102.getKqdm(), DateFormatUtils.format(new Date(), "yyyy")); if(api1201List != null && api1201List.size() > 0){ hts = api1201List.size(); } sh2023Api1115.setHts(hts + ""); //入库条数 List api1202List = api1202Rep.getDataByYwrq(api1102.getKqdm(), DateUtil.getYearFirst(exeDate), exeDate); if(null != api1202List && api1202List.size() > 0){ sh2023Api1115.setRkts(api1202List.size() + ""); } //出库条数 List api1205List = api1205Rep.getDataByYwrq(api1102.getKqdm(), DateUtil.getYearFirst(exeDate), exeDate); if(null != api1205List && api1205List.size() > 0){ sh2023Api1115.setCkts(api1205List.size() + ""); } //库存量 sh2023Api1115.setKcsl(sum/1000 + ""); //库存条数 List 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); } }