gong
2024-06-18 af317b0050bb4eba28741326220129d49a9822f1
判断项目和设备状态逻辑 加个判断
1 files modified
58 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java 58 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/sg/service/impl/SgProgressReportServiceImpl.java
@@ -196,44 +196,46 @@
    public void  setProgramAndDeviceStatus(){
        //查询所有的项目
        List<SgProjectInfoDO> sgProjectInfoDOS = sgProjectInfoMapper.selectList(null);
        if(sgProjectInfoDOS!=null&& !sgProjectInfoDOS.isEmpty()) {
            for (SgProjectInfoDO project : sgProjectInfoDOS) {
                QueryWrapper<SgDeviceDO> queryWrapper = new QueryWrapper<>();
                queryWrapper.eq("program_id", project.getId());
                //所有设备
                List<SgDeviceDO> sgDeviceDOS = sgDeviceMapper.selectList(queryWrapper);
                //项目下完成的设备数
                int deviceFinishCount = 0;
                if(!sgProjectInfoDOS.isEmpty()) {
                    for (SgDeviceDO sgDeviceDO : sgDeviceDOS) {
        for (SgProjectInfoDO project: sgProjectInfoDOS){
            QueryWrapper<SgDeviceDO> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("program_id",project.getId());
            //所有设备
            List<SgDeviceDO> sgDeviceDOS = sgDeviceMapper.selectList(queryWrapper);
            //项目下完成的设备数
            int deviceFinishCount=0;
            for (SgDeviceDO sgDeviceDO: sgDeviceDOS){
                        //设备的工序
                        List<SgDeviceGxStepDO> sgDeviceGxStepDOs = sgGxStepMapper.getDeviceGXList(sgDeviceDO.getId());
                //设备的工序
                List<SgDeviceGxStepDO> sgDeviceGxStepDOs = sgGxStepMapper.getDeviceGXList(sgDeviceDO.getId());
                        if (sgDeviceGxStepDOs != null) {
                            int countStatus = 0;
                            for (SgDeviceGxStepDO sgDeviceGxStepDO : sgDeviceGxStepDOs) {
                                countStatus = +sgDeviceGxStepDO.getStatus();
                if(sgDeviceGxStepDOs!=null){
                    int countStatus=0;
                    for (SgDeviceGxStepDO sgDeviceGxStepDO: sgDeviceGxStepDOs){
                        countStatus=+sgDeviceGxStepDO.getStatus();
                            }
                            int size = sgDeviceGxStepDOs.size();
                            if (countStatus != 0 && (size * 2) / countStatus == 1) {
                                //如果设备下全部工序审核完成
                                sgDeviceDO.setStatus(2);
                                sgDeviceMapper.updateById(sgDeviceDO);
                                deviceFinishCount++;
                            }
                        }
                    }
                    int size = sgDeviceGxStepDOs.size();
                    if(countStatus!=0&&(size*2)/countStatus==1){
                        //如果设备下全部工序审核完成
                        sgDeviceDO.setStatus(2);
                        sgDeviceMapper.updateById(sgDeviceDO);
                        deviceFinishCount++;
                    if (deviceFinishCount == sgDeviceDOS.size()) {
                        //如果项目下的设备下全部完成
                        project.setStatus(2);
                        sgProjectInfoMapper.updateById(project);
                    }
                }
            }
            if(deviceFinishCount==sgDeviceDOS.size()){
                //如果项目下的设备下全部完成
                project.setStatus(2);
                sgProjectInfoMapper.updateById(project);
            }
        }
    }