| | |
| | | package com.fzzy.push.shjdjw2023; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.bstek.dorado.util.DateUtils; |
| | | import com.fzzy.api.Constant; |
| | | import com.fzzy.api.data.ApiParam; |
| | | import com.fzzy.api.data.PushProtocol; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.text.DateFormat; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | private Api1104Rep api1104Rep; |
| | | @Autowired |
| | | private Api1208Rep api1208Rep; |
| | | @Autowired |
| | | private Api1404Rep api1404Rep; |
| | | |
| | | |
| | | @Override |
| | | public String getProtocol() { |
| | |
| | | resd.setSuccess(responseDto.getCode() == 1 ? 0 : responseDto.getCode()); |
| | | resd.setMsg(responseDto.getDescription()); |
| | | |
| | | if (Constant.API_CODE_1403.equals(inteId)) { |
| | | //轮换计划完成情况数据封装 |
| | | Shjdjw1502 shjdjw1502 = copy1502((Api1403) data); |
| | | ShjdjwReqDto<Object> dto = new ShjdjwReqDto<>(); |
| | | dto.setId(getDataId(ShjdjwApiCodeConstant.API_CODE_LS1502)); |
| | | List<Object> list = new ArrayList<>(); |
| | | list.add(shjdjw1502); |
| | | dto.setData(list); |
| | | String json = JSON.toJSONString(dto); |
| | | |
| | | //轮换计划完成情况数据上传 |
| | | apiLog.setData(json); |
| | | apiLog.setKqdm(kqdm); |
| | | apiLog.setUploadTime(new Date()); |
| | | ShjdjwRespDto shjdjwresponseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl(), json, conf); |
| | | responseDto.setBizId(bizId); |
| | | apiLog.setStatus(shjdjwresponseDto.getCode() == 1 ? 0 : shjdjwresponseDto.getCode()); |
| | | apiLog.setResult(shjdjwresponseDto.getDescription()); |
| | | apiLogRep.save(apiLog); |
| | | ResponseDto response = new ResponseDto(); |
| | | response.setSuccess(shjdjwresponseDto.getCode() == 1 ? 0 : shjdjwresponseDto.getCode()); |
| | | response.setMsg(shjdjwresponseDto.getDescription()); |
| | | } |
| | | return resd; |
| | | } catch (Exception e) { |
| | | log.error(e.getMessage(), e); |
| | |
| | | list.add(shjdjwApi1310); |
| | | } else if (Constant.API_CODE_1403.equals(inteId)) { |
| | | //轮换计划数据封装 |
| | | ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403(); |
| | | Api1403 api1403 = (Api1403) data; |
| | | BeanUtils.copyProperties(api1403, shjdjwApi1403); |
| | | |
| | | shjdjwApi1403.setJhbm(api1403.getLhjhdh()); |
| | | shjdjwApi1403.setPch("0"); |
| | | ShjdjwApi1403 shjdjwApi1403 = copyApi1403((Api1403) data); |
| | | |
| | | list.add(shjdjwApi1403); |
| | | } else if (Constant.API_CODE_1404.equals(inteId)) { |
| | | //轮换计划完成情况数据封装 |
| | | ShjdjwApi1404 shjdjwApi1404 = copyApi1404((Api1404) data); |
| | | |
| | | list.add(shjdjwApi1404); |
| | | } else { |
| | | |
| | | list.add(data); |
| | |
| | | return JSON.toJSONString(dto); |
| | | } |
| | | |
| | | private ShjdjwApi1404 copyApi1404(Api1404 data) { |
| | | ShjdjwApi1404 shjdjwApi1404 = new ShjdjwApi1404(); |
| | | Api1404 api1404 = data; |
| | | BeanUtils.copyProperties(api1404, shjdjwApi1404); |
| | | private ShjdjwApi1403 copyApi1403(Api1403 api1403) { |
| | | ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403(); |
| | | BeanUtils.copyProperties(api1403, shjdjwApi1403); |
| | | |
| | | //查询单位信息 |
| | | List<Api1101> listApi1101 = api1101Rep.findPushData(api1404.getKqdm()); |
| | | if (null != listApi1101 || listApi1101.size() > 0) { |
| | | shjdjwApi1404.setDwmc(listApi1101.get(0).getDwmc()); |
| | | List<Double> lhsl = getLhsl(api1403); |
| | | if (null != lhsl && lhsl.size() > 0) { |
| | | shjdjwApi1403.setLrsl(lhsl.get(1)); |
| | | shjdjwApi1403.setLrsl(lhsl.get(0)); |
| | | } |
| | | |
| | | shjdjwApi1404.setJhnd("0"); |
| | | shjdjwApi1404.setJhsl("0"); |
| | | shjdjwApi1404.setYzxsl("0"); |
| | | shjdjwApi1404.setZxbl("0"); |
| | | shjdjwApi1404.setZbjjbl("0"); |
| | | //TODO 计划年度 计划数量 已执行数量 执行比例 招标/竞价比例 |
| | | return shjdjwApi1404; |
| | | shjdjwApi1403.setJhbm(api1403.getLhjhdh()); |
| | | shjdjwApi1403.setPch("0"); |
| | | return shjdjwApi1403; |
| | | } |
| | | |
| | | private ShjdjwApi1203 copyApi1203(Api1203 data) { |
| | | /** |
| | | * 获取轮入和轮出重量 |
| | | * |
| | | * @param api1403 |
| | | * @return |
| | | */ |
| | | private List<Double> getLhsl(Api1403 api1403) { |
| | | List<Api1404> api1404List = api1404Rep.getDataByLhjhdh(api1403.getLhjhdh()); |
| | | List<Double> lhsl = new ArrayList<>(); |
| | | if (null != api1404List && api1404List.size() > 0) { |
| | | // double sum = api1404List.stream().mapToDouble(Api1404::getLhsl).summaryStatistics().getSum(); |
| | | double lcSum = api1404List.stream() |
| | | .filter(x -> x.getLhlx().equals("1")) |
| | | .mapToDouble(Api1404::getLhsl) |
| | | .summaryStatistics().getSum(); |
| | | double lrSum = api1404List.stream() |
| | | .filter(x -> x.getLhlx().equals("2")) |
| | | .mapToDouble(Api1404::getLhsl) |
| | | .summaryStatistics().getSum(); |
| | | lhsl.add(lcSum); |
| | | lhsl.add(lrSum); |
| | | } |
| | | return lhsl; |
| | | } |
| | | |
| | | private Shjdjw1502 copy1502(Api1403 api1403) { |
| | | Shjdjw1502 shjdjw1502 = new Shjdjw1502(); |
| | | shjdjw1502.setDwmc(api1403.getLhjhdh()); |
| | | shjdjw1502.setJhnd(api1403.getJhnd()); |
| | | |
| | | // 计划数量 |
| | | List<Double> lhsl = getLhsl(api1403); |
| | | Double sum = 0.0; |
| | | if (null != lhsl && lhsl.size() > 0) { |
| | | sum = lhsl.stream().reduce(0d, Double::sum); |
| | | } |
| | | // 已执行数量 |
| | | List<Api1202> api1202List = api1202Rep.getDataByTime(api1403.getKszxrq(), api1403.getJzzxrq()); |
| | | // DateUtils.format("yyyy-MM-dd HH:mm:ss", api1403.getKszxrq()), |
| | | // DateUtils.format("yyyy-MM-dd HH:mm:ss", api1403.getJzzxrq())); |
| | | Double yzxsl = api1202List.stream() |
| | | .mapToDouble(Api1202::getJz) |
| | | .summaryStatistics().getSum(); |
| | | shjdjw1502.setJhsl(sum.toString()); |
| | | shjdjw1502.setYzxsl(yzxsl.toString()); |
| | | //执行比例 |
| | | shjdjw1502.setZxbl(String.valueOf((yzxsl / sum * 100))); |
| | | |
| | | // 招标/竞价比例 |
| | | shjdjw1502.setZbjjbl("100"); |
| | | shjdjw1502.setCzbz(api1403.getCzbz()); |
| | | |
| | | return shjdjw1502; |
| | | } |
| | | |
| | | private ShjdjwApi1203 copyApi1203(Api1203 api1203) { |
| | | ShjdjwApi1203 shjdjwApi1203 = new ShjdjwApi1203(); |
| | | Api1203 api1203 = data; |
| | | |
| | | BeanUtils.copyProperties(api1203, shjdjwApi1203); |
| | | |
| | | shjdjwApi1203.setQydbh(api1203.getRkjydh()); |
| | |
| | | return shjdjwApi1203; |
| | | } |
| | | |
| | | private ShjdjwApi1310 copyApi1310(Api1310 data) { |
| | | private ShjdjwApi1310 copyApi1310(Api1310 api1310) { |
| | | ShjdjwApi1310 shjdjwApi1310 = new ShjdjwApi1310(); |
| | | Api1310 api1310 = data; |
| | | |
| | | BeanUtils.copyProperties(api1310, shjdjwApi1310); |
| | | |
| | | shjdjwApi1310.setZjbgdbh(api1310.getZjbgdh()); |
| | | shjdjwApi1310.setPznm(api1310.getLspzdm()); |
| | | shjdjwApi1310.setSkdjbm(api1310.getLsdjdm()); |
| | | shjdjwApi1310.setJylbbm(api1310.getJylb()); |
| | | shjdjwApi1310.setJyjl(api1310.getJyxmz()); |
| | | if (StringUtils.isNotEmpty(shjdjwApi1310.getJyxm())) { |
| | | String[] split = shjdjwApi1310.getJyxm().split(","); |
| | | StringBuilder jyjl = new StringBuilder(); |
| | | for (String s : split) { |
| | | jyjl.append(",合格"); |
| | | } |
| | | shjdjwApi1310.setJyjl(jyjl.toString().substring(1)); |
| | | } |
| | | |
| | | shjdjwApi1310.setZlzbjgpd(api1310.getZbjgpd()); |
| | | //查询单位信息 |
| | | List<Api1101> listApi1101 = api1101Rep.findPushData(api1310.getKqdm()); |
| | | if (null != listApi1101 || listApi1101.size() > 0) { |
| | | if (null != listApi1101 && listApi1101.size() > 0) { |
| | | shjdjwApi1310.setDwmc(listApi1101.get(0).getDwmc()); |
| | | } |
| | | |
| | | //查询仓房信息 |
| | | List<Api1103> listApi1103 = api1103Rep.findPushDataByCfdm(api1310.getHwdm().substring(0, 25)); |
| | | if (null != listApi1103 || listApi1103.size() > 0) { |
| | | if (null != listApi1103 && listApi1103.size() > 0) { |
| | | shjdjwApi1310.setCfmc(listApi1103.get(0).getCfmc()); |
| | | } |
| | | |
| | | //查询廒间信息 |
| | | List<Api1104> listApi1104 = api1104Rep.findDataByAjdh(api1310.getHwdm().substring(0, 28)); |
| | | if (null != listApi1104 || listApi1104.size() > 0) { |
| | | if (null != listApi1104 && listApi1104.size() > 0) { |
| | | shjdjwApi1310.setAjmc(listApi1104.get(0).getAjmc()); |
| | | } |
| | | |
| | | //查询库区信息 |
| | | List<Api1102> listApi1102 = api1102Rep.findPushData(api1310.getKqdm()); |
| | | if (null != listApi1102 || listApi1102.size() > 0) { |
| | | if (null != listApi1102 && listApi1102.size() > 0) { |
| | | shjdjwApi1310.setKdmc(listApi1102.get(0).getKqmc()); |
| | | } |
| | | //查询粮食库存 |
| | | List<Api1208> listApi1208 = api1208Rep.getDataByHwdm(api1310.getHwdm()); |
| | | if (null != listApi1208 || listApi1208.size() > 0) { |
| | | if (null != listApi1208 && listApi1208.size() > 0) { |
| | | shjdjwApi1310.setKdmc(listApi1208.get(0).getLsxzdm()); |
| | | } |
| | | shjdjwApi1310.setPch("0"); |
| | | return shjdjwApi1310; |
| | | } |
| | | |
| | | private ShjdjwApi1209 copyApi1209(Api1209 data) { |
| | | private ShjdjwApi1209 copyApi1209(Api1209 api1209) { |
| | | ShjdjwApi1209 shjdjwApi1209 = new ShjdjwApi1209(); |
| | | Api1209 api1209 = data; |
| | | |
| | | BeanUtils.copyProperties(api1209, shjdjwApi1209); |
| | | |
| | |
| | | shjdjwApi1209.setSysl(api1209.getJzsysl()); |
| | | //查询单位信息 |
| | | List<Api1101> listApi1101 = api1101Rep.findPushData(api1209.getKqdm()); |
| | | if (null != listApi1101 || listApi1101.size() > 0) { |
| | | if (null != listApi1101 && listApi1101.size() > 0) { |
| | | shjdjwApi1209.setDwmc(listApi1101.get(0).getDwmc()); |
| | | } |
| | | //查询库区信息 |
| | | List<Api1102> listApi1102 = api1102Rep.findPushData(api1209.getKqdm()); |
| | | if (null != listApi1102 || listApi1102.size() > 0) { |
| | | if (null != listApi1102 && listApi1102.size() > 0) { |
| | | shjdjwApi1209.setKdmc(listApi1102.get(0).getKqmc()); |
| | | } |
| | | |
| | |
| | | return shjdjwApi1209; |
| | | } |
| | | |
| | | private ShjdjwApi1208 copyApi1208(Api1208 data) { |
| | | private ShjdjwApi1208 copyApi1208(Api1208 api1208) { |
| | | ShjdjwApi1208 shjdjwApi1208 = new ShjdjwApi1208(); |
| | | Api1208 api1208 = data; |
| | | |
| | | BeanUtils.copyProperties(api1208, shjdjwApi1208); |
| | | |
| | |
| | | |
| | | //查询单位信息 |
| | | List<Api1101> listApi1101 = api1101Rep.findPushData(api1208.getKqdm()); |
| | | if (null != listApi1101 || listApi1101.size() > 0) { |
| | | if (null != listApi1101 && listApi1101.size() > 0) { |
| | | shjdjwApi1208.setDwmc(listApi1101.get(0).getDwmc()); |
| | | } |
| | | |
| | | //查询仓房信息 |
| | | List<Api1103> listApi1103 = api1103Rep.findPushDataByCfdm(api1208.getHwdm().substring(0, 25)); |
| | | if (null != listApi1103 || listApi1103.size() > 0) { |
| | | if (null != listApi1103 && listApi1103.size() > 0) { |
| | | shjdjwApi1208.setCfmc(listApi1103.get(0).getCfmc()); |
| | | } |
| | | |
| | | //查询廒间信息 |
| | | List<Api1104> listApi1104 = api1104Rep.findDataByAjdh(api1208.getHwdm().substring(0, 28)); |
| | | if (null != listApi1104 || listApi1104.size() > 0) { |
| | | if (null != listApi1104 && listApi1104.size() > 0) { |
| | | shjdjwApi1208.setAjmc(listApi1104.get(0).getAjmc()); |
| | | } |
| | | |
| | |
| | | return shjdjwApi1208; |
| | | } |
| | | |
| | | private ShjdjwApi1205 copyApi1205(Api1205 data) { |
| | | private ShjdjwApi1205 copyApi1205(Api1205 api1205) { |
| | | ShjdjwApi1205 shjdjwApi1205 = new ShjdjwApi1205(); |
| | | Api1205 api1205 = data; |
| | | |
| | | BeanUtils.copyProperties(api1205, shjdjwApi1205); |
| | | |
| | |
| | | |
| | | //查询单位信息 |
| | | List<Api1101> listApi1101 = api1101Rep.findPushData(api1205.getKqdm()); |
| | | if (null != listApi1101 || listApi1101.size() > 0) { |
| | | if (null != listApi1101 && listApi1101.size() > 0) { |
| | | shjdjwApi1205.setDwmc(listApi1101.get(0).getDwmc()); |
| | | } |
| | | |
| | | //查询仓房信息 |
| | | List<Api1103> listApi1103 = api1103Rep.findPushDataByCfdm(api1205.getHwdm().substring(0, 25)); |
| | | if (null != listApi1103 || listApi1103.size() > 0) { |
| | | if (null != listApi1103 && listApi1103.size() > 0) { |
| | | shjdjwApi1205.setCfmc(listApi1103.get(0).getCfmc()); |
| | | } |
| | | |
| | |
| | | case "1403": |
| | | //轮换计划接口编码 |
| | | return ShjdjwApiCodeConstant.API_CODE_LS1501; |
| | | case "1404": |
| | | //轮换计划完成情况接口编码 |
| | | return ShjdjwApiCodeConstant.API_CODE_LS1502; |
| | | default: |
| | | return inteId; |
| | | } |
| | |
| | | shjdjwApi1202.setJydbh(api1202.getRkywdh()); |
| | | //轮换年度 |
| | | shjdjwApi1202.setLhnd(api1202.getShnd()); |
| | | //到库时间、离库时间 |
| | | shjdjwApi1202.setDksj(api1202.getDjsj()); |
| | | shjdjwApi1202.setLksj(api1202.getCmsj()); |
| | | //批次号 |
| | | shjdjwApi1202.setPch("0"); |
| | | } |