mitao
2025-01-17 922d7aa03200fa293bbce565d43c58995ec58548
land-system/src/main/java/com/zzg/system/service/state/impl/StateProjectCompensateStandardServiceImpl.java
@@ -35,6 +35,13 @@
    @Resource
    private StateProjectCompensationService stateProjectCompensationService;
    /**
     * 获取补偿标准列表
     * @param standardName
     * @param stopFlag
     * @param compensateType
     * @return
     */
    @Override
    public Map<String, List<StateProjectCompensateStandardVO>> getCompensateStandardMap(String standardName, Integer stopFlag, Integer compensateType) {
        LambdaQueryWrapper<StateProjectCompensateStandard> queryWrapper = new LambdaQueryWrapper<>();
@@ -86,7 +93,7 @@
        } catch (IOException e) {
            throw new GlobalException("读取Excel文件失败");
        }
//TODO 导入未校验标准名称唯一
        StateProjectCompensateStandard po;
        List<StateProjectCompensateStandard> poList = new ArrayList<>();
        for (StateProjectCompensateStandardVO e : dataList) {
@@ -106,6 +113,11 @@
        return saveBatch(poList);
    }
    /**
     * 创建补偿标准
     * @param stateProjectCompensateStandard
     * @return
     */
    @Override
    public Boolean createCompensatesStandard(StateProjectCompensateStandard stateProjectCompensateStandard) {
        String standardName = stateProjectCompensateStandard.getStandardName();
@@ -126,7 +138,7 @@
                    if (isValidCompensationType(typeEnum.getCode(), categoryEnum.getCode())) {
                        StateProjectCompensateStandard compensation = createCompensation(typeEnum, categoryEnum, stateProjectCompensateStandard);
                        // 处理特殊的组合
                        // TODO 处理特殊的组合
                        handleSpecialCases(typeEnum, categoryEnum, compensation, standardList);
                        // 添加最终的 compensation 到标准列表
@@ -138,6 +150,11 @@
        return this.saveOrUpdateBatch(standardList);
    }
    /**
     * 修改补偿标准名字
     * @param stateProjectCompensateStandard
     * @return
     */
    @Override
    public Boolean updateName(StateProjectCompensateStandard stateProjectCompensateStandard) {
@@ -199,7 +216,9 @@
    private void handleSpecialCases(CompensateTypeEnum typeEnum, CompensationCategoryEnum categoryEnum,
                                    StateProjectCompensateStandard compensation, List<StateProjectCompensateStandard> standardList) {
        //政策性补贴
        if (typeEnum.equals(CompensateTypeEnum.POLICY_ALLOWANCE)
                //购房补贴
                && categoryEnum.equals(CompensationCategoryEnum.HOUSE_PURCHASE_SUBSIDY)) {
            addCompensationWithSpecifications(compensation, standardList);
        }