yanghb
2 天以前 7bd7ad452e6a7a3fc60acfd1d6898c70e933773e
cz-bussiness/src/main/java/com/ruoyi/bussiness/service/impl/PlacementBatchServiceImpl.java
@@ -3,6 +3,7 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.excel.EasyExcelFactory;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
@@ -687,24 +688,32 @@
            placementApplyRecordLambdaQueryWrapper.eq(PlacementBatchHousehold::getPlacementBatchId, placementBatch.getId());
            //家庭成员
            List<PlacementBatchHousehold> households = placementBatchHouseholdService.list(placementApplyRecordLambdaQueryWrapper);
            //户主
            List<String> houseHead = households.stream().map(PlacementBatchHousehold::getHouseholdHead).collect(Collectors.toList());
            if (ObjUtil.isNotEmpty(households)) {
                List<String> familyNames = households.stream().map(PlacementBatchHousehold::getWaitFamilyNames).collect(Collectors.toList());
                List<String> allFamilyNames = new ArrayList<>();
                for(String familyName : familyNames) {
                    List<String> names = Arrays.asList(familyName.split("、"));
                    allFamilyNames.addAll(names);
                }
                LambdaUpdateWrapper<Placement> placementLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
                placementLambdaUpdateWrapper.set(Placement::getStatus, 1);
                placementLambdaUpdateWrapper.and(query -> query.in(Placement::getFamilyName, allFamilyNames));
                placementService.update(placementLambdaUpdateWrapper);
            if(ObjectUtil.isEmpty(households)){
                return;
            }
            //修改户主安置状态
            List<String> houseHead = households.stream().map(PlacementBatchHousehold::getHouseholdHead).collect(Collectors.toList());
            if (ObjUtil.isNotEmpty(houseHead)) {
                LambdaUpdateWrapper<Placement> placementHouseHeadUpdateWrapper = new LambdaUpdateWrapper<>();
                placementHouseHeadUpdateWrapper.set(Placement::getStatus, 1);
                placementHouseHeadUpdateWrapper.and(query -> query.in(Placement::getHouseholdHead, houseHead));
                placementService.update(placementHouseHeadUpdateWrapper);
            }
            //修改家庭成员安置状态
            for(PlacementBatchHousehold household : households){
                if(ObjUtil.isEmpty(household.getWaitFamilyNames())){
                    continue;
                }
                //购房表家庭成员姓名
                List<String> names = Arrays.asList(household.getWaitFamilyNames().split("、"));
                //购房表户主身份证
                String headIdCard = household.getIdCard();
                LambdaUpdateWrapper<Placement> placementLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
                placementLambdaUpdateWrapper.set(Placement::getStatus, 1);
                placementLambdaUpdateWrapper.eq(Placement::getIdCard,headIdCard);
                placementLambdaUpdateWrapper.and(query -> query.in(Placement::getFamilyName, names));
                placementService.update(placementLambdaUpdateWrapper);
            }
        }
@@ -812,6 +821,50 @@
        }
    }
    @Override
    public void fixSettle() {
        //修改安置状态为0
        LambdaUpdateWrapper<Placement> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.set(Placement::getStatus, 0);
        placementService.update(updateWrapper);
        LambdaQueryWrapper<PlacementBatch> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(PlacementBatch::getStatus, 1);
        List<PlacementBatch> list = this.baseMapper.selectList(queryWrapper);
        List<Long> batchIds = list.stream().map(PlacementBatch::getId).collect(Collectors.toList());
        //查询房产表
        LambdaQueryWrapper<PlacementBatchHousehold> householdWrapper = new LambdaQueryWrapper<>();
        householdWrapper.in(PlacementBatchHousehold::getPlacementBatchId, batchIds);
        List<PlacementBatchHousehold> households = this.placementBatchHouseholdService.list(householdWrapper);
        if (ObjectUtil.isEmpty(households)) {
            return;
        }
        //修改户主安置状态
        List<String> houseHead = households.stream().map(PlacementBatchHousehold::getHouseholdHead).collect(Collectors.toList());
        if (ObjUtil.isNotEmpty(houseHead)) {
            LambdaUpdateWrapper<Placement> placementHouseHeadUpdateWrapper = new LambdaUpdateWrapper<>();
            placementHouseHeadUpdateWrapper.set(Placement::getStatus, 1);
            placementHouseHeadUpdateWrapper.and(query -> query.in(Placement::getHouseholdHead, houseHead));
            placementService.update(placementHouseHeadUpdateWrapper);
        }
        //修改家庭成员安置状态
        for (PlacementBatchHousehold household : households) {
            if (ObjUtil.isEmpty(household.getWaitFamilyNames())) {
                continue;
            }
            //购房表家庭成员姓名
            List<String> names = Arrays.asList(household.getWaitFamilyNames().split("、"));
            //购房表户主身份证
            String headIdCard = household.getIdCard();
            LambdaUpdateWrapper<Placement> placementLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
            placementLambdaUpdateWrapper.set(Placement::getStatus, 1);
            placementLambdaUpdateWrapper.eq(Placement::getIdCard, headIdCard);
            placementLambdaUpdateWrapper.and(query -> query.in(Placement::getFamilyName, names));
            placementService.update(placementLambdaUpdateWrapper);
        }
    }
    /**
     * 获取最近批次号
     *