chengf
2025-07-29 51f77719ae2db1d56a0670b93e6d9fca558ec86a
白单流水唯一校验+添加操作人2025/07/29
17个文件已修改
136 ■■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/importData/ImportFeeDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/log/AssetImportLogPo.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/common/AssetImportLogServiceDaoImplMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/fee/IFeeInnerServiceSMO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/job/IUserImportDataV1InnerServiceSMO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/controller/component/CallComponentController.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/dao/IFeeServiceDao.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/dao/impl/FeeServiceDaoImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/smo/impl/UserImportDataV1InnerServiceSMOImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/importData/ImportFeeDto.java
@@ -21,7 +21,7 @@
    private String feeTypeCdName;
    private String importFeeId;
    private String communityId;
    private String userName;
    private Date createTime;
@@ -103,4 +103,12 @@
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
}
java110-bean/src/main/java/com/java110/po/log/AssetImportLogPo.java
@@ -11,7 +11,7 @@
    private String statusCd = "0";
    private String communityId;
    private String errorCount;
    private String userName;
    private String state;
@@ -78,4 +78,12 @@
    public void setState(String state) {
        this.state = state;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
}
java110-db/src/main/resources/mapper/common/AssetImportLogServiceDaoImplMapper.xml
@@ -8,9 +8,9 @@
    <!-- 保存批量操作日志信息 add by wuxw 2018-07-03 -->
    <insert id="saveAssetImportLogInfo" parameterType="Map">
        insert into asset_import_log(
        log_type,success_count,log_id,remark,community_id,error_count
        log_type,success_count,log_id,remark,community_id,error_count,user_name
        ) values (
        #{logType},#{successCount},#{logId},#{remark},#{communityId},#{errorCount}
        #{logType},#{successCount},#{logId},#{remark},#{communityId},#{errorCount},#{userName}
        )
    </insert>
