czt
2023-06-05 bf055224492ed78cf937bc94cfe7c33885f86989
src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java
@@ -17,11 +17,13 @@
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.util.*;
/**
@@ -49,6 +51,8 @@
    private Api1102Rep api1102Rep;
    @Autowired
    private Api1103Rep api1103Rep;
    @Autowired
    private Api1105Rep api1105Rep;
    @Autowired
    private Api1202Rep api1202Rep;
    @Autowired
@@ -235,9 +239,13 @@
    private ShjdjwApi1403 copyApi1403(Api1403 api1403) {
        ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403();
        BeanUtils.copyProperties(api1403, shjdjwApi1403);
        List<Double> lhsl = getLhsl(api1403);
        shjdjwApi1403.setLrsl(lhsl.get(1));
        shjdjwApi1403.setLrsl(lhsl.get(0));
        if (null != lhsl && lhsl.size() > 0) {
            shjdjwApi1403.setLrsl(lhsl.get(1));
            shjdjwApi1403.setLrsl(lhsl.get(0));
        }
        shjdjwApi1403.setJhbm(api1403.getLhjhdh());
        shjdjwApi1403.setPch("0");
        return shjdjwApi1403;
@@ -245,20 +253,21 @@
    /**
     * 获取轮入和轮出重量
     *
     * @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){
        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"))
                    .filter(x -> x.getLhlx().equals("1"))
                    .mapToDouble(Api1404::getLhsl)
                    .summaryStatistics().getSum();
            double lrSum = api1404List.stream()
                    .filter(x->x.getLhlx().equals("2"))
                    .filter(x -> x.getLhlx().equals("2"))
                    .mapToDouble(Api1404::getLhsl)
                    .summaryStatistics().getSum();
            lhsl.add(lcSum);
@@ -274,18 +283,20 @@
        // 计划数量
        List<Double> lhsl = getLhsl(api1403);
        Double sum = lhsl.stream().reduce(0d, Double::sum);
        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.setJhsl(new DecimalFormat("0.00").format(sum));
        shjdjw1502.setYzxsl(new DecimalFormat("0.00").format(yzxsl));
        //执行比例
        shjdjw1502.setZxbl(String.valueOf((yzxsl/sum*100)));
        shjdjw1502.setZxbl(String.valueOf((yzxsl / sum * 100)));
        // 招标/竞价比例
        shjdjw1502.setZbjjbl("100");
@@ -301,6 +312,10 @@
        shjdjwApi1203.setQydbh(api1203.getRkjydh());
        shjdjwApi1203.setHwbm(api1203.getHwdm());
        List<Api1105> list = api1105Rep.findPushDataByHwdm(api1203.getHwdm());
        if(null != list && list.size() > 0){
            shjdjwApi1203.setHwbm(list.get(0).getHwmc());
        }
        shjdjwApi1203.setYpbm(api1203.getRkywdh());
        shjdjwApi1203.setJyjg(api1203.getJyz());
        shjdjwApi1203.setJyjl(api1203.getJyjg());
@@ -319,15 +334,16 @@
        shjdjwApi1310.setPznm(api1310.getLspzdm());
        shjdjwApi1310.setSkdjbm(api1310.getLsdjdm());
        shjdjwApi1310.setJylbbm(api1310.getJylb());
        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));
        }
//        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.setJyjl(api1310.getJyxmz());
        shjdjwApi1310.setZlzbjgpd(api1310.getZbjgpd());
        //查询单位信息
        List<Api1101> listApi1101 = api1101Rep.findPushData(api1310.getKqdm());
@@ -367,7 +383,7 @@
        BeanUtils.copyProperties(api1209, shjdjwApi1209);
        shjdjwApi1209.setSydbh(api1209.getSydh());
        shjdjwApi1209.setHwbm(api1209.getHwdm());
        shjdjwApi1209.setRksl(api1209.getRkjz());
        shjdjwApi1209.setCksl(api1209.getCkjz());
        shjdjwApi1209.setSysl(api1209.getJzsysl());
@@ -380,6 +396,12 @@
        List<Api1102> listApi1102 = api1102Rep.findPushData(api1209.getKqdm());
        if (null != listApi1102 && listApi1102.size() > 0) {
            shjdjwApi1209.setKdmc(listApi1102.get(0).getKqmc());
        }
        //货位信息
        shjdjwApi1209.setHwbm(api1209.getHwdm());
        List<Api1105> list = api1105Rep.findPushDataByHwdm(api1209.getHwdm());
        if(null != list && list.size() > 0){
            shjdjwApi1209.setHwbm(list.get(0).getHwmc());
        }
        shjdjwApi1209.setNx(api1209.getYwrq());
@@ -459,6 +481,7 @@
        shjdjwApi1205.setDksj(api1205.getDjsj());
        shjdjwApi1205.setLksj(api1205.getCmsj());
        shjdjwApi1205.setLhnd(DateFormatUtils.format(api1205.getCmsj(), "yyyy"));
        shjdjwApi1205.setPch("0");
        return shjdjwApi1205;
    }
@@ -508,6 +531,10 @@
        String ywdh = api1202.getRkywdh();
        shjdjwApi1202.setYwdh(ywdh);
        shjdjwApi1202.setHwbm(api1202.getHwdm());
        List<Api1105> list = api1105Rep.findPushDataByHwdm(api1202.getHwdm());
        if(null != list && list.size() > 0){
            shjdjwApi1202.setHwbm(list.get(0).getHwmc());
        }
        shjdjwApi1202.setPzbm(api1202.getLspzdm());
        shjdjwApi1202.setLqxzbm(api1202.getLsxzdm());
        shjdjwApi1202.setZjkl(api1202.getZjklxj());