| java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-db/src/main/resources/mapper/PropertyWhiteListFlowDaoImplMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| java110-interface/src/main/java/com/java110/intf/IImportPropertyWhiteListfFlowServiceSMO.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service-community/src/main/java/com/java110/community/smo/impl/IImportPropertyWhiteListfFlowServiceSMOImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java
New file @@ -0,0 +1,230 @@ package com.java110.dto; import java.math.BigDecimal; import java.util.Date; /** * 物业白单流水DTO类,用于ORM操作 */ public class PropertyWhiteListFlowDto { private String id; // 自增主键,唯一标识一条白单流水 private String chargeTime; // 收费日期,格式YYYY-MM-DD(必输) private String invoiceReceiptNo; // 发票、收据号码(字符类型,非必输) private String roomId; // 房号,格式如111-2-804(非必输) private String propertyAddress; // 业主地址(非必输) private String doorRoomNum; // 门幢室号(非必输) private String secondaryFeeTypeCd; // 收费内容(费用子类型,二级分类,非必输) private String chargeAmount; // 收费金额(数值型,小数点后两位) private String charger; // 收费人(字符类型,非必输) private String bankDepositDate; // 银行解款日期(非必输) private String bankDepositor; // 银行解款人(非必输) private String splitBankDepositAmount; // 拆分后银行解款金额(只记录不计算,非必输) private String bankDepositAmount; // 银行解款金额(只记录不计算,非必输) private String checkAmount; // 核对金额(只记录不计算,非必输) private String whiteListArchiveNo; // 白单存档编号(字符类型,只记录不计算,非必输) private String sheetCount; // 张数(只记录不计算,非必输) private String financialReceiver; // 财务收账人(收款人,手工输入,暂不开发,非必输) private String inputTime; // 输入时间(格式YYYY-MM-DD,非必输) private String inputPerson; // 输入人员(非必输) private String orderNo; // 单号(字符类型,非必输) private String licensePlate; // 车牌号(非必输) private String category22; // 22项分类(非必输) private String chargeStart; // 收费起(格式YYYY-MM-DD) private String chargeEnd; // 收费止(格式YYYY-MM-DD) // 无参构造函数 public PropertyWhiteListFlowDto() { } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getChargeTime() { return chargeTime; } public void setChargeTime(String chargeTime) { this.chargeTime = chargeTime; } public String getInvoiceReceiptNo() { return invoiceReceiptNo; } public void setInvoiceReceiptNo(String invoiceReceiptNo) { this.invoiceReceiptNo = invoiceReceiptNo; } public String getRoomId() { return roomId; } public void setRoomId(String roomId) { this.roomId = roomId; } public String getPropertyAddress() { return propertyAddress; } public void setPropertyAddress(String propertyAddress) { this.propertyAddress = propertyAddress; } public String getDoorRoomNum() { return doorRoomNum; } public void setDoorRoomNum(String doorRoomNum) { this.doorRoomNum = doorRoomNum; } public String getSecondaryFeeTypeCd() { return secondaryFeeTypeCd; } public void setSecondaryFeeTypeCd(String secondaryFeeTypeCd) { this.secondaryFeeTypeCd = secondaryFeeTypeCd; } public String getChargeAmount() { return chargeAmount; } public void setChargeAmount(String chargeAmount) { this.chargeAmount = chargeAmount; } public String getCharger() { return charger; } public void setCharger(String charger) { this.charger = charger; } public String getBankDepositDate() { return bankDepositDate; } public void setBankDepositDate(String bankDepositDate) { this.bankDepositDate = bankDepositDate; } public String getBankDepositor() { return bankDepositor; } public void setBankDepositor(String bankDepositor) { this.bankDepositor = bankDepositor; } public String getSplitBankDepositAmount() { return splitBankDepositAmount; } public void setSplitBankDepositAmount(String splitBankDepositAmount) { this.splitBankDepositAmount = splitBankDepositAmount; } public String getBankDepositAmount() { return bankDepositAmount; } public void setBankDepositAmount(String bankDepositAmount) { this.bankDepositAmount = bankDepositAmount; } public String getCheckAmount() { return checkAmount; } public void setCheckAmount(String checkAmount) { this.checkAmount = checkAmount; } public String getWhiteListArchiveNo() { return whiteListArchiveNo; } public void setWhiteListArchiveNo(String whiteListArchiveNo) { this.whiteListArchiveNo = whiteListArchiveNo; } public String getSheetCount() { return sheetCount; } public void setSheetCount(String sheetCount) { this.sheetCount = sheetCount; } public String getFinancialReceiver() { return financialReceiver; } public void setFinancialReceiver(String financialReceiver) { this.financialReceiver = financialReceiver; } public String getInputTime() { return inputTime; } public void setInputTime(String inputTime) { this.inputTime = inputTime; } public String getInputPerson() { return inputPerson; } public void setInputPerson(String inputPerson) { this.inputPerson = inputPerson; } public String getOrderNo() { return orderNo; } public void setOrderNo(String orderNo) { this.orderNo = orderNo; } public String getLicensePlate() { return licensePlate; } public void setLicensePlate(String licensePlate) { this.licensePlate = licensePlate; } public String getCategory22() { return category22; } public void setCategory22(String category22) { this.category22 = category22; } public String getChargeStart() { return chargeStart; } public void setChargeStart(String chargeStart) { this.chargeStart = chargeStart; } public String getChargeEnd() { return chargeEnd; } public void setChargeEnd(String chargeEnd) { this.chargeEnd = chargeEnd; } } java110-db/src/main/resources/mapper/PropertyWhiteListFlowDaoImplMapper.xml
New file @@ -0,0 +1,55 @@ <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="propertyWhiteListFlowDaoImplMapper"> <insert id="savePropertyWhiteListFlow" parameterType="Map"> INSERT INTO property_white_list_flow ( charge_time, <if test="invoiceReceiptNo != null">invoice_receipt_no,</if> <if test="roomId != null">room_id,</if> <if test="propertyAddress != null">property_address,</if> <if test="doorRoomNum != null">door_room_num,</if> <if test="secondaryFeeTypeCd != null">secondary_fee_type_cd,</if> <if test="chargeAmount != null">charge_amount,</if> <if test="charger != null">charger,</if> <if test="bankDepositDate != null">bank_deposit_date,</if> <if test="bankDepositor != null">bank_depositor,</if> <if test="splitBankDepositAmount != null">split_bank_deposit_amount,</if> <if test="bankDepositAmount != null">bank_deposit_amount,</if> <if test="checkAmount != null">check_amount,</if> <if test="whiteListArchiveNo != null">white_list_archive_no,</if> <if test="sheetCount != null">sheet_count,</if> <if test="financialReceiver != null">financial_receiver,</if> <if test="inputTime != null">input_time,</if> <if test="inputPerson != null">input_person,</if> <if test="orderNo != null">order_no,</if> <if test="licensePlate != null">license_plate,</if> <if test="category22 != null">category_22,</if> <if test="chargeStart != null">charge_start,</if> <if test="chargeEnd != null">charge_end</if> ) VALUES ( #{chargeTime}, <if test="invoiceReceiptNo != null">#{invoiceReceiptNo},</if> <if test="roomId != null">#{roomId},</if> <if test="propertyAddress != null">#{propertyAddress},</if> <if test="doorRoomNum != null">#{doorRoomNum},</if> <if test="secondaryFeeTypeCd != null">#{secondaryFeeTypeCd},</if> <if test="chargeAmount != null">#{chargeAmount},</if> <if test="charger != null">#{charger},</if> <if test="bankDepositDate != null">#{bankDepositDate},</if> <if test="bankDepositor != null">#{bankDepositor},</if> <if test="splitBankDepositAmount != null">#{splitBankDepositAmount},</if> <if test="bankDepositAmount != null">#{bankDepositAmount},</if> <if test="checkAmount != null">#{checkAmount},</if> <if test="whiteListArchiveNo != null">#{whiteListArchiveNo},</if> <if test="sheetCount != null">#{sheetCount},</if> <if test="financialReceiver != null">#{financialReceiver},</if> <if test="inputTime != null">#{inputTime},</if> <if test="inputPerson != null">#{inputPerson},</if> <if test="orderNo != null">#{orderNo},</if> <if test="licensePlate != null">#{licensePlate},</if> <if test="category22 != null">#{category22},</if> <if test="chargeStart != null">#{chargeStart},</if> <if test="chargeEnd != null">#{chargeEnd}</if> ) </insert> </mapper> java110-interface/src/main/java/com/java110/intf/IImportPropertyWhiteListfFlowServiceSMO.java
New file @@ -0,0 +1,25 @@ package com.java110.intf; import com.java110.config.feign.FeignConfiguration; import com.java110.dto.PropertyWhiteListFlowDto; import com.java110.dto.importData.ImportOwnerRoomDto; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import java.util.List; /** * @ClassName IFloorInnerServiceSMO * @Description 小区楼接口类 * @Author wuxw * @Date 2019/4/24 9:04 * @Version 1.0 * add by wuxw 2019/4/24 **/ @FeignClient(name = "community-service", configuration = {FeignConfiguration.class}) public interface IImportPropertyWhiteListfFlowServiceSMO { int savePropertyWhiteListFlow(@RequestBody List<PropertyWhiteListFlowDto> importOwnerRoomDtos); } service-api/src/main/java/com/java110/api/importData/adapt/ImportPropertyWhiteListfFlowAdapt.java
New file @@ -0,0 +1,91 @@ package com.java110.api.importData.adapt; import com.alibaba.fastjson.JSONObject; import com.java110.api.importData.DefaultImportDataAdapt; import com.java110.api.importData.IImportDataCleaningAdapt; import com.java110.dto.PropertyWhiteListFlowDto; import com.java110.dto.importData.ImportRoomFee; import com.java110.dto.system.ComponentValidateResult; import com.java110.intf.fee.IPayFeeBatchV1InnerServiceSMO; import com.java110.intf.user.IUserInnerServiceSMO; import com.java110.utils.util.Assert; import com.java110.utils.util.DateUtil; import com.java110.utils.util.ImportExcelUtils; import com.java110.utils.util.StringUtil; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; @Service("importPropertyWhiteListfFlowDataCleaning") public class ImportPropertyWhiteListfFlowAdapt extends DefaultImportDataAdapt implements IImportDataCleaningAdapt { @Autowired private IPayFeeBatchV1InnerServiceSMO payFeeBatchV1InnerServiceSMOImpl; @Autowired private IUserInnerServiceSMO userInnerServiceSMOImpl; @Override public List analysisExcel(Workbook workbook, JSONObject paramIn, ComponentValidateResult result) throws Exception { generatorBatch(paramIn); List<PropertyWhiteListFlowDto> whiteLists = new ArrayList<PropertyWhiteListFlowDto>(); //获取车辆信息 getPropertyWhiteListFlowDtos(workbook, whiteLists); return whiteLists; } private void getPropertyWhiteListFlowDtos(Workbook workbook, List<PropertyWhiteListFlowDto> whiteLists) { Sheet sheet = null; sheet = ImportExcelUtils.getSheet(workbook, "白单流水(归档数据)"); List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet); PropertyWhiteListFlowDto white = null; for (int osIndex = 0; osIndex < oList.size(); osIndex++) { Object[] os = oList.get(osIndex); if (osIndex == 0) { // 第一行是 头部信息 直接跳过 continue; } if (StringUtil.isNullOrNone(os[0])) { continue; } Assert.hasValue(os[0], (osIndex + 1) + "行收费日期不能为空"); white = new PropertyWhiteListFlowDto(); white.setChargeTime(os[0].toString()); white.setInvoiceReceiptNo(os[1] == null ? null : os[1].toString()); white.setRoomId(os[2] == null ? null : os[2].toString()); white.setPropertyAddress(os[3] == null ? null : os[3].toString()); white.setDoorRoomNum(os[4] == null ? null : os[4].toString()); white.setSecondaryFeeTypeCd(os[5] == null ? null : os[5].toString()); white.setChargeAmount(os[6] == null ? null : os[6].toString()); white.setCharger(os[7] == null ? null : os[7].toString()); white.setBankDepositDate(os[8] == null ? null : os[8].toString()); white.setSheetCount(os[9] == null ? null : os[9].toString()); white.setFinancialReceiver(os[10] == null ? null : os[10].toString()); white.setInputTime(os[11] == null ? null : os[11].toString()); white.setInputPerson(os[12] == null ? null : os[12].toString()); white.setOrderNo(os[13] == null ? null : os[13].toString()); white.setLicensePlate(os[14] == null ? null : os[14].toString()); white.setCategory22(os[15] == null ? null : os[15].toString()); white.setChargeStart(os[16] == null ? null : os[16].toString()); white.setChargeEnd(os[17] == null ? null : os[17].toString()); whiteLists.add(white); } } /** * 生成批次号 * * @param reqJson */ } service-community/src/main/java/com/java110/community/smo/impl/IImportPropertyWhiteListfFlowServiceSMOImpl.java
New file @@ -0,0 +1,47 @@ package com.java110.community.smo.impl; import com.java110.core.base.smo.BaseServiceSMO; import com.java110.core.client.RestTemplate; import com.java110.core.log.LoggerFactory; import com.java110.dto.PropertyWhiteListFlowDto; import com.java110.dto.importData.ImportOwnerRoomDto; import com.java110.intf.IImportPropertyWhiteListfFlowServiceSMO; import com.java110.intf.user.IUserV1InnerServiceSMO; import com.java110.utils.util.BeanConvertUtil; import org.mybatis.spring.SqlSessionTemplate; import org.slf4j.Logger; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; /** * 小区服务内部类 */ @RestController public class IImportPropertyWhiteListfFlowServiceSMOImpl extends BaseServiceSMO implements IImportPropertyWhiteListfFlowServiceSMO { private static Logger logger = LoggerFactory.getLogger(IImportPropertyWhiteListfFlowServiceSMOImpl.class); @Autowired protected SqlSessionTemplate sqlSessionTemplate; @Override public int savePropertyWhiteListFlow(@RequestBody List<PropertyWhiteListFlowDto> importOwnerRoomDtos) { int successCount = 0; if (importOwnerRoomDtos == null || importOwnerRoomDtos.size() < 1) { return 0; } // 1.0 查看 楼栋是否存在 for (PropertyWhiteListFlowDto importOwnerRoomDto : importOwnerRoomDtos) { successCount += sqlSessionTemplate.insert("propertyWhiteListFlowDaoImplMapper.savePropertyWhiteListFlow",BeanConvertUtil.beanCovertMap(importOwnerRoomDto)); } return successCount; } } service-job/src/main/java/com/java110/job/importData/adapt/ImportPropertyWhiteListfFlowQueueDataAdapt.java
New file @@ -0,0 +1,65 @@ package com.java110.job.importData.adapt; import com.alibaba.fastjson.JSONObject; import com.java110.dto.importData.ImportOwnerRoomDto; import com.java110.dto.log.AssetImportLogDetailDto; import com.java110.intf.community.IImportOwnerRoomInnerServiceSMO; import com.java110.job.importData.DefaultImportData; import com.java110.job.importData.IImportDataAdapt; import com.java110.utils.util.BeanConvertUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * 房产信息导入 适配器 * 前端请求 时 必须传入 * param.append('importAdapt', "importRoomOwner"); */ @Service("importPropertyWhiteListfFlowQueueData") public class ImportPropertyWhiteListfFlowQueueDataAdapt extends DefaultImportData implements IImportDataAdapt { @Autowired private IImportOwnerRoomInnerServiceSMO importOwnerRoomInnerServiceSMOImpl; @Override public void importData(List<AssetImportLogDetailDto> assetImportLogDetailDtos) { importDatas(assetImportLogDetailDtos); } private void importDatas(List<AssetImportLogDetailDto> infos) { String state = ""; String msg = ""; for (AssetImportLogDetailDto assetImportLogDetailDto : infos) { try { doImportData(assetImportLogDetailDto); updateImportLogDetailState(assetImportLogDetailDto.getDetailId()); } catch (Exception e) { e.printStackTrace(); updateImportLogDetailState(assetImportLogDetailDto.getDetailId(), e); } } } /** * 导入数据 * * @param assetImportLogDetailDto */ private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) { JSONObject data = JSONObject.parseObject(assetImportLogDetailDto.getContent()); ImportOwnerRoomDto importOwnerRoomDto = BeanConvertUtil.covertBean(data, ImportOwnerRoomDto.class); int flag = importOwnerRoomInnerServiceSMOImpl.saveOwnerRoom(importOwnerRoomDto); if (flag < 1) { throw new IllegalArgumentException("导入失败"); } } }