java110-db/src/main/resources/mapper/fee/FeeServiceDaoImplMapper.xml
@@ -241,6 +241,41 @@
        </if>
    </select>
    <select id="getFeeInfoBus" resultType="Map" parameterType="Map">
        select count(1) count
        from pay_fee t
            INNER join pay_fee_config pfc on t.config_id = pfc.config_id and pfc.status_cd = '0'
            left join t_dict td1 on pfc.fee_type_cd = td1.status_cd and td1.table_name = 'pay_fee_config' and td1.table_columns = 'fee_type_cd'
            left join t_dict td2 on t.state = td2.status_cd and td2.table_name = 'pay_fee' and td2.table_columns = 'state'
            left join t_dict td3 on pfc.fee_flag = td3.status_cd and td3.table_name = 'pay_fee' and td3.table_columns = 'fee_flag'
            left join t_dict td4 on pfc.bill_type = td4.status_cd and td4.table_name = 'pay_fee_config' and td4.table_columns = 'bill_type'
            LEFT JOIN pay_fee_attrs pfa on t.fee_id = pfa.fee_id and pfa.spec_cd = '390002' and pfa.status_cd = '0'
            LEFT JOIN pay_fee_attrs pfa1 on t.fee_id = pfa1.fee_id and pfa1.spec_cd = '390010' and pfa1.status_cd = '0'
            LEFT JOIN pay_fee_attrs pfa2 on t.fee_id = pfa2.fee_id and pfa2.spec_cd = '390008' and pfa2.status_cd = '0'
            left join import_fee_detail ifd on t.fee_id = ifd.fee_id and ifd.status_cd = '0' and t.fee_flag = '2006012'
            LEFT JOIN meter_water mw on t.fee_id = mw.fee_id and mw.status_cd = '0' and mw.community_id = t.community_id
        where 1 = 1
        <if test="feeTypeCd != null and feeTypeCd != ''">
            and t.fee_type_cd = #{feeTypeCd}
        </if>
        <if test="startTime != null">  <!-- 修正原条件中的变量错误 -->
            and t.start_time = #{startTime}
        </if>
        <if test="statusCd != null and statusCd != ''">  <!-- 修正原条件中的变量错误 -->
            and t.status_cd = #{statusCd}
        </if>
        <if test="endTime != null">
            and STR_TO_DATE(pfa1.`value`, '%Y-%m-%d %H:%i:%s.%f') = #{endTime}
        </if>
        <if test="community_id != null and community_id != ''">  <!-- 修正原条件中的变量错误 -->
            and t.community_id = #{communityId}
            and pfc.community_id in (#{communityId}, '9999')
        </if>
        <if test="payerObjId != null and payerObjId != ''">  <!-- 修正原条件中的变量错误 -->
            and t.payer_obj_id = #{payerObjId}
        </if>
    </select>
    <!-- 修改费用信息 add by wuxw 2018-07-03 -->
    <update id="updateFeeInfoInstance" parameterType="Map">
        update pay_fee t set t.status_cd = #{statusCd}
java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml
@@ -215,6 +215,12 @@
            <if test="invoiceReceiptNo != null">
                AND invoice_receipt_no = #{invoiceReceiptNo}
            </if>
            <if test="chargeStart != null">
                AND charge_start = #{chargeStart}
            </if>
            <if test="chargeEnd != null">
                AND charge_end = #{chargeEnd}
            </if>
        </where>
    </select>
</mapper>
java110-interface/src/main/java/com/java110/intf/fee/IFeeInnerServiceSMO.java
@@ -209,4 +209,5 @@
    @RequestMapping(value = "/deleteFeesByBatch", method = RequestMethod.POST)
    int deleteFeesByBatch(@RequestBody PayFeePo payFeePo);
    int getFeeInfoBus(FeeDto feeDto);
}
java110-interface/src/main/java/com/java110/intf/job/IUserImportDataV1InnerServiceSMO.java
@@ -37,4 +37,5 @@
    @RequestMapping(value = "/importExcelData", method = RequestMethod.POST)
    int importExcelData(@RequestBody AssetImportLogPo assetImportLogPo);
}
service-api/src/main/java/com/java110/api/controller/component/CallComponentController.java
@@ -218,7 +218,7 @@
            @PathVariable String componentCode,
            @PathVariable String componentMethod,
            @RequestParam("uploadFile") MultipartFile uploadFile,
            @RequestBody String userId,
            @RequestParam("userId") String userId,
            HttpServletRequest request) {
        ResponseEntity<String> responseEntity = null;
        Map formParam = null;
@@ -228,6 +228,7 @@
            Assert.hasLength(componentMethod, "参数错误,未传入调用组件方法");
            pd = freshPageDate(request);
            //权限校验
            hasPrivilege(restTemplate, pd, "/callComponent/" + componentCode + "/" + componentMethod);
service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java
@@ -63,7 +63,10 @@
            String changeStart = os[21] == null ? null : excelDoubleToDate(os[21].toString());
            String changeEnd = os[22] == null ? null : excelDoubleToDate(os[22].toString());
            String bankDepositDate =  os[8] == null ? null : excelDoubleToDate(os[8].toString());
            String inputTime = os[16] == null ? null : excelDoubleToDate(os[16].toString());
            String inputTime = null;
            if(os[16] != null){
                inputTime = excelDoubleToDate(os[16].toString().split("\\.")[0]);
            }
            white.setChargeTime(chargeTime);
            white.setInvoiceReceiptNo(os[1] == null ? null : os[1].toString());
            white.setRoomId(os[2] == null ? null : os[2].toString());
@@ -87,6 +90,7 @@
            white.setCategory22(os[20] == null ? null : os[20].toString());
            white.setChargeStart(changeStart);
            white.setChargeEnd(changeEnd);
            white.setRow(osIndex + 1);
            whiteLists.add(white);
        }
    }
service-api/src/main/java/com/java110/api/smo/assetImport/impl/AssetImportSMOImpl.java
@@ -1,6 +1,9 @@
package com.java110.api.smo.assetImport.impl;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.java110.api.importData.IImportDataCleaningAdapt;
import com.java110.api.smo.DefaultAbstractComponentSMO;
import com.java110.api.smo.assetImport.IAssetImportSMO;
@@ -8,9 +11,12 @@
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.log.AssetImportLogDetailDto;
import com.java110.dto.system.ComponentValidateResult;
import com.java110.dto.user.UserDto;
import com.java110.intf.common.IAssetImportLogDetailInnerServiceSMO;
import com.java110.intf.common.IAssetImportLogInnerServiceSMO;
import com.java110.intf.job.IUserImportDataV1InnerServiceSMO;
import com.java110.intf.user.IMenuUserV1InnerServiceSMO;
import com.java110.intf.user.IUserInnerServiceSMO;
import com.java110.po.log.AssetImportLogDetailPo;
import com.java110.po.log.AssetImportLogPo;
import com.java110.utils.factory.ApplicationContextFactory;
@@ -26,8 +32,10 @@
import org.springframework.web.client.RestTemplate;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
/**
@@ -67,6 +75,9 @@
    @Autowired
    private IUserImportDataV1InnerServiceSMO userImportDataV1InnerServiceSMOImpl;
    @Autowired
    private IUserInnerServiceSMO iUserInnerServiceSMOImpl;
    @Override
    public ResponseEntity<String> importExcelData(IPageData pd, MultipartFile uploadFile) throws Exception {
@@ -123,6 +134,24 @@
        assetImportLogPo.setLogType(logType);
        assetImportLogPo.setErrorCount("0");
        assetImportLogPo.setSuccessCount("0");
        String userId = null;
        try {
            userId = new ObjectMapper().readValue(pd.getReqData(), HashMap.class).get("userId").toString();
        } catch (JsonMappingException e) {
            throw new RuntimeException(e);
        } catch (JsonParseException e) {
            throw new RuntimeException(e);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        if(userId != null) {
            UserDto userDto = new UserDto();
            userDto.setUserId(userId);
            List<UserDto> users = iUserInnerServiceSMOImpl.getUsers(userDto);
            if(users != null && users.size() > 0) {
                assetImportLogPo.setUserName(users.get(0).getUserName());
            }
        }
        assetImportLogInnerServiceSMOImpl.saveAssetImportLog(assetImportLogPo);
        List<AssetImportLogDetailPo> assetImportLogDetailPos = new ArrayList<>();
service-fee/src/main/java/com/java110/fee/dao/IFeeServiceDao.java
@@ -173,4 +173,6 @@
    List<Map> computeEveryOweFee(Map beanCovertMap);
    int deleteFeesByBatch(Map beanCovertMap);
    int getFeeInfoBus(Map map);
}
service-fee/src/main/java/com/java110/fee/dao/impl/FeeServiceDaoImpl.java
@@ -328,5 +328,17 @@
        return saveFlag;
    }
    @Override
    public int getFeeInfoBus(Map info) {
        logger.debug("查询费用数据 入参 info : {}", info);
        List<Map> infos = sqlSessionTemplate.selectList("feeServiceDaoImpl.getFeeInfoBus", info);
        if (infos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(infos.get(0).get("count").toString());
    }
}
service-fee/src/main/java/com/java110/fee/smo/impl/FeeInnerServiceSMOImpl.java
@@ -363,6 +363,11 @@
    }
    @Override
    public int getFeeInfoBus(@RequestBody FeeDto feeDto) {
        return feeServiceDaoImpl.getFeeInfoBus(BeanConvertUtil.beanCovertMap(feeDto));
    }
    @Override
    public JSONArray getAssetsFee(@RequestBody String communityId) {
        JSONArray data = new JSONArray();
service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java
@@ -58,11 +58,11 @@
        PropertyWhiteListFlowDto whites = BeanConvertUtil.covertBean(data, PropertyWhiteListFlowDto.class);
        int count = importPropertyWhiteListfFlowServiceSMOImpl.countPropertyWhiteListFlowFilter(whites);
        if (count > 0) {
            throw new IllegalArgumentException("重复的导入内容");
            throw new IllegalArgumentException("第" + whites.getRow() + "行存在重复的导入内容");
        }
        int flag = importPropertyWhiteListfFlowServiceSMOImpl.savePropertyWhiteListFlow(whites);
        if (flag < 1) {
            throw new IllegalArgumentException("导入失败");
            throw new IllegalArgumentException("第" + whites.getRow() + "行导入失败");
        }
    }
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomFeeQueueDataAdapt.java
@@ -246,9 +246,9 @@
            throw new RuntimeException("导入起始时间异常");
        }
        feeDto.setPayerObjId(payFeePo.getPayerObjId());
        int feeDtos = feeInnerServiceSMOImpl.queryFeesCount(feeDto);
        int feeDtos = feeInnerServiceSMOImpl.getFeeInfoBus(feeDto);
        if(feeDtos > 0){
//            throw new IllegalArgumentException("重复的费用");
            throw new IllegalArgumentException("重复的费用");
        }
service-job/src/main/java/com/java110/job/smo/impl/UserImportDataV1InnerServiceSMOImpl.java
@@ -42,6 +42,7 @@
public class UserImportDataV1InnerServiceSMOImpl extends BaseServiceSMO implements IUserImportDataV1InnerServiceSMO {
    /**
     * excel数据导入处理
     * @param assetImportLogPo
@@ -56,4 +57,5 @@
        ImportDataQueue.addMsg(importDataDto);
        return 1;
    }
}
springboot/src/main/resources/application.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active:  devlocal
    active:  dev
#  docker build -t lx .