jiangping
2025-04-22 9fa82e0217d54a38dd1546094d8d15cb43e827b0
server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -1330,10 +1330,13 @@
    @Override
    public WorkorderIndexNumVO getIndexData(Workorder workorder) {
        WorkorderIndexNumVO model = new WorkorderIndexNumVO();
        Date startdate = getStartDateByType(workorder.getTimeType());
        //查询今年所有的数据
        List<Workorder> list = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>()
                        .select("type,count(id) as num")
                        .eq(Workorder::getIsdeleted,Constants.ZERO)
                        .ge(startdate!=null,Workorder::getCreateDate,startdate)
//                        .lt(endDate!=null,Workorder::getCreateDate,endDate)
                        .groupBy(Workorder::getType  ));
        if(list !=null){
            for(Workorder w : list){
@@ -1352,6 +1355,27 @@
                }
            }
        }
        List<Workorder> yeslist = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>()
                .select("type,count(id) as num")
                .eq(Workorder::getIsdeleted,Constants.ZERO)
                .in(Workorder::getStatus,Constants.THREE,Constants.FOUR,Constants.FIVE)
                .in(Workorder::getType,Constants.THREE,Constants.TWO)
                .ge(startdate!=null,Workorder::getCreateDate,startdate)
                .groupBy(Workorder::getType  ));
        if(yeslist !=null){
            for(Workorder w : yeslist){
                if(Constants.equalsInteger(w.getType(),Constants.TWO)){
                    //DCA子工单已解决和未解决
                    model.setDcaChildYesNum(Constants.formatLongNum(w.getNum()));
                    model.setDcaChildNoNum(Constants.formatLongNum(model.getDcaChildNum()) -model.getDcaChildYesNum());
                }else   if(Constants.equalsInteger(w.getType(),Constants.THREE)){
                    //跌绊滑已解决和未解决
                    model.setDbhYesNum(Constants.formatLongNum(w.getNum()));
                    model.setDbhNoNum(Constants.formatLongNum(model.getDbhNum()) -model.getDbhYesNum());
                }
            }
        }
        if(workorder.getTimeType() == null){
        List<Workorder> todays = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>()
                        .select("type,count(id) as num")
                        .eq(Workorder::getIsdeleted,Constants.ZERO)
@@ -1374,26 +1398,6 @@
                }
            }
        }
        List<Workorder> yeslist = workorderMapper.selectJoinList(Workorder.class,new MPJLambdaWrapper<Workorder>()
                .select("type,count(id) as num")
                .eq(Workorder::getIsdeleted,Constants.ZERO)
                .in(Workorder::getStatus,Constants.THREE,Constants.FOUR,Constants.FIVE)
                .in(Workorder::getType,Constants.THREE,Constants.TWO)
                .groupBy(Workorder::getType  ));
        if(yeslist !=null){
            for(Workorder w : yeslist){
                if(Constants.equalsInteger(w.getType(),Constants.TWO)){
                    //DCA子工单已解决和未解决
                    model.setDcaChildYesNum(Constants.formatLongNum(w.getNum()));
                    model.setDcaChildNoNum(Constants.formatLongNum(model.getDcaChildNum()) -model.getDcaChildYesNum());
                }else   if(Constants.equalsInteger(w.getType(),Constants.THREE)){
                    //跌绊滑已解决和未解决
                    model.setDbhYesNum(Constants.formatLongNum(w.getNum()));
                    model.setDbhNoNum(Constants.formatLongNum(model.getDbhNum()) -model.getDbhYesNum());
                }
            }
        }
         Workorder  dcaList = workorderMapper.selectJoinOne(Workorder.class,new MPJLambdaWrapper<Workorder>()
                .select("sum(dca_yes_num) as dcaYesNum,sum(dca_no_num) as dcaNoNum")
                .eq(Workorder::getIsdeleted,Constants.ZERO)
@@ -1403,7 +1407,32 @@
            model.setDcaYesNum((long)Constants.formatIntegerNum(dcaList.getDcaYesNum()));
            model.setDcaNoNum((long)Constants.formatIntegerNum(dcaList.getDcaNoNum()));
        }
        }
        return model;
    }
    private Date getStartDateByType(Integer timeType) {
        Date date = null;
        if(timeType == null){
            return null;
        } else if (timeType == 0) {
            //本周
            date = DateUtil.getBeginDayOfWeek(0);
        }else if (timeType == 1) {
            //本月
            date = DateUtil.getBeginDayOfMonth(0);
        }else if (timeType == 2) {
            //本季度
            date = DateUtil.getBeginDayOfSeason(0);
        }else if (timeType == 3) {
            //本年
            date = DateUtil.getBeginDayOfYear(0);
        }
        return date;
    }
}