shenyijian
2024-10-16 188776066eb8d35cf789bed2c866bf351ca64f4a
湖北水库:项目流程添加设备排序
3 files modified
13 ■■■■ changed files
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java 6 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml 3 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java 4 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service-api/skjcmanager-sm-api/src/main/java/cn/gistack/sm/sg/DO/SgProjectInfoDO.java
@@ -232,5 +232,11 @@
    @TableField(exist = false)
    private String othRegCd;
    /**
     * 设备价格排序
     */
    @TableField(exist = false)
    private String price;
}
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/mapper/SgProjectInfoMapper.xml
@@ -131,7 +131,8 @@
        pro.STATUS AS projectStatus,
        re.id AS reportId,
        pro.lon_lat,
        re.resubmit
        re.resubmit,
        d.price
        FROM
        ywxt.sg_project_info pro
        LEFT JOIN SJZT_DW."dim_res_info_a" dria ON dria."res_cd" = pro.sk_id
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProjectInfoServiceImpl.java
@@ -220,6 +220,7 @@
                        SgDeviceDO sgDeviceDO = new SgDeviceDO();
                        sgDeviceDO.setId(dId);
                        sgDeviceDO.setDeviceName(deList.get(0).getDeviceName());
                        sgDeviceDO.setPrice(deList.get(0).getPrice());
                        List<SgGxStepDO> stepDOS = deList.stream().filter(s -> s.getReportStatus() == null || (s.getReportStatus() != 4 && !(s.getReportStatus() == 3 && s.getResubmit() != 0))).map(s -> SgGxStepDO.builder().id(s.getStepId()).gxStepNum(s.getGxStepNum()).gxStepName(s.getGxStepName()).deviceId(s.getDId()).approvalStatus(s.getReportStatus()).build()).collect(Collectors.toList());
                        List<SgGxStepDO> stepOver = stepDOS.stream().filter(s -> s.getApprovalStatus() != null && s.getApprovalStatus() == 2).collect(Collectors.toList());
                        BigDecimal stepSize = BigDecimal.valueOf(stepDOS.size());
@@ -239,7 +240,8 @@
                    double sum = deviceDOS.stream().mapToDouble(s -> Double.parseDouble(s.getProgress())).sum();
                    BigDecimal deviceOver = BigDecimal.valueOf(sum);
                    BigDecimal divideDevice = deviceOver.divide(deviceSize, 2, RoundingMode.HALF_UP);
                    typeVO.setDeviceDOS(deviceDOS);
                    List<SgDeviceDO> sortDeviceDOs = deviceDOS.stream().sorted(Comparator.comparing(SgDeviceDO::getPrice)).collect(Collectors.toList());
                    typeVO.setDeviceDOS(sortDeviceDOs);
                    typeVO.setTypeProgress(getBigDecimalPercent(divideDevice));
                    typeVO.setProgress(divideDevice.toString());
                    sgGxDOS.add(typeVO);