| | |
| | | private String floorNum; |
| | | private String unitNum; |
| | | private String roomNum; |
| | | private String nong; |
| | | |
| | | /** |
| | | * 门 |
| | | */ |
| | | private String men; |
| | | |
| | | /** |
| | | * 室 |
| | | */ |
| | | private String shi; |
| | | |
| | | public String getNong() { |
| | | return nong; |
| | | } |
| | | |
| | | public void setNong(String nong) { |
| | | this.nong = nong; |
| | | } |
| | | |
| | | public String getMen() { |
| | | return men; |
| | | } |
| | | |
| | | public void setMen(String men) { |
| | | this.men = men; |
| | | } |
| | | |
| | | public String getShi() { |
| | | return shi; |
| | | } |
| | | |
| | | public void setShi(String shi) { |
| | | this.shi = shi; |
| | | } |
| | | |
| | | public String getFloorNum() { |
| | | return floorNum; |
| | |
| | | private String roomSubType; // 房屋类型 |
| | | private String section; |
| | | private String builtUpArea; |
| | | private String remark; |
| | | private String roomArea; |
| | | private String roomRent; |
| | | private String ownerName; |
| | |
| | | |
| | | private String monthlyUnitPrice; |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getPropertyFeeMonth() { |
| | | return propertyFeeMonth; |
| | | } |
| | |
| | | package com.java110.dto.meter; |
| | | |
| | | import com.java110.dto.PageDto; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | |
| | | * @Version 1.0 |
| | | * add by wuxw 2019/4/24 |
| | | **/ |
| | | @Data |
| | | public class MeterWaterDto extends PageDto implements Serializable { |
| | | |
| | | public static final String METER_TYPE_ROOM = "1010"; |
| | |
| | | private String amountDifference; // 比较金额差额 |
| | | private String autoDeduction; // 自动扣款 |
| | | private String remark2; // 备注2 |
| | | private String roadName; // 道路名 |
| | | private String floorNum; // 楼层 |
| | | private String doorNum; // 门号 |
| | | private String roomNum; // 房间号 |
| | | |
| | | |
| | | private String roadName; |
| | | |
| | | public String getRoadName() { |
| | | return roadName; |
| | | } |
| | | |
| | | public void setRoadName(String roadName) { |
| | | this.roadName = roadName; |
| | | } |
| | | |
| | | public String getRemark() { |
| | | return remark; |
| | | } |
| | | |
| | | public void setRemark(String remark) { |
| | | this.remark = remark; |
| | | } |
| | | |
| | | public String getCurReadingTime() { |
| | | return curReadingTime; |
| | | } |
| | | |
| | | public void setCurReadingTime(String curReadingTime) { |
| | | this.curReadingTime = curReadingTime; |
| | | } |
| | | |
| | | public String getWaterId() { |
| | | return waterId; |
| | | } |
| | | |
| | | public void setWaterId(String waterId) { |
| | | this.waterId = waterId; |
| | | } |
| | | |
| | | public String getCurDegrees() { |
| | | return curDegrees; |
| | | } |
| | | |
| | | public void setCurDegrees(String curDegrees) { |
| | | this.curDegrees = curDegrees; |
| | | } |
| | | |
| | | public String getMeterType() { |
| | | return meterType; |
| | | } |
| | | |
| | | public void setMeterType(String meterType) { |
| | | this.meterType = meterType; |
| | | } |
| | | |
| | | public String getPreDegrees() { |
| | | return preDegrees; |
| | | } |
| | | |
| | | public void setPreDegrees(String preDegrees) { |
| | | this.preDegrees = preDegrees; |
| | | } |
| | | |
| | | public String getObjId() { |
| | | return objId; |
| | | } |
| | | |
| | | public void setObjId(String objId) { |
| | | this.objId = objId; |
| | | } |
| | | |
| | | public String getPreReadingTime() { |
| | | return preReadingTime; |
| | | } |
| | | |
| | | public void setPreReadingTime(String preReadingTime) { |
| | | this.preReadingTime = preReadingTime; |
| | | } |
| | | |
| | | public String getCommunityId() { |
| | | return communityId; |
| | | } |
| | | |
| | | public void setCommunityId(String communityId) { |
| | | this.communityId = communityId; |
| | | } |
| | | |
| | | public String getObjType() { |
| | | return objType; |
| | | } |
| | | |
| | | public void setObjType(String objType) { |
| | | this.objType = objType; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public String getStatusCd() { |
| | | return statusCd; |
| | | } |
| | | |
| | | public void setStatusCd(String statusCd) { |
| | | this.statusCd = statusCd; |
| | | } |
| | | |
| | | public String getFeeId() { |
| | | return feeId; |
| | | } |
| | | |
| | | public void setFeeId(String feeId) { |
| | | this.feeId = feeId; |
| | | } |
| | | |
| | | public String getObjName() { |
| | | return objName; |
| | | } |
| | | |
| | | public void setObjName(String objName) { |
| | | this.objName = objName; |
| | | } |
| | | |
| | | public double getPrice() { |
| | | return price; |
| | | } |
| | | |
| | | public void setPrice(double price) { |
| | | this.price = price; |
| | | } |
| | | |
| | | public String getMeterTypeName() { |
| | | return meterTypeName; |
| | | } |
| | | |
| | | public void setMeterTypeName(String meterTypeName) { |
| | | this.meterTypeName = meterTypeName; |
| | | } |
| | | |
| | | public String getBatchId() { |
| | | return batchId; |
| | | } |
| | | |
| | | public void setBatchId(String batchId) { |
| | | this.batchId = batchId; |
| | | } |
| | | |
| | | // 新增字段的getter/setter方法 |
| | | public String getPowerSupplyBureau() { |
| | | return powerSupplyBureau; |
| | | } |
| | | |
| | | public void setPowerSupplyBureau(String powerSupplyBureau) { |
| | | this.powerSupplyBureau = powerSupplyBureau; |
| | | } |
| | | |
| | | public String getHouseholdName() { |
| | | return householdName; |
| | | } |
| | | |
| | | public void setHouseholdName(String householdName) { |
| | | this.householdName = householdName; |
| | | } |
| | | |
| | | public String getHouseholdNumber() { |
| | | return householdNumber; |
| | | } |
| | | |
| | | public void setHouseholdNumber(String householdNumber) { |
| | | this.householdNumber = householdNumber; |
| | | } |
| | | |
| | | public String getElectricMeterId() { |
| | | return electricMeterId; |
| | | } |
| | | |
| | | public void setElectricMeterId(String electricMeterId) { |
| | | this.electricMeterId = electricMeterId; |
| | | } |
| | | |
| | | public String getHandler() { |
| | | return handler; |
| | | } |
| | | |
| | | public void setHandler(String handler) { |
| | | this.handler = handler; |
| | | } |
| | | |
| | | public String getIsTransferred() { |
| | | return isTransferred; |
| | | } |
| | | |
| | | public void setIsTransferred(String isTransferred) { |
| | | this.isTransferred = isTransferred; |
| | | } |
| | | |
| | | public String getCompanyNameAfterTransfer() { |
| | | return companyNameAfterTransfer; |
| | | } |
| | | |
| | | public void setCompanyNameAfterTransfer(String companyNameAfterTransfer) { |
| | | this.companyNameAfterTransfer = companyNameAfterTransfer; |
| | | } |
| | | |
| | | public String getTransferDate() { |
| | | return transferDate; |
| | | } |
| | | |
| | | public void setTransferDate(String transferDate) { |
| | | this.transferDate = transferDate; |
| | | } |
| | | |
| | | public String getCorrespondingHouseholdCount() { |
| | | return correspondingHouseholdCount; |
| | | } |
| | | |
| | | public void setCorrespondingHouseholdCount(String correspondingHouseholdCount) { |
| | | this.correspondingHouseholdCount = correspondingHouseholdCount; |
| | | } |
| | | |
| | | public String getLastPaymentDate() { |
| | | return lastPaymentDate; |
| | | } |
| | | |
| | | public void setLastPaymentDate(String lastPaymentDate) { |
| | | this.lastPaymentDate = lastPaymentDate; |
| | | } |
| | | |
| | | public String getReadingType() { |
| | | return readingType; |
| | | } |
| | | |
| | | public void setReadingType(String readingType) { |
| | | this.readingType = readingType; |
| | | } |
| | | |
| | | public String getMultiplyingFactor() { |
| | | return multiplyingFactor; |
| | | } |
| | | |
| | | public void setMultiplyingFactor(String multiplyingFactor) { |
| | | this.multiplyingFactor = multiplyingFactor; |
| | | } |
| | | |
| | | public String getUnitPrice() { |
| | | return unitPrice; |
| | | } |
| | | |
| | | public void setUnitPrice(String unitPrice) { |
| | | this.unitPrice = unitPrice; |
| | | } |
| | | |
| | | public String getInvoiceAmount() { |
| | | return invoiceAmount; |
| | | } |
| | | |
| | | public void setInvoiceAmount(String invoiceAmount) { |
| | | this.invoiceAmount = invoiceAmount; |
| | | } |
| | | |
| | | public String getAmountDifference() { |
| | | return amountDifference; |
| | | } |
| | | |
| | | public void setAmountDifference(String amountDifference) { |
| | | this.amountDifference = amountDifference; |
| | | } |
| | | |
| | | public String getAutoDeduction() { |
| | | return autoDeduction; |
| | | } |
| | | |
| | | public void setAutoDeduction(String autoDeduction) { |
| | | this.autoDeduction = autoDeduction; |
| | | } |
| | | |
| | | public String getRemark2() { |
| | | return remark2; |
| | | } |
| | | private String address; // 地址 |
| | | private String writeTime; // 写入时间 |
| | | private String writer; // 录入人 |
| | | private String checkApplyCompanyName; // 核查申请公司名称 |
| | | private String checkApplyDeptProject; // 核查申请部门/项目 |
| | | private String waterFeePayer; // 水费缴纳方 |
| | | private String accountNumber; // 账号 |
| | | private String meterReadBookNo; // 抄表本号 |
| | | private String waterConsumption; // 用水量 |
| | | private String sewageTreatmentWater; // 污水处理量 |
| | | private String collectionStandard; // 征收标准 |
| | | private String arrearsUnpaid; // 欠费未缴 |
| | | private String latePaymentFine; // 滞纳金 |
| | | private String latePaymentSurcharge; // 逾期违约金 |
| | | private String feePaymentStatus; // 缴费状态 |
| | | private String carryOverBalance; // 结转余额 |
| | | private String totalPayableAmount; // 应付总金额 |
| | | |
| | | public void setRemark2(String remark2) { |
| | | this.remark2 = remark2; |
| | | } |
| | | } |
| | |
| | | |
| | | private String importFileName; |
| | | |
| | | private String sheetName; |
| | | |
| | | public String getSheetName() { |
| | | return sheetName; |
| | | } |
| | | |
| | | public void setSheetName(String sheetName) { |
| | | this.sheetName = sheetName; |
| | | } |
| | | |
| | | public String getImportFileName() { |
| | | return importFileName; |
| | | } |
| | |
| | | package com.java110.po.contract; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.List; |
| | | import com.java110.dto.community.CommunityAttrDto; |
| | | import lombok.Data; |
| | | |
| | | import java.io.Serializable; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | @Data |
| | | public class ContractPo implements Serializable { |
| | | |
| | | private String aLink; |
| | |
| | | |
| | | private String communityId; |
| | | |
| | | |
| | | private String communityArea; |
| | | |
| | | private String qrCode; |
| | | |
| | | |
| | | private String storeName; |
| | | |
| | | private List<CommunityAttrDto> communityAttrDtos; |
| | | |
| | | |
| | | private Date createTime; |
| | | |
| | | private String projectAddressProvince; |
| | | |
| | | private String projectAddressCity; |
| | | |
| | | private String projectAddressDistrict; |
| | | |
| | | private String projectAddressTown; |
| | | |
| | | private String projectAddressRoad; |
| | | |
| | | private String houseCompletionDate; |
| | | |
| | | private String projectNature; |
| | | |
| | | private String projectType; |
| | | |
| | | private String projectLandArea; |
| | | |
| | | private String totalConstructionArea; |
| | | |
| | | private String chargeableTotalArea; |
| | | |
| | | private String chargeableAreaMultilayer; |
| | | |
| | | private String chargeableAreaHighRise1; |
| | | |
| | | private String chargeableAreaHighRiseUp; |
| | | |
| | | private String chargeableAreaShop; |
| | | |
| | | private String chargeableAreaVilla; |
| | | |
| | | private String chargeableAreaOffice; |
| | | |
| | | private String chargeableAreaCommercialHouse; |
| | | |
| | | private String greenArea; |
| | | |
| | | private String areaDetails; |
| | | |
| | | private String propertyManagementAddress; |
| | | |
| | | private String propertyManagerName; |
| | | |
| | | private String propertyManagerPhone; |
| | | |
| | | private String dayRepairPhone; |
| | | |
| | | private String nightRepairPhone; |
| | | |
| | | private String projectManager; |
| | | |
| | | private String hasManagerCertificate; |
| | | |
| | | private String certificateName; |
| | | |
| | | private String managerCertificateNo; |
| | | |
| | | private String managerPhone; |
| | | |
| | | private String neighborhoodCommitteeName; |
| | | |
| | | private String neighborhoodCommitteeAddress; |
| | | |
| | | private String neighborhoodSecretary; |
| | | |
| | | private String neighborhoodOfficePhone; |
| | | |
| | | private String secretaryPhone; |
| | | |
| | | private String ownersCommitteeAddress; |
| | | |
| | | private String ownersCommitteeChairman; |
| | | |
| | | private String chairmanPhone; |
| | | |
| | | private String fireHydrantCount; |
| | | |
| | | private String fireChannelCount; |
| | | |
| | | private String waterTankCount; |
| | | |
| | | private String reservoirCount; |
| | | |
| | | private String totalMotorVehicleSpaces; |
| | | |
| | | private String groundMotorVehicleSpaces; |
| | | |
| | | private String undergroundMotorVehicleSpaces; |
| | | |
| | | private String newEnergyChargingPiles; |
| | | |
| | | private String nonMotorVehicleChargingPoints; |
| | | |
| | | private String groundNonMotorVehicleArea; |
| | | |
| | | private String undergroundNonMotorVehicleArea; |
| | | |
| | | private String clubhouseArea; |
| | | |
| | | private String hasDecorationRubbishPoint; |
| | | |
| | | private String securityEntranceCount; |
| | | |
| | | private String elevatorCount; |
| | | |
| | | private String elevatorType; |
| | | |
| | | private String elevatorInstallDate; |
| | | |
| | | private String elevatorServiceLife; |
| | | |
| | | private String elevatorBrand1; |
| | | |
| | | private String elevatorBrand2; |
| | | |
| | | private String monitorCount; |
| | | |
| | | private String monitorMaintenanceCompany; |
| | | |
| | | private String barrierGateCount; |
| | | |
| | | private String barrierGateBrand; |
| | | |
| | | private String barrierSupplierContact; |
| | | |
| | | private String barrierSupplierPhone; |
| | | |
| | | private String waterPumpCount; |
| | | |
| | | private String groundParkingSpaces; |
| | | |
| | | private String undergroundParkingSpaces; |
| | | |
| | | private String groundNonMechanicalFee; |
| | | |
| | | private String garageNonMechanicalFee; |
| | | |
| | | private String temporaryHourlyFee; |
| | | |
| | | private String temporaryDailyFee; |
| | | |
| | | private String temporaryPerTimeFee; |
| | | |
| | | private String totalBuildingCount; |
| | | |
| | | private String buildingUnitCount; |
| | | |
| | | private String highRiseBuildingCount; |
| | | |
| | | private String multilayerVillaBuildingCount; |
| | | |
| | | private String residentialHouseholdCount; |
| | | |
| | | private String shopHouseholdCount; |
| | | |
| | | private String publicArea; |
| | | |
| | | private String propertyRoomArea; |
| | | |
| | | private List<ContractFilePo> contractFilePo; |
| | | |
| | | public String getaLink() { |
| | |
| | | @Column(name = "quality_guarantee_period2", length = 50) |
| | | private String qualityGuaranteePeriod2; |
| | | |
| | | |
| | | private String managementFeeRatio; |
| | | /** |
| | | * 质保金占比 |
| | | */ |
| | |
| | | private String remarks; // 备注 |
| | | private String acceptanceDate; // 验收日期 |
| | | private String auditDate; // 审计情况:年/月 |
| | | private String dyhj; //打印合计 |
| | | |
| | | private String advancedPayment; |
| | | private String payableAmountD; |
| | | |
| | | |
| | | /** |
| | | * 到账合计金额 dzhj |
| | | */ |
| | | private String dzhj; |
| | | |
| | | /** |
| | | * 维修基金到账率 wxjjdzl |
| | | */ |
| | | private String wxjjdzl; |
| | | |
| | | /** |
| | | * 维修基金申请金额 wxjjsqje |
| | | */ |
| | | private String wxjjsqje; |
| | | |
| | | /** |
| | | * 管理费占比 glfzb |
| | | */ |
| | | private String glfzb; |
| | | |
| | | /** |
| | | * 应付金额A yfjeA |
| | | */ |
| | | private String yfjeA; |
| | | |
| | | /** |
| | | * 第五次计划付款合计 nfhj |
| | | */ |
| | | private String nfhj; |
| | | |
| | | /** |
| | | * 实际付款合计 sfhj |
| | | */ |
| | | private String sfhj; |
| | | |
| | | /** |
| | | * 未付合计 wfhj |
| | | */ |
| | | private String wfhj; |
| | | |
| | | /** |
| | | * 垫付金额 dfje |
| | | */ |
| | | private String dfje; |
| | | } |
| | |
| | | </if> |
| | | </delete> |
| | | |
| | | <!-- 保存费用导入明细信息 add by wuxw 2018-07-03 --> |
| | | <!-- 保存费用导入明细信息 --> |
| | | <insert id="saveImportFeeDetailInfo" parameterType="Map"> |
| | | insert into maintenance_payment( |
| | | auxiliary_column, flow_number, serial_number, project_code, project_name, |
| | |
| | | withdrawal_encountered_problem, shortage_or_arrears, road_name, lane, |
| | | `door`, room, door_room_number, owner_address, start_date, end_date, |
| | | payee_name, id_card_number, bank_name, bank_account, remarks, acceptance_date, audit_date, |
| | | id, payment_target,payable_amount_d,advanced_payment, specific_announcement_status |
| | | id, payment_target, payable_amount_d, advanced_payment, specific_announcement_status, |
| | | management_fee_ratio, first_planned_payment_amount, planned_payment_date, category, |
| | | reimburser, actual_payment_amount, actual_payment_date |
| | | ) values ( |
| | | #{auxiliaryColumn}, #{flowNumber}, #{serialNumber}, #{projectCode}, #{projectName}, |
| | | <if test="year == null">null,</if> |
| | |
| | | <if test="shortageOrArrears != null">#{shortageOrArrears},</if> |
| | | #{roadName}, #{lane}, #{door}, #{room}, #{doorRoomNumber}, #{ownerAddress}, #{startDate}, #{endDate}, |
| | | #{payeeName}, #{idCardNumber}, #{bankName}, #{bankAccount}, #{remarks}, #{acceptanceDate}, #{auditDate}, |
| | | #{id}, #{paymentTarget},#{payableAmountD}, #{advancedPayment}, #{specificAnnouncementStatus} |
| | | #{id}, #{paymentTarget}, #{payableAmountD}, #{advancedPayment}, #{specificAnnouncementStatus}, |
| | | <if test="managementFeeRatio == null">0,</if> |
| | | <if test="managementFeeRatio != null">#{managementFeeRatio},</if> |
| | | <if test="firstPlannedPaymentAmount == null">0,</if> |
| | | <if test="firstPlannedPaymentAmount != null">#{firstPlannedPaymentAmount},</if> |
| | | #{plannedPaymentDate}, #{category}, #{reimburser}, |
| | | <if test="actualPaymentAmount == null">0,</if> |
| | | <if test="actualPaymentAmount != null">#{actualPaymentAmount},</if> |
| | | #{actualPaymentDate} |
| | | ) |
| | | </insert> |
| | | |
| | | |
| | | <!-- 查询费用导入明细信息 add by wuxw 2018-07-03 --> |
| | | <!-- 查询费用导入明细信息 --> |
| | | <select id="getImportFeeDetailInfo" parameterType="Map" resultType="Map"> |
| | | select |
| | | t.auxiliary_column,t.auxiliary_column auxiliaryColumn, |
| | | t.flow_number,t.flow_number flowNumber, |
| | | t.serial_number,t.serial_number serialNumber, |
| | | t.project_code,t.project_code projectCode, |
| | | t.project_name,t.project_name projectName, |
| | | t.auxiliary_column, t.auxiliary_column auxiliaryColumn, |
| | | t.flow_number, t.flow_number flowNumber, |
| | | t.serial_number, t.serial_number serialNumber, |
| | | t.project_code, t.project_code projectCode, |
| | | t.project_name, t.project_name projectName, |
| | | t.`year`, |
| | | t.`month`, |
| | | t.`day`, |
| | | t.`date`, |
| | | t.project_content,t.project_content projectContent, |
| | | t.management_office_amount,t.management_office_amount managementOfficeAmount, |
| | | t.management_office_seal,t.management_office_seal managementOfficeSeal, |
| | | t.owners_committee_amount,t.owners_committee_amount ownersCommitteeAmount, |
| | | t.audit_amount,t.audit_amount auditAmount, |
| | | t.owners_committee_seal,t.owners_committee_seal ownersCommitteeSeal, |
| | | t.report_department,t.report_department reportDepartment, |
| | | t.fund_type_level1,t.fund_type_level1 fundTypeLevel1, |
| | | t.fund_type_level2,t.fund_type_level2 fundTypeLevel2, |
| | | t.building_or_all,t.building_or_all buildingOrAll, |
| | | t.maintenance_type,t.maintenance_type maintenanceType, |
| | | t.quality_guarantee_period1,t.quality_guarantee_period1 qualityGuaranteePeriod1, |
| | | t.public_income_announcement,t.public_income_announcement publicIncomeAnnouncement, |
| | | t.owners_committee_convention,t.owners_committee_convention ownersCommitteeConvention, |
| | | t.withdrawal_problem,t.withdrawal_problem withdrawalProblem, |
| | | t.problem_difficulty,t.problem_difficulty problemDifficulty, |
| | | t.available_withdrawal_date,t.available_withdrawal_date availableWithdrawalDate, |
| | | t.quality_guarantee_period2,t.quality_guarantee_period2 qualityGuaranteePeriod2, |
| | | t.quality_guarantee_ratio,t.quality_guarantee_ratio qualityGuaranteeRatio, |
| | | t.quality_guarantee_amount,t.quality_guarantee_amount qualityGuaranteeAmount, |
| | | t.received_quality_guarantee,t.received_quality_guarantee receivedQualityGuarantee, |
| | | t.planned_announcement_start,t.planned_announcement_start plannedAnnouncementStart, |
| | | t.planned_announcement_end,t.planned_announcement_end plannedAnnouncementEnd, |
| | | t.published_announcement_start,t.published_announcement_start publishedAnnouncementStart, |
| | | t.published_announcement_end,t.published_announcement_end publishedAnnouncementEnd, |
| | | t.project_content, t.project_content projectContent, |
| | | t.management_office_amount, t.management_office_amount managementOfficeAmount, |
| | | t.management_office_seal, t.management_office_seal managementOfficeSeal, |
| | | t.owners_committee_amount, t.owners_committee_amount ownersCommitteeAmount, |
| | | t.audit_amount, t.audit_amount auditAmount, |
| | | t.owners_committee_seal, t.owners_committee_seal ownersCommitteeSeal, |
| | | t.report_department, t.report_department reportDepartment, |
| | | t.fund_type_level1, t.fund_type_level1 fundTypeLevel1, |
| | | t.fund_type_level2, t.fund_type_level2 fundTypeLevel2, |
| | | t.building_or_all, t.building_or_all buildingOrAll, |
| | | t.maintenance_type, t.maintenance_type maintenanceType, |
| | | t.quality_guarantee_period1, t.quality_guarantee_period1 qualityGuaranteePeriod1, |
| | | t.public_income_announcement, t.public_income_announcement publicIncomeAnnouncement, |
| | | t.owners_committee_convention, t.owners_committee_convention ownersCommitteeConvention, |
| | | t.withdrawal_problem, t.withdrawal_problem withdrawalProblem, |
| | | t.problem_difficulty, t.problem_difficulty problemDifficulty, |
| | | t.available_withdrawal_date, t.available_withdrawal_date availableWithdrawalDate, |
| | | t.quality_guarantee_period2, t.quality_guarantee_period2 qualityGuaranteePeriod2, |
| | | t.quality_guarantee_ratio, t.quality_guarantee_ratio qualityGuaranteeRatio, |
| | | t.quality_guarantee_amount, t.quality_guarantee_amount qualityGuaranteeAmount, |
| | | t.received_quality_guarantee, t.received_quality_guarantee receivedQualityGuarantee, |
| | | t.planned_announcement_start, t.planned_announcement_start plannedAnnouncementStart, |
| | | t.planned_announcement_end, t.planned_announcement_end plannedAnnouncementEnd, |
| | | t.published_announcement_start, t.published_announcement_start publishedAnnouncementStart, |
| | | t.published_announcement_end, t.published_announcement_end publishedAnnouncementEnd, |
| | | t.quota, |
| | | t.owners_committee_resolution,t.owners_committee_resolution ownersCommitteeResolution, |
| | | t.owners_committee_consultation,t.owners_committee_consultation ownersCommitteeConsultation, |
| | | t.withdrawal_encountered_problem,t.withdrawal_encountered_problem withdrawalEncounteredProblem, |
| | | t.shortage_or_arrears,t.shortage_or_arrears shortageOrArrears, |
| | | t.road_name,t.road_name roadName, |
| | | t.owners_committee_resolution, t.owners_committee_resolution ownersCommitteeResolution, |
| | | t.owners_committee_consultation, t.owners_committee_consultation ownersCommitteeConsultation, |
| | | t.withdrawal_encountered_problem, t.withdrawal_encountered_problem withdrawalEncounteredProblem, |
| | | t.shortage_or_arrears, t.shortage_or_arrears shortageOrArrears, |
| | | t.road_name, t.road_name roadName, |
| | | t.lane, |
| | | t.`door`, |
| | | t.room, |
| | | t.door_room_number,t.door_room_number doorRoomNumber, |
| | | t.owner_address,t.owner_address ownerAddress, |
| | | t.start_date,t.start_date startDate, |
| | | t.end_date,t.end_date endDate, |
| | | t.payee_name,t.payee_name payeeName, |
| | | t.id_card_number,t.id_card_number idCardNumber, |
| | | t.bank_name,t.bank_name bankName, |
| | | t.bank_account,t.bank_account bankAccount, |
| | | t.door_room_number, t.door_room_number doorRoomNumber, |
| | | t.owner_address, t.owner_address ownerAddress, |
| | | t.start_date, t.start_date startDate, |
| | | t.end_date, t.end_date endDate, |
| | | t.payee_name, t.payee_name payeeName, |
| | | t.id_card_number, t.id_card_number idCardNumber, |
| | | t.bank_name, t.bank_name bankName, |
| | | t.bank_account, t.bank_account bankAccount, |
| | | t.remarks, |
| | | t.acceptance_date,t.acceptance_date acceptanceDate, |
| | | t.audit_date,t.audit_date auditDate, |
| | | t.id |
| | | t.acceptance_date, t.acceptance_date acceptanceDate, |
| | | t.audit_date, t.audit_date auditDate, |
| | | t.id, |
| | | t.payment_target, t.payment_target paymentTarget, |
| | | t.specific_announcement_status, t.specific_announcement_status specificAnnouncementStatus, |
| | | t.management_fee_ratio, t.management_fee_ratio managementFeeRatio, |
| | | t.first_planned_payment_amount, t.first_planned_payment_amount firstPlannedPaymentAmount, |
| | | t.planned_payment_date, t.planned_payment_date plannedPaymentDate, |
| | | t.category, t.category category, |
| | | t.reimburser, t.reimburser reimburser, |
| | | t.actual_payment_amount, t.actual_payment_amount actualPaymentAmount, |
| | | t.actual_payment_date, t.actual_payment_date actualPaymentDate, |
| | | t.payable_amount_d, t.payable_amount_d payableAmountD, |
| | | t.advanced_payment, t.advanced_payment advancedPayment, |
| | | IFNULL(SUM(sum_print_amount), 0) AS dyhj, |
| | | IFNULL(SUM(sum_arrival_amount), 0) AS dzhj, |
| | | CASE WHEN IFNULL(SUM(sum_arrival_amount), 0) <> 0 THEN IFNULL(SUM(sum_arrival_amount), 0) / t.owners_committee_amount * 100 ELSE 0 END AS wxjjdzl, |
| | | CASE WHEN t.fund_type_level1 <> '维修基金' THEN 0 ELSE t.owners_committee_amount - IFNULL(SUM(sum_arrival_amount), 0) END AS wxjjsqje, |
| | | CASE WHEN t.owners_committee_amount <> 0 THEN t.management_fee_ratio / t.owners_committee_amount * 100 ELSE 0 END AS glfzb, |
| | | t.owners_committee_amount - t.management_fee_ratio AS yfjeA, |
| | | IFNULL(SUM(sum_fifth_planned), 0) AS nfhj, |
| | | IFNULL(SUM(sum_actual_payment), 0) AS sfhj, |
| | | (t.owners_committee_amount - t.management_fee_ratio) - IFNULL(SUM(sum_actual_payment), 0) AS wfhj, |
| | | CASE |
| | | WHEN t.fund_type_level1 IN ('公共收益金','维修基金') THEN |
| | | CASE |
| | | WHEN IFNULL(SUM(sum_arrival_amount),0) <> 0 THEN |
| | | CASE WHEN (t.owners_committee_amount - t.management_fee_ratio - IFNULL(SUM(sum_actual_payment),0)) > IFNULL(SUM(sum_arrival_amount),0) |
| | | THEN (t.owners_committee_amount - t.management_fee_ratio - IFNULL(SUM(sum_actual_payment),0)) - IFNULL(SUM(sum_arrival_amount),0) |
| | | ELSE 0 END |
| | | ELSE |
| | | CASE WHEN t.specific_announcement_status LIKE '%公布%' AND t.specific_announcement_status NOT LIKE '%拟%' |
| | | THEN 0 |
| | | ELSE (t.owners_committee_amount - t.management_fee_ratio - IFNULL(SUM(sum_actual_payment),0)) END |
| | | END |
| | | ELSE 0 END AS dfje |
| | | from maintenance_payment t |
| | | where 1 =1 |
| | | -- 左连接 打印记录表,保证主表数据不丢失 |
| | | left join ( |
| | | select mp_id, |
| | | SUM(print_amount) as sum_print_amount, |
| | | SUM(arrival_amount) as sum_arrival_amount |
| | | from mp_payment_record |
| | | group by mp_id |
| | | ) m on t.id = m.mp_id |
| | | left join ( |
| | | select mp_id, |
| | | SUM(fifth_planned_payment_amount) as sum_fifth_planned, |
| | | SUM(actual_payment_amount) as sum_actual_payment |
| | | from mp_fifth_payment_record |
| | | group by mp_id |
| | | ) f on t.id = f.mp_id |
| | | where 1 = 1 |
| | | -- 按主表所有非聚合字段分组 |
| | | <if test="auxiliaryColumn !=null and auxiliaryColumn != ''"> |
| | | and t.auxiliary_column = #{auxiliaryColumn} |
| | | </if> |
| | |
| | | <if test="id !=null"> |
| | | and t.id = #{id} |
| | | </if> |
| | | <if test="paymentTarget !=null and paymentTarget != ''"> |
| | | and t.payment_target = #{paymentTarget} |
| | | </if> |
| | | <if test="specificAnnouncementStatus !=null and specificAnnouncementStatus != ''"> |
| | | and t.specific_announcement_status = #{specificAnnouncementStatus} |
| | | </if> |
| | | <if test="category !=null and category != ''"> |
| | | and t.category = #{category} |
| | | </if> |
| | | <if test="reimburser !=null and reimburser != ''"> |
| | | and t.reimburser like concat('%', #{reimburser}, '%') |
| | | </if> |
| | | group by t.id |
| | | order by t.id desc |
| | | <if test="page != -1 and page != null "> |
| | | limit #{page}, #{row} |
| | | </if> |
| | | |
| | | </select> |
| | | |
| | | |
| | | <!-- 修改费用导入明细信息 add by wuxw 2018-07-03 --> |
| | | <!-- 修改费用导入明细信息 --> |
| | | <update id="updateImportFeeDetailInfo" parameterType="Map"> |
| | | update maintenance_payment t |
| | | <!-- 注意:id作为主键,通常不建议更新,这里保留但标注,建议根据业务决定是否删除 --> |
| | |
| | | <if test="auditDate !=null and auditDate != ''"> |
| | | , t.audit_date = #{auditDate} |
| | | </if> |
| | | <!-- 以下为补充的缺失字段 --> |
| | | <if test="maintenanceType !=null and maintenanceType != ''"> |
| | | , t.maintenance_type = #{maintenanceType} |
| | | </if> |
| | |
| | | <if test="withdrawalEncounteredProblem !=null and withdrawalEncounteredProblem != ''"> |
| | | , t.withdrawal_encountered_problem = #{withdrawalEncounteredProblem} |
| | | </if> |
| | | <if test="shortageOrArrears !=null and shortageOrArrears != ''"> |
| | | <if test="shortageOrArrears !=null"> |
| | | , t.shortage_or_arrears = #{shortageOrArrears} |
| | | </if> |
| | | <if test="roadName !=null and roadName != ''"> |
| | |
| | | <if test="endDate !=null"> |
| | | , t.end_date = #{endDate} |
| | | </if> |
| | | <if test="paymentTarget !=null and paymentTarget != ''"> |
| | | , t.payment_target = #{paymentTarget} |
| | | </if> |
| | | <if test="specificAnnouncementStatus !=null and specificAnnouncementStatus != ''"> |
| | | , t.specific_announcement_status = #{specificAnnouncementStatus} |
| | | </if> |
| | | <if test="managementFeeRatio !=null"> |
| | | , t.management_fee_ratio = #{managementFeeRatio} |
| | | </if> |
| | | <if test="firstPlannedPaymentAmount !=null"> |
| | | , t.first_planned_payment_amount = #{firstPlannedPaymentAmount} |
| | | </if> |
| | | <if test="plannedPaymentDate !=null"> |
| | | , t.planned_payment_date = #{plannedPaymentDate} |
| | | </if> |
| | | <if test="category !=null and category != ''"> |
| | | , t.category = #{category} |
| | | </if> |
| | | <if test="reimburser !=null and reimburser != ''"> |
| | | , t.reimburser = #{reimburser} |
| | | </if> |
| | | <if test="actualPaymentAmount !=null"> |
| | | , t.actual_payment_amount = #{actualPaymentAmount} |
| | | </if> |
| | | <if test="actualPaymentDate !=null"> |
| | | , t.actual_payment_date = #{actualPaymentDate} |
| | | </if> |
| | | <if test="payableAmountD !=null"> |
| | | , t.payable_amount_d = #{payableAmountD} |
| | | </if> |
| | | <if test="advancedPayment !=null"> |
| | | , t.advanced_payment = #{advancedPayment} |
| | | </if> |
| | | |
| | | where 1=1 |
| | | <if test="id !=null"> |
| | |
| | | </if> |
| | | </update> |
| | | |
| | | <!-- 查询费用导入明细数量 add by wuxw 2018-07-03 --> |
| | | <!-- 查询费用导入明细数量 --> |
| | | <select id="queryImportFeeDetailsCount" parameterType="Map" resultType="Map"> |
| | | select count(1) count |
| | | from maintenance_payment t |
| | | where 1 =1 |
| | | where 1 = 1 |
| | | <if test="auxiliaryColumn !=null and auxiliaryColumn != ''"> |
| | | and t.auxiliary_column = #{auxiliaryColumn} |
| | | </if> |
| | |
| | | <if test="id !=null"> |
| | | and t.id = #{id} |
| | | </if> |
| | | |
| | | <if test="paymentTarget !=null and paymentTarget != ''"> |
| | | and t.payment_target = #{paymentTarget} |
| | | </if> |
| | | <if test="specificAnnouncementStatus !=null and specificAnnouncementStatus != ''"> |
| | | and t.specific_announcement_status = #{specificAnnouncementStatus} |
| | | </if> |
| | | <if test="category !=null and category != ''"> |
| | | and t.category = #{category} |
| | | </if> |
| | | <if test="reimburser !=null and reimburser != ''"> |
| | | and t.reimburser like concat('%', #{reimburser}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- 批量插入费用 --> |
| | |
| | | quota, owners_committee_resolution, owners_committee_consultation, |
| | | withdrawal_encountered_problem, shortage_or_arrears, road_name, lane, |
| | | `door`, room, door_room_number, owner_address, start_date, end_date, |
| | | payee_name, id_card_number, bank_name, bank_account, remarks, acceptance_date, audit_date |
| | | payee_name, id_card_number, bank_name, bank_account, remarks, acceptance_date, audit_date, |
| | | id, payment_target, payable_amount_d, advanced_payment, specific_announcement_status, |
| | | management_fee_ratio, first_planned_payment_amount, planned_payment_date, category, |
| | | reimburser, actual_payment_amount, actual_payment_date |
| | | ) values |
| | | <foreach collection="importFeeDetailPos" item="item" separator=","> |
| | | ( #{item.auxiliaryColumn}, #{item.flowNumber}, #{item.serialNumber}, #{item.projectCode}, #{item.projectName}, |
| | |
| | | #{item.withdrawalEncounteredProblem}, |
| | | <if test="item.shortageOrArrears == null">0</if><if test="item.shortageOrArrears != null">#{item.shortageOrArrears}</if>, |
| | | #{item.roadName}, #{item.lane}, #{item.door}, #{item.room}, #{item.doorRoomNumber}, #{item.ownerAddress}, #{item.startDate}, #{item.endDate}, |
| | | #{item.payeeName}, #{item.idCardNumber}, #{item.bankName}, #{item.bankAccount}, #{item.remarks}, #{item.acceptanceDate}, #{item.auditDate}) |
| | | #{item.payeeName}, #{item.idCardNumber}, #{item.bankName}, #{item.bankAccount}, #{item.remarks}, #{item.acceptanceDate}, #{item.auditDate}, |
| | | #{item.id}, #{item.paymentTarget}, #{item.payableAmountD}, #{item.advancedPayment}, #{item.specificAnnouncementStatus}, |
| | | <if test="item.managementFeeRatio == null">0</if><if test="item.managementFeeRatio != null">#{item.managementFeeRatio}</if>, |
| | | <if test="item.firstPlannedPaymentAmount == null">0</if><if test="item.firstPlannedPaymentAmount != null">#{item.firstPlannedPaymentAmount}</if>, |
| | | #{item.plannedPaymentDate}, #{item.category}, #{item.reimburser}, |
| | | <if test="item.actualPaymentAmount == null">0</if><if test="item.actualPaymentAmount != null">#{item.actualPaymentAmount}</if>, |
| | | #{item.actualPaymentDate}) |
| | | </foreach> |
| | | </insert> |
| | | |
| | |
| | | <!-- 保存水电费信息 add by wuxw 2018-07-03 --> |
| | | <insert id="saveBusinessMeterWaterInfo" parameterType="Map"> |
| | | insert into business_meter_water( |
| | | remark,cur_reading_time,water_id,cur_degrees,operate,meter_type,pre_degrees,obj_id,pre_reading_time, |
| | | b_id,community_id,obj_type,fee_id,obj_name,price, |
| | | power_supply_bureau,household_name,household_number,electric_meter_id,`handler`,is_transferred, |
| | | company_name_after_transfer,transfer_date,corresponding_household_count,last_payment_date,reading_type, |
| | | multiplying_factor,unit_price,invoice_amount,amount_difference,auto_deduction,remark2 |
| | | remark,cur_reading_time,water_id,cur_degrees,operate,meter_type,pre_degrees,obj_id,pre_reading_time, |
| | | b_id,community_id,obj_type,fee_id,obj_name,price, |
| | | power_supply_bureau,household_name,household_number,electric_meter_id,`handler`,is_transferred, |
| | | company_name_after_transfer,transfer_date,corresponding_household_count,last_payment_date,reading_type, |
| | | multiplying_factor,unit_price,invoice_amount,amount_difference,auto_deduction,remark2 |
| | | ) values ( |
| | | #{remark},#{curReadingTime},#{waterId},#{curDegrees},#{operate},#{meterType},#{preDegrees},#{objId}, |
| | | #{preReadingTime},#{bId},#{communityId},#{objType},#{feeId},#{objName},#{price}, |
| | | #{powerSupplyBureau},#{householdName},#{householdNumber},#{electricMeterId},#{handler},#{isTransferred}, |
| | | #{companyNameAfterTransfer},#{transferDate},#{correspondingHouseholdCount},#{lastPaymentDate},#{readingType}, |
| | | #{multiplyingFactor},#{unitPrice},#{invoiceAmount},#{amountDifference},#{autoDeduction},#{remark2} |
| | | ) |
| | | #{remark},#{curReadingTime},#{waterId},#{curDegrees},#{operate},#{meterType},#{preDegrees},#{objId}, |
| | | #{preReadingTime},#{bId},#{communityId},#{objType},#{feeId},#{objName},#{price}, |
| | | #{powerSupplyBureau},#{householdName},#{householdNumber},#{electricMeterId},#{handler},#{isTransferred}, |
| | | #{companyNameAfterTransfer},#{transferDate},#{correspondingHouseholdCount},#{lastPaymentDate},#{readingType}, |
| | | #{multiplyingFactor},#{unitPrice},#{invoiceAmount},#{amountDifference},#{autoDeduction},#{remark2} |
| | | ) |
| | | </insert> |
| | | |
| | | |
| | |
| | | multiplying_factor,unit_price,invoice_amount,amount_difference,auto_deduction,remark2, |
| | | address,write_time,writer,check_apply_company_name,check_apply_dept_project,water_fee_payer, |
| | | account_number,meter_read_book_no,water_consumption,sewage_treatment_water,collection_standard, |
| | | arrears_unpaid,late_payment_fine,late_payment_surcharge,fee_payment_status,carry_over_balance,total_payable_amount |
| | | arrears_unpaid,late_payment_fine,late_payment_surcharge,fee_payment_status,carry_over_balance,total_payable_amount, |
| | | road_name,floor_num,door_num,room_num |
| | | ) select |
| | | t.water_id,t.b_id,t.meter_type,t.obj_type,t.obj_id,t.pre_degrees,t.cur_degrees,t.pre_reading_time,t.cur_reading_time, |
| | | t.community_id,'0',t.remark,t.fee_id,t.obj_name,t.price, |
| | |
| | | t.multiplying_factor,t.unit_price,t.invoice_amount,t.amount_difference,t.auto_deduction,t.remark2, |
| | | #{address},#{writeTime},#{writer},#{checkApplyCompanyName},#{checkApplyDeptProject},#{waterFeePayer}, |
| | | #{accountNumber},#{meterReadBookNo},#{waterConsumption},#{sewageTreatmentWater},#{collectionStandard}, |
| | | #{arrearsUnpaid},#{latePaymentFine},#{latePaymentSurcharge},#{feePaymentStatus},#{carryOverBalance},#{totalPayableAmount} |
| | | #{arrearsUnpaid},#{latePaymentFine},#{latePaymentSurcharge},#{feePaymentStatus},#{carryOverBalance},#{totalPayableAmount}, |
| | | SUBSTRING_INDEX(t.obj_name,'-',1), |
| | | SUBSTRING_INDEX(SUBSTRING_INDEX(t.obj_name,'-',2),'-',-1), |
| | | SUBSTRING_INDEX(SUBSTRING_INDEX(t.obj_name,'-',3),'-',-1), |
| | | SUBSTRING_INDEX(t.obj_name,'-',-1) |
| | | from business_meter_water t where 1=1 |
| | | <if test="remark !=null and remark != ''"> |
| | | and t.remark= #{remark} |
| | |
| | | t.fee_payment_status feePaymentStatus, |
| | | t.carry_over_balance carryOverBalance, |
| | | t.total_payable_amount totalPayableAmount, |
| | | t.road_name roadName, |
| | | t.floor_num floorNum, |
| | | t.door_num doorNum, |
| | | t.room_num roomNum, |
| | | mt.type_name meterTypeName, |
| | | br.road_name roadName |
| | | br.road_name roadNameOld |
| | | from meter_water t |
| | | left join meter_type mt on t.meter_type = mt.type_id and mt.status_cd = '0' |
| | | left join pay_fee pf on t.fee_id = pf.fee_id and pf.status_cd = '0' |
| | |
| | | <if test="totalPayableAmount !=null and totalPayableAmount != ''"> |
| | | and t.total_payable_amount= #{totalPayableAmount} |
| | | </if> |
| | | <if test="roadName !=null and roadName != ''"> |
| | | and t.road_name= #{roadName} |
| | | </if> |
| | | <if test="floorNum !=null and floorNum != ''"> |
| | | and t.floor_num= #{floorNum} |
| | | </if> |
| | | <if test="doorNum !=null and doorNum != ''"> |
| | | and t.door_num= #{doorNum} |
| | | </if> |
| | | <if test="roomNum !=null and roomNum != ''"> |
| | | and t.room_num= #{roomNum} |
| | | </if> |
| | | order by t.create_time desc,t.obj_name asc |
| | | <if test="page != -1 and page != null "> |
| | | limit #{page}, #{row} |
| | |
| | | update meter_water t set |
| | | t.status_cd = #{statusCd}, |
| | | <if test="newBId != null and newBId != ''"> |
| | | ,t.b_id = #{newBId} |
| | | t.b_id = #{newBId}, |
| | | </if> |
| | | <if test="waterId !=null and waterId != ''"> |
| | | ,t.water_id = #{waterId} |
| | | t.water_id = #{waterId}, |
| | | </if> |
| | | <if test="meterType !=null and meterType != ''"> |
| | | , t.meter_type= #{meterType} |
| | | t.meter_type= #{meterType}, |
| | | </if> |
| | | <if test="objType !=null and objType != ''"> |
| | | , t.obj_type= #{objType} |
| | | t.obj_type= #{objType}, |
| | | </if> |
| | | <if test="objId !=null and objId != ''"> |
| | | , t.obj_id= #{objId} |
| | | t.obj_id= #{objId}, |
| | | </if> |
| | | <if test="preDegrees !=null and preDegrees != ''"> |
| | | , t.pre_degrees= #{preDegrees} |
| | | t.pre_degrees= #{preDegrees}, |
| | | </if> |
| | | <if test="curDegrees !=null and curDegrees != ''"> |
| | | , t.cur_degrees= #{curDegrees} |
| | | t.cur_degrees= #{curDegrees}, |
| | | </if> |
| | | <if test="preReadingTime !=null "> |
| | | , t.pre_reading_time= #{preReadingTime} |
| | | t.pre_reading_time= #{preReadingTime}, |
| | | </if> |
| | | <if test="curReadingTime !=null "> |
| | | , t.cur_reading_time= #{curReadingTime} |
| | | t.cur_reading_time= #{curReadingTime}, |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | , t.community_id= #{communityId} |
| | | t.community_id= #{communityId}, |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | , t.remark= #{remark} |
| | | t.remark= #{remark}, |
| | | </if> |
| | | <if test="feeId !=null and feeId != ''"> |
| | | , t.fee_id= #{feeId} |
| | | t.fee_id= #{feeId}, |
| | | </if> |
| | | <if test="objName !=null and objName != ''"> |
| | | , t.obj_name= #{objName} |
| | | t.obj_name= #{objName}, |
| | | </if> |
| | | <if test="price !=null and price != ''"> |
| | | , t.price= #{price} |
| | | t.price= #{price}, |
| | | </if> |
| | | <!-- 新增字段更新逻辑 --> |
| | | <if test="powerSupplyBureau !=null and powerSupplyBureau != ''"> |
| | | , t.power_supply_bureau= #{powerSupplyBureau} |
| | | t.power_supply_bureau= #{powerSupplyBureau}, |
| | | </if> |
| | | <if test="householdName !=null and householdName != ''"> |
| | | , t.household_name= #{householdName} |
| | | t.household_name= #{householdName}, |
| | | </if> |
| | | <if test="householdNumber !=null and householdNumber != ''"> |
| | | , t.household_number= #{householdNumber} |
| | | t.household_number= #{householdNumber}, |
| | | </if> |
| | | <if test="electricMeterId !=null and electricMeterId != ''"> |
| | | , t.electric_meter_id= #{electricMeterId} |
| | | t.electric_meter_id= #{electricMeterId}, |
| | | </if> |
| | | <if test="handler !=null and handler != ''"> |
| | | , t.`handler`= #{handler} |
| | | t.`handler`= #{handler}, |
| | | </if> |
| | | <if test="isTransferred !=null and isTransferred != ''"> |
| | | , t.is_transferred= #{isTransferred} |
| | | t.is_transferred= #{isTransferred}, |
| | | </if> |
| | | <if test="companyNameAfterTransfer !=null and companyNameAfterTransfer != ''"> |
| | | , t.company_name_after_transfer= #{companyNameAfterTransfer} |
| | | t.company_name_after_transfer= #{companyNameAfterTransfer}, |
| | | </if> |
| | | <if test="transferDate !=null and transferDate != ''"> |
| | | , t.transfer_date= #{transferDate} |
| | | t.transfer_date= #{transferDate}, |
| | | </if> |
| | | <if test="correspondingHouseholdCount !=null and correspondingHouseholdCount != ''"> |
| | | , t.corresponding_household_count= #{correspondingHouseholdCount} |
| | | t.corresponding_household_count= #{correspondingHouseholdCount}, |
| | | </if> |
| | | <if test="lastPaymentDate !=null and lastPaymentDate != ''"> |
| | | , t.last_payment_date= #{lastPaymentDate} |
| | | t.last_payment_date= #{lastPaymentDate}, |
| | | </if> |
| | | <if test="readingType !=null and readingType != ''"> |
| | | , t.reading_type= #{readingType} |
| | | t.reading_type= #{readingType}, |
| | | </if> |
| | | <if test="multiplyingFactor !=null and multiplyingFactor != ''"> |
| | | , t.multiplying_factor= #{multiplyingFactor} |
| | | t.multiplying_factor= #{multiplyingFactor}, |
| | | </if> |
| | | <if test="unitPrice !=null and unitPrice != ''"> |
| | | , t.unit_price= #{unitPrice} |
| | | t.unit_price= #{unitPrice}, |
| | | </if> |
| | | <if test="invoiceAmount !=null and invoiceAmount != ''"> |
| | | , t.invoice_amount= #{invoiceAmount} |
| | | t.invoice_amount= #{invoiceAmount}, |
| | | </if> |
| | | <if test="amountDifference !=null and amountDifference != ''"> |
| | | , t.amount_difference= #{amountDifference} |
| | | t.amount_difference= #{amountDifference}, |
| | | </if> |
| | | <if test="autoDeduction !=null and autoDeduction != ''"> |
| | | , t.auto_deduction= #{autoDeduction} |
| | | t.auto_deduction= #{autoDeduction}, |
| | | </if> |
| | | <if test="remark2 !=null and remark2 != ''"> |
| | | , t.remark2= #{remark2} |
| | | t.remark2= #{remark2}, |
| | | </if> |
| | | <if test="address !=null and address != ''"> |
| | | , t.address= #{address} |
| | | t.address= #{address}, |
| | | </if> |
| | | <if test="writeTime !=null and writeTime != ''"> |
| | | , t.write_time= #{writeTime} |
| | | t.write_time= #{writeTime}, |
| | | </if> |
| | | <if test="writer !=null and writer != ''"> |
| | | , t.writer= #{writer} |
| | | t.writer= #{writer}, |
| | | </if> |
| | | <!-- 新增水费相关字段更新逻辑 --> |
| | | <if test="checkApplyCompanyName !=null and checkApplyCompanyName != ''"> |
| | | , t.check_apply_company_name= #{checkApplyCompanyName} |
| | | t.check_apply_company_name= #{checkApplyCompanyName}, |
| | | </if> |
| | | <if test="checkApplyDeptProject !=null and checkApplyDeptProject != ''"> |
| | | , t.check_apply_dept_project= #{checkApplyDeptProject} |
| | | t.check_apply_dept_project= #{checkApplyDeptProject}, |
| | | </if> |
| | | <if test="waterFeePayer !=null and waterFeePayer != ''"> |
| | | , t.water_fee_payer= #{waterFeePayer} |
| | | t.water_fee_payer= #{waterFeePayer}, |
| | | </if> |
| | | <if test="accountNumber !=null and accountNumber != ''"> |
| | | , t.account_number= #{accountNumber} |
| | | t.account_number= #{accountNumber}, |
| | | </if> |
| | | <if test="meterReadBookNo !=null and meterReadBookNo != ''"> |
| | | , t.meter_read_book_no= #{meterReadBookNo} |
| | | t.meter_read_book_no= #{meterReadBookNo}, |
| | | </if> |
| | | <if test="waterConsumption !=null and waterConsumption != ''"> |
| | | , t.water_consumption= #{waterConsumption} |
| | | t.water_consumption= #{waterConsumption}, |
| | | </if> |
| | | <if test="sewageTreatmentWater !=null and sewageTreatmentWater != ''"> |
| | | , t.sewage_treatment_water= #{sewageTreatmentWater} |
| | | t.sewage_treatment_water= #{sewageTreatmentWater}, |
| | | </if> |
| | | <if test="collectionStandard !=null and collectionStandard != ''"> |
| | | , t.collection_standard= #{collectionStandard} |
| | | t.collection_standard= #{collectionStandard}, |
| | | </if> |
| | | <if test="arrearsUnpaid !=null and arrearsUnpaid != ''"> |
| | | , t.arrears_unpaid= #{arrearsUnpaid} |
| | | t.arrears_unpaid= #{arrearsUnpaid}, |
| | | </if> |
| | | <if test="latePaymentFine !=null and latePaymentFine != ''"> |
| | | , t.late_payment_fine= #{latePaymentFine} |
| | | t.late_payment_fine= #{latePaymentFine}, |
| | | </if> |
| | | <if test="latePaymentSurcharge !=null and latePaymentSurcharge != ''"> |
| | | , t.late_payment_surcharge= #{latePaymentSurcharge} |
| | | t.late_payment_surcharge= #{latePaymentSurcharge}, |
| | | </if> |
| | | <if test="feePaymentStatus !=null and feePaymentStatus != ''"> |
| | | , t.fee_payment_status= #{feePaymentStatus} |
| | | t.fee_payment_status= #{feePaymentStatus}, |
| | | </if> |
| | | <if test="carryOverBalance !=null and carryOverBalance != ''"> |
| | | , t.carry_over_balance= #{carryOverBalance} |
| | | t.carry_over_balance= #{carryOverBalance}, |
| | | </if> |
| | | <if test="totalPayableAmount !=null and totalPayableAmount != ''"> |
| | | , t.total_payable_amount= #{totalPayableAmount} |
| | | t.total_payable_amount= #{totalPayableAmount}, |
| | | </if> |
| | | <if test="roadName !=null and roadName != ''"> |
| | | t.road_name= #{roadName}, |
| | | </if> |
| | | <if test="floorNum !=null and floorNum != ''"> |
| | | t.floor_num= #{floorNum}, |
| | | </if> |
| | | <if test="doorNum !=null and doorNum != ''"> |
| | | t.door_num= #{doorNum}, |
| | | </if> |
| | | <if test="roomNum !=null and roomNum != ''"> |
| | | t.room_num= #{roomNum}, |
| | | </if> |
| | | 1=1 |
| | | where 1=1 |
| | | <if test="waterId !=null and waterId != ''"> |
| | | and t.water_id= #{waterId} |
| | |
| | | <if test="totalPayableAmount !=null and totalPayableAmount != ''"> |
| | | and t.total_payable_amount= #{totalPayableAmount} |
| | | </if> |
| | | <if test="roadName !=null and roadName != ''"> |
| | | and t.road_name= #{roadName} |
| | | </if> |
| | | <if test="floorNum !=null and floorNum != ''"> |
| | | and t.floor_num= #{floorNum} |
| | | </if> |
| | | <if test="doorNum !=null and doorNum != ''"> |
| | | and t.door_num= #{doorNum} |
| | | </if> |
| | | <if test="roomNum !=null and roomNum != ''"> |
| | | and t.room_num= #{roomNum} |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | |
| | | multiplying_factor,unit_price,invoice_amount,amount_difference,auto_deduction,remark2, |
| | | address,write_time,writer,check_apply_company_name,check_apply_dept_project,water_fee_payer, |
| | | account_number,meter_read_book_no,water_consumption,sewage_treatment_water,collection_standard, |
| | | arrears_unpaid,late_payment_fine,late_payment_surcharge,fee_payment_status,carry_over_balance,total_payable_amount) |
| | | arrears_unpaid,late_payment_fine,late_payment_surcharge,fee_payment_status,carry_over_balance,total_payable_amount, |
| | | road_name,floor_num,door_num,room_num) |
| | | VALUES |
| | | <foreach collection="meterWaterPos" item="item" separator=","> |
| | | (#{item.waterId},#{item.bId},#{item.meterType},#{item.objType},#{item.objId},#{item.preDegrees},#{item.curDegrees}, |
| | |
| | | #{item.multiplyingFactor},#{item.unitPrice},#{item.invoiceAmount},#{item.amountDifference},#{item.autoDeduction},#{item.remark2}, |
| | | #{item.address},#{item.writeTime},#{item.writer},#{item.checkApplyCompanyName},#{item.checkApplyDeptProject},#{item.waterFeePayer}, |
| | | #{item.accountNumber},#{item.meterReadBookNo},#{item.waterConsumption},#{item.sewageTreatmentWater},#{item.collectionStandard}, |
| | | #{item.arrearsUnpaid},#{item.latePaymentFine},#{item.latePaymentSurcharge},#{item.feePaymentStatus},#{item.carryOverBalance},#{item.totalPayableAmount}) |
| | | #{item.arrearsUnpaid},#{item.latePaymentFine},#{item.latePaymentSurcharge},#{item.feePaymentStatus},#{item.carryOverBalance},#{item.totalPayableAmount}, |
| | | #{item.roadName},#{item.floorNum},#{item.doorNum},#{item.roomNum}) |
| | | </foreach> |
| | | </insert> |
| | | |
| | |
| | | |
| | | <!-- 保存水电抄表信息 add by wuxw 2018-07-03 --> |
| | | <insert id="saveMeterWaterInfo" parameterType="Map"> |
| | | insert into meter_water(remark, obj_name, fee_id, cur_reading_time, water_id, cur_degrees, price, meter_type, |
| | | pre_degrees, obj_id, pre_reading_time, community_id, obj_type, b_id, |
| | | power_supply_bureau, household_name, household_number, electric_meter_id, handler, |
| | | is_transferred, company_name_after_transfer, transfer_date, corresponding_household_count, |
| | | last_payment_date, reading_type, multiplying_factor, unit_price, invoice_amount, |
| | | amount_difference, auto_deduction, remark2, address, write_time, writer, |
| | | check_apply_company_name, check_apply_dept_project, water_fee_payer, account_number, |
| | | meter_read_book_no, water_consumption, sewage_treatment_water, collection_standard, |
| | | arrears_unpaid, late_payment_fine, late_payment_surcharge, fee_payment_status, |
| | | carry_over_balance, total_payable_amount) |
| | | values (#{remark}, #{objName}, #{feeId}, #{curReadingTime}, #{waterId}, #{curDegrees}, #{price}, #{meterType}, |
| | | #{preDegrees}, #{objId}, #{preReadingTime}, #{communityId}, #{objType}, #{bId}, |
| | | #{powerSupplyBureau}, #{householdName}, #{householdNumber}, #{electricMeterId}, #{handler}, |
| | | #{isTransferred}, #{companyNameAfterTransfer}, #{transferDate}, #{correspondingHouseholdCount}, |
| | | #{lastPaymentDate}, #{readingType}, #{multiplyingFactor}, #{unitPrice}, #{invoiceAmount}, |
| | | #{amountDifference}, #{autoDeduction}, #{remark2}, #{address}, #{writeTime}, #{writer}, |
| | | #{checkApplyCompanyName}, #{checkApplyDeptProject}, #{waterFeePayer}, #{accountNumber}, |
| | | #{meterReadBookNo}, #{waterConsumption}, #{sewageTreatmentWater}, #{collectionStandard}, |
| | | #{arrearsUnpaid}, #{latePaymentFine}, #{latePaymentSurcharge}, #{feePaymentStatus}, |
| | | #{carryOverBalance}, #{totalPayableAmount}) |
| | | insert into meter_water( |
| | | water_id, b_id, meter_type, obj_type, obj_id, pre_degrees, cur_degrees, |
| | | pre_reading_time, cur_reading_time, community_id, create_time, status_cd, |
| | | remark, fee_id, obj_name, price, power_supply_bureau, household_name, |
| | | household_number, electric_meter_id, handler, is_transferred, |
| | | company_name_after_transfer, transfer_date, corresponding_household_count, |
| | | last_payment_date, reading_type, multiplying_factor, unit_price, invoice_amount, |
| | | amount_difference, auto_deduction, remark2, address, write_time, writer, |
| | | check_apply_company_name, check_apply_dept_project, water_fee_payer, account_number, |
| | | meter_read_book_no, water_consumption, sewage_treatment_water, collection_standard, |
| | | arrears_unpaid, late_payment_fine, late_payment_surcharge, fee_payment_status, |
| | | carry_over_balance, total_payable_amount |
| | | ) values ( |
| | | #{waterId}, #{bId}, #{meterType}, #{objType}, #{objId}, #{preDegrees}, #{curDegrees}, |
| | | #{preReadingTime}, #{curReadingTime}, #{communityId}, #{createTime}, #{statusCd}, |
| | | #{remark}, #{feeId}, #{objName}, #{price}, #{powerSupplyBureau}, #{householdName}, |
| | | #{householdNumber}, #{electricMeterId}, #{handler}, #{isTransferred}, |
| | | #{companyNameAfterTransfer}, #{transferDate}, #{correspondingHouseholdCount}, |
| | | #{lastPaymentDate}, #{readingType}, #{multiplyingFactor}, #{unitPrice}, #{invoiceAmount}, |
| | | #{amountDifference}, #{autoDeduction}, #{remark2}, #{address}, #{writeTime}, #{writer}, |
| | | #{checkApplyCompanyName}, #{checkApplyDeptProject}, #{waterFeePayer}, #{accountNumber}, |
| | | #{meterReadBookNo}, #{waterConsumption}, #{sewageTreatmentWater}, #{collectionStandard}, |
| | | #{arrearsUnpaid}, #{latePaymentFine}, #{latePaymentSurcharge}, #{feePaymentStatus}, |
| | | #{carryOverBalance}, #{totalPayableAmount} |
| | | ) |
| | | </insert> |
| | | |
| | | <!-- 查询水电抄表信息 add by wuxw 2018-07-03 --> |
| | | <select id="getMeterWaterInfo" parameterType="Map" resultType="Map"> |
| | | select t.status_cd,t.status_cd statusCd,t.remark,t.obj_name,t.obj_name objName,t.fee_id,t.fee_id feeId, |
| | | t.cur_reading_time,t.cur_reading_time curReadingTime,t.water_id,t.water_id waterId, |
| | | t.cur_degrees,t.cur_degrees curDegrees,t.price,t.meter_type,t.meter_type meterType, |
| | | t.pre_degrees,t.pre_degrees preDegrees,t.obj_id,t.obj_id objId,t.pre_reading_time, |
| | | t.pre_reading_time preReadingTime,t.community_id,t.community_id communityId,t.obj_type, |
| | | select |
| | | t.water_id waterId, |
| | | t.b_id bId, |
| | | t.meter_type meterType, |
| | | t.obj_type objType, |
| | | t.obj_id objId, |
| | | t.pre_degrees preDegrees, |
| | | t.cur_degrees curDegrees, |
| | | t.pre_reading_time preReadingTime, |
| | | t.cur_reading_time curReadingTime, |
| | | t.community_id communityId, |
| | | t.create_time createTime, |
| | | t.status_cd statusCd, |
| | | t.remark remark, |
| | | t.fee_id feeId, |
| | | t.obj_name objName, |
| | | t.price price, |
| | | t.power_supply_bureau powerSupplyBureau, |
| | | t.household_name householdName, |
| | | t.household_number householdNumber, |
| | |
| | | t.total_payable_amount totalPayableAmount |
| | | from meter_water t |
| | | where 1 =1 |
| | | <if test="waterId !=null and waterId != ''"> |
| | | and t.water_id= #{waterId} |
| | | </if> |
| | | <if test="bId !=null and bId != ''"> |
| | | and t.b_id= #{bId} |
| | | </if> |
| | | <if test="meterType !=null and meterType != ''"> |
| | | and t.meter_type= #{meterType} |
| | | </if> |
| | | <if test="objType !=null and objType != ''"> |
| | | and t.obj_type= #{objType} |
| | | </if> |
| | | <if test="objId !=null and objId != ''"> |
| | | and t.obj_id= #{objId} |
| | | </if> |
| | | <if test="preDegrees !=null and preDegrees != ''"> |
| | | and t.pre_degrees= #{preDegrees} |
| | | </if> |
| | | <if test="curDegrees !=null and curDegrees != ''"> |
| | | and t.cur_degrees= #{curDegrees} |
| | | </if> |
| | | <if test="preReadingTime !=null "> |
| | | and t.pre_reading_time= #{preReadingTime} |
| | | </if> |
| | | <if test="curReadingTime !=null "> |
| | | and t.cur_reading_time= #{curReadingTime} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | and t.community_id= #{communityId} |
| | | </if> |
| | | <if test="createTime !=null "> |
| | | and t.create_time= #{createTime} |
| | | </if> |
| | | <if test="statusCd !=null and statusCd != ''"> |
| | | and t.status_cd= #{statusCd} |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | and t.remark= #{remark} |
| | | </if> |
| | | <if test="objName !=null and objName != ''"> |
| | | and t.obj_name= #{objName} |
| | | </if> |
| | | <if test="feeId !=null and feeId != ''"> |
| | | and t.fee_id= #{feeId} |
| | | </if> |
| | | <if test="curReadingTime !=null and curReadingTime != ''"> |
| | | and t.cur_reading_time= #{curReadingTime} |
| | | </if> |
| | | <if test="waterId !=null and waterId != ''"> |
| | | and t.water_id= #{waterId} |
| | | </if> |
| | | <if test="curDegrees !=null and curDegrees != ''"> |
| | | and t.cur_degrees= #{curDegrees} |
| | | <if test="objName !=null and objName != ''"> |
| | | and t.obj_name= #{objName} |
| | | </if> |
| | | <if test="price !=null and price != ''"> |
| | | and t.price= #{price} |
| | | </if> |
| | | <if test="meterType !=null and meterType != ''"> |
| | | and t.meter_type= #{meterType} |
| | | </if> |
| | | <if test="preDegrees !=null and preDegrees != ''"> |
| | | and t.pre_degrees= #{preDegrees} |
| | | </if> |
| | | <if test="objId !=null and objId != ''"> |
| | | and t.obj_id= #{objId} |
| | | </if> |
| | | <if test="preReadingTime !=null and preReadingTime != ''"> |
| | | and t.pre_reading_time= #{preReadingTime} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | and t.community_id= #{communityId} |
| | | </if> |
| | | <if test="objType !=null and objType != ''"> |
| | | and t.obj_type= #{objType} |
| | | </if> |
| | | <!-- 新字段查询条件 --> |
| | | <if test="powerSupplyBureau !=null and powerSupplyBureau != ''"> |
| | | and t.power_supply_bureau= #{powerSupplyBureau} |
| | | </if> |
| | |
| | | <if test="companyNameAfterTransfer !=null and companyNameAfterTransfer != ''"> |
| | | and t.company_name_after_transfer= #{companyNameAfterTransfer} |
| | | </if> |
| | | <if test="transferDate !=null and transferDate != ''"> |
| | | <if test="transferDate !=null "> |
| | | and t.transfer_date= #{transferDate} |
| | | </if> |
| | | <if test="correspondingHouseholdCount !=null and correspondingHouseholdCount != ''"> |
| | | and t.corresponding_household_count= #{correspondingHouseholdCount} |
| | | </if> |
| | | <if test="lastPaymentDate !=null and lastPaymentDate != ''"> |
| | | <if test="lastPaymentDate !=null "> |
| | | and t.last_payment_date= #{lastPaymentDate} |
| | | </if> |
| | | <if test="readingType !=null and readingType != ''"> |
| | |
| | | <if test="address !=null and address != ''"> |
| | | and t.address= #{address} |
| | | </if> |
| | | <if test="writeTime !=null and writeTime != ''"> |
| | | <if test="writeTime !=null "> |
| | | and t.write_time= #{writeTime} |
| | | </if> |
| | | <if test="writer !=null and writer != ''"> |
| | |
| | | |
| | | <!-- 修改水电抄表信息 add by wuxw 2018-07-03 --> |
| | | <update id="updateMeterWaterInfo" parameterType="Map"> |
| | | update meter_water t set t.status_cd = #{statusCd} |
| | | <if test="newBId != null and newBId != ''"> |
| | | ,t.b_id = #{newBId} |
| | | update meter_water t set |
| | | <if test="waterId !=null and waterId != ''"> |
| | | t.water_id = #{waterId}, |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | , t.remark= #{remark} |
| | | </if> |
| | | <if test="objName !=null and objName != ''"> |
| | | , t.obj_name= #{objName} |
| | | </if> |
| | | <if test="feeId !=null and feeId != ''"> |
| | | , t.fee_id= #{feeId} |
| | | </if> |
| | | <if test="curReadingTime !=null and curReadingTime != ''"> |
| | | , t.cur_reading_time= #{curReadingTime} |
| | | </if> |
| | | <if test="curDegrees !=null and curDegrees != ''"> |
| | | , t.cur_degrees= #{curDegrees} |
| | | </if> |
| | | <if test="price !=null and price != ''"> |
| | | , t.price= #{price} |
| | | <if test="bId !=null and bId != ''"> |
| | | t.b_id = #{bId}, |
| | | </if> |
| | | <if test="meterType !=null and meterType != ''"> |
| | | , t.meter_type= #{meterType} |
| | | </if> |
| | | <if test="preDegrees !=null and preDegrees != ''"> |
| | | , t.pre_degrees= #{preDegrees} |
| | | </if> |
| | | <if test="objId !=null and objId != ''"> |
| | | , t.obj_id= #{objId} |
| | | </if> |
| | | <if test="preReadingTime !=null and preReadingTime != ''"> |
| | | , t.pre_reading_time= #{preReadingTime} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | , t.community_id= #{communityId} |
| | | t.meter_type = #{meterType}, |
| | | </if> |
| | | <if test="objType !=null and objType != ''"> |
| | | , t.obj_type= #{objType} |
| | | t.obj_type = #{objType}, |
| | | </if> |
| | | <!-- 新字段修改逻辑 --> |
| | | <if test="objId !=null and objId != ''"> |
| | | t.obj_id = #{objId}, |
| | | </if> |
| | | <if test="preDegrees !=null and preDegrees != ''"> |
| | | t.pre_degrees = #{preDegrees}, |
| | | </if> |
| | | <if test="curDegrees !=null and curDegrees != ''"> |
| | | t.cur_degrees = #{curDegrees}, |
| | | </if> |
| | | <if test="preReadingTime !=null "> |
| | | t.pre_reading_time = #{preReadingTime}, |
| | | </if> |
| | | <if test="curReadingTime !=null "> |
| | | t.cur_reading_time = #{curReadingTime}, |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | t.community_id = #{communityId}, |
| | | </if> |
| | | <if test="createTime !=null "> |
| | | t.create_time = #{createTime}, |
| | | </if> |
| | | <if test="statusCd !=null and statusCd != ''"> |
| | | t.status_cd = #{statusCd}, |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | t.remark = #{remark}, |
| | | </if> |
| | | <if test="feeId !=null and feeId != ''"> |
| | | t.fee_id = #{feeId}, |
| | | </if> |
| | | <if test="objName !=null and objName != ''"> |
| | | t.obj_name = #{objName}, |
| | | </if> |
| | | <if test="price !=null and price != ''"> |
| | | t.price = #{price}, |
| | | </if> |
| | | <if test="powerSupplyBureau !=null and powerSupplyBureau != ''"> |
| | | , t.power_supply_bureau= #{powerSupplyBureau} |
| | | t.power_supply_bureau = #{powerSupplyBureau}, |
| | | </if> |
| | | <if test="householdName !=null and householdName != ''"> |
| | | , t.household_name= #{householdName} |
| | | t.household_name = #{householdName}, |
| | | </if> |
| | | <if test="householdNumber !=null and householdNumber != ''"> |
| | | , t.household_number= #{householdNumber} |
| | | t.household_number = #{householdNumber}, |
| | | </if> |
| | | <if test="electricMeterId !=null and electricMeterId != ''"> |
| | | , t.electric_meter_id= #{electricMeterId} |
| | | t.electric_meter_id = #{electricMeterId}, |
| | | </if> |
| | | <if test="handler !=null and handler != ''"> |
| | | , t.handler= #{handler} |
| | | t.handler = #{handler}, |
| | | </if> |
| | | <if test="isTransferred !=null and isTransferred != ''"> |
| | | , t.is_transferred= #{isTransferred} |
| | | t.is_transferred = #{isTransferred}, |
| | | </if> |
| | | <if test="companyNameAfterTransfer !=null and companyNameAfterTransfer != ''"> |
| | | , t.company_name_after_transfer= #{companyNameAfterTransfer} |
| | | t.company_name_after_transfer = #{companyNameAfterTransfer}, |
| | | </if> |
| | | <if test="transferDate !=null and transferDate != ''"> |
| | | , t.transfer_date= #{transferDate} |
| | | <if test="transferDate !=null "> |
| | | t.transfer_date = #{transferDate}, |
| | | </if> |
| | | <if test="correspondingHouseholdCount !=null and correspondingHouseholdCount != ''"> |
| | | , t.corresponding_household_count= #{correspondingHouseholdCount} |
| | | t.corresponding_household_count = #{correspondingHouseholdCount}, |
| | | </if> |
| | | <if test="lastPaymentDate !=null and lastPaymentDate != ''"> |
| | | , t.last_payment_date= #{lastPaymentDate} |
| | | <if test="lastPaymentDate !=null "> |
| | | t.last_payment_date = #{lastPaymentDate}, |
| | | </if> |
| | | <if test="readingType !=null and readingType != ''"> |
| | | , t.reading_type= #{readingType} |
| | | t.reading_type = #{readingType}, |
| | | </if> |
| | | <if test="multiplyingFactor !=null and multiplyingFactor != ''"> |
| | | , t.multiplying_factor= #{multiplyingFactor} |
| | | t.multiplying_factor = #{multiplyingFactor}, |
| | | </if> |
| | | <if test="unitPrice !=null and unitPrice != ''"> |
| | | , t.unit_price= #{unitPrice} |
| | | t.unit_price = #{unitPrice}, |
| | | </if> |
| | | <if test="invoiceAmount !=null and invoiceAmount != ''"> |
| | | , t.invoice_amount= #{invoiceAmount} |
| | | t.invoice_amount = #{invoiceAmount}, |
| | | </if> |
| | | <if test="amountDifference !=null and amountDifference != ''"> |
| | | , t.amount_difference= #{amountDifference} |
| | | t.amount_difference = #{amountDifference}, |
| | | </if> |
| | | <if test="autoDeduction !=null and autoDeduction != ''"> |
| | | , t.auto_deduction= #{autoDeduction} |
| | | t.auto_deduction = #{autoDeduction}, |
| | | </if> |
| | | <if test="remark2 !=null and remark2 != ''"> |
| | | , t.remark2= #{remark2} |
| | | t.remark2 = #{remark2}, |
| | | </if> |
| | | <if test="address !=null and address != ''"> |
| | | , t.address= #{address} |
| | | t.address = #{address}, |
| | | </if> |
| | | <if test="writeTime !=null and writeTime != ''"> |
| | | , t.write_time= #{writeTime} |
| | | <if test="writeTime !=null "> |
| | | t.write_time = #{writeTime}, |
| | | </if> |
| | | <if test="writer !=null and writer != ''"> |
| | | , t.writer= #{writer} |
| | | t.writer = #{writer}, |
| | | </if> |
| | | <if test="checkApplyCompanyName !=null and checkApplyCompanyName != ''"> |
| | | , t.check_apply_company_name= #{checkApplyCompanyName} |
| | | t.check_apply_company_name = #{checkApplyCompanyName}, |
| | | </if> |
| | | <if test="checkApplyDeptProject !=null and checkApplyDeptProject != ''"> |
| | | , t.check_apply_dept_project= #{checkApplyDeptProject} |
| | | t.check_apply_dept_project = #{checkApplyDeptProject}, |
| | | </if> |
| | | <if test="waterFeePayer !=null and waterFeePayer != ''"> |
| | | , t.water_fee_payer= #{waterFeePayer} |
| | | t.water_fee_payer = #{waterFeePayer}, |
| | | </if> |
| | | <if test="accountNumber !=null and accountNumber != ''"> |
| | | , t.account_number= #{accountNumber} |
| | | t.account_number = #{accountNumber}, |
| | | </if> |
| | | <if test="meterReadBookNo !=null and meterReadBookNo != ''"> |
| | | , t.meter_read_book_no= #{meterReadBookNo} |
| | | t.meter_read_book_no = #{meterReadBookNo}, |
| | | </if> |
| | | <if test="waterConsumption !=null and waterConsumption != ''"> |
| | | , t.water_consumption= #{waterConsumption} |
| | | t.water_consumption = #{waterConsumption}, |
| | | </if> |
| | | <if test="sewageTreatmentWater !=null and sewageTreatmentWater != ''"> |
| | | , t.sewage_treatment_water= #{sewageTreatmentWater} |
| | | t.sewage_treatment_water = #{sewageTreatmentWater}, |
| | | </if> |
| | | <if test="collectionStandard !=null and collectionStandard != ''"> |
| | | , t.collection_standard= #{collectionStandard} |
| | | t.collection_standard = #{collectionStandard}, |
| | | </if> |
| | | <if test="arrearsUnpaid !=null and arrearsUnpaid != ''"> |
| | | , t.arrears_unpaid= #{arrearsUnpaid} |
| | | t.arrears_unpaid = #{arrearsUnpaid}, |
| | | </if> |
| | | <if test="latePaymentFine !=null and latePaymentFine != ''"> |
| | | , t.late_payment_fine= #{latePaymentFine} |
| | | t.late_payment_fine = #{latePaymentFine}, |
| | | </if> |
| | | <if test="latePaymentSurcharge !=null and latePaymentSurcharge != ''"> |
| | | , t.late_payment_surcharge= #{latePaymentSurcharge} |
| | | t.late_payment_surcharge = #{latePaymentSurcharge}, |
| | | </if> |
| | | <if test="feePaymentStatus !=null and feePaymentStatus != ''"> |
| | | , t.fee_payment_status= #{feePaymentStatus} |
| | | t.fee_payment_status = #{feePaymentStatus}, |
| | | </if> |
| | | <if test="carryOverBalance !=null and carryOverBalance != ''"> |
| | | , t.carry_over_balance= #{carryOverBalance} |
| | | t.carry_over_balance = #{carryOverBalance}, |
| | | </if> |
| | | <if test="totalPayableAmount !=null and totalPayableAmount != ''"> |
| | | , t.total_payable_amount= #{totalPayableAmount} |
| | | t.total_payable_amount = #{totalPayableAmount} |
| | | </if> |
| | | where 1=1 |
| | | <if test="waterId !=null and waterId != ''"> |
| | |
| | | select count(1) count |
| | | from meter_water t |
| | | where 1 =1 |
| | | <if test="waterId !=null and waterId != ''"> |
| | | and t.water_id= #{waterId} |
| | | </if> |
| | | <if test="bId !=null and bId != ''"> |
| | | and t.b_id= #{bId} |
| | | </if> |
| | | <if test="meterType !=null and meterType != ''"> |
| | | and t.meter_type= #{meterType} |
| | | </if> |
| | | <if test="objType !=null and objType != ''"> |
| | | and t.obj_type= #{objType} |
| | | </if> |
| | | <if test="objId !=null and objId != ''"> |
| | | and t.obj_id= #{objId} |
| | | </if> |
| | | <if test="preDegrees !=null and preDegrees != ''"> |
| | | and t.pre_degrees= #{preDegrees} |
| | | </if> |
| | | <if test="curDegrees !=null and curDegrees != ''"> |
| | | and t.cur_degrees= #{curDegrees} |
| | | </if> |
| | | <if test="preReadingTime !=null "> |
| | | and t.pre_reading_time= #{preReadingTime} |
| | | </if> |
| | | <if test="curReadingTime !=null "> |
| | | and t.cur_reading_time= #{curReadingTime} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | and t.community_id= #{communityId} |
| | | </if> |
| | | <if test="createTime !=null "> |
| | | and t.create_time= #{createTime} |
| | | </if> |
| | | <if test="statusCd !=null and statusCd != ''"> |
| | | and t.status_cd= #{statusCd} |
| | | </if> |
| | | <if test="remark !=null and remark != ''"> |
| | | and t.remark= #{remark} |
| | | </if> |
| | | <if test="objName !=null and objName != ''"> |
| | | and t.obj_name= #{objName} |
| | | </if> |
| | | <if test="feeId !=null and feeId != ''"> |
| | | and t.fee_id= #{feeId} |
| | | </if> |
| | | <if test="curReadingTime !=null and curReadingTime != ''"> |
| | | and t.cur_reading_time= #{curReadingTime} |
| | | </if> |
| | | <if test="waterId !=null and waterId != ''"> |
| | | and t.water_id= #{waterId} |
| | | </if> |
| | | <if test="curDegrees !=null and curDegrees != ''"> |
| | | and t.cur_degrees= #{curDegrees} |
| | | <if test="objName !=null and objName != ''"> |
| | | and t.obj_name= #{objName} |
| | | </if> |
| | | <if test="price !=null and price != ''"> |
| | | and t.price= #{price} |
| | | </if> |
| | | <if test="meterType !=null and meterType != ''"> |
| | | and t.meter_type= #{meterType} |
| | | </if> |
| | | <if test="preDegrees !=null and preDegrees != ''"> |
| | | and t.pre_degrees= #{preDegrees} |
| | | </if> |
| | | <if test="objId !=null and objId != ''"> |
| | | and t.obj_id= #{objId} |
| | | </if> |
| | | <if test="preReadingTime !=null and preReadingTime != ''"> |
| | | and t.pre_reading_time= #{preReadingTime} |
| | | </if> |
| | | <if test="communityId !=null and communityId != ''"> |
| | | and t.community_id= #{communityId} |
| | | </if> |
| | | <if test="objType !=null and objType != ''"> |
| | | and t.obj_type= #{objType} |
| | | </if> |
| | | <!-- 新字段数量查询条件 --> |
| | | <if test="powerSupplyBureau !=null and powerSupplyBureau != ''"> |
| | | and t.power_supply_bureau= #{powerSupplyBureau} |
| | | </if> |
| | |
| | | <if test="companyNameAfterTransfer !=null and companyNameAfterTransfer != ''"> |
| | | and t.company_name_after_transfer= #{companyNameAfterTransfer} |
| | | </if> |
| | | <if test="transferDate !=null and transferDate != ''"> |
| | | <if test="transferDate !=null "> |
| | | and t.transfer_date= #{transferDate} |
| | | </if> |
| | | <if test="correspondingHouseholdCount !=null and correspondingHouseholdCount != ''"> |
| | | and t.corresponding_household_count= #{correspondingHouseholdCount} |
| | | </if> |
| | | <if test="lastPaymentDate !=null and lastPaymentDate != ''"> |
| | | <if test="lastPaymentDate !=null "> |
| | | and t.last_payment_date= #{lastPaymentDate} |
| | | </if> |
| | | <if test="readingType !=null and readingType != ''"> |
| | |
| | | <if test="address !=null and address != ''"> |
| | | and t.address= #{address} |
| | | </if> |
| | | <if test="writeTime !=null and writeTime != ''"> |
| | | <if test="writeTime !=null "> |
| | | and t.write_time= #{writeTime} |
| | | </if> |
| | | <if test="writer !=null and writer != ''"> |
| | |
| | | <update id="deleteMeterWaterByBatch" parameterType="Map"> |
| | | update meter_water t,pay_fee pf set t.status_cd = '1' |
| | | where |
| | | t.fee_id = pf.fee_id |
| | | and pf.batch_id = #{batchId} |
| | | and pf.community_id = #{communityId} |
| | | t.fee_id = pf.fee_id |
| | | and pf.batch_id = #{batchId} |
| | | and pf.community_id = #{communityId} |
| | | </update> |
| | | </mapper> |
| | |
| | | <if test="roomId != null">room_id,</if> |
| | | <if test="propertyAddress != null">property_address,</if> |
| | | <if test="doorRoomNum != null">door_room_num,</if> |
| | | <if test="doorRoomNum != null">nong,</if> |
| | | <if test="doorRoomNum != null">men,</if> |
| | | <if test="doorRoomNum != null">shi,</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="chargeStart != null">charge_start,</if> |
| | | <if test="chargeEnd != null">charge_end,</if> |
| | | <if test="communityId != null">community_id,</if> |
| | | <if test="frequency != null">frequency</if> |
| | | <if test="frequency != null">frequency,</if> |
| | | <if test="receiptYearMonth != null">receipt_year_month,</if> |
| | | <if test="receiptYear != null">receipt_year,</if> |
| | | <if test="pendingProblem != null">pending_problem,</if> |
| | |
| | | <if test="roomId != null">#{roomId},</if> |
| | | <if test="propertyAddress != null">#{propertyAddress},</if> |
| | | <if test="doorRoomNum != null">#{doorRoomNum},</if> |
| | | <if test="doorRoomNum != null">SUBSTRING_INDEX(#{doorRoomNum}, '-', 1),</if> |
| | | <if test="doorRoomNum != null">SUBSTRING_INDEX(SUBSTRING_INDEX(#{doorRoomNum}, '-', 2), '-', -1),</if> |
| | | <if test="doorRoomNum != null">SUBSTRING_INDEX(#{doorRoomNum}, '-', -1),</if> |
| | | <if test="secondaryFeeTypeCd != null">#{secondaryFeeTypeCd},</if> |
| | | <if test="chargeAmount != null">#{chargeAmount},</if> |
| | | <if test="charger != null">#{charger},</if> |
| | |
| | | <if test="chargeStart != null">#{chargeStart},</if> |
| | | <if test="chargeEnd != null">#{chargeEnd},</if> |
| | | <if test="communityId != null">#{communityId},</if> |
| | | <if test="frequency != null">#{frequency}</if> |
| | | <if test="frequency != null">#{frequency},</if> |
| | | <if test="receiptYearMonth != null">#{receiptYearMonth},</if> |
| | | <if test="receiptYear != null">#{receiptYear},</if> |
| | | <if test="pendingProblem != null">#{pendingProblem},</if> |
| | | <if test="roomNumber != null">#{roomNumber}</if> |
| | | </trim> |
| | | </insert> |
| | | |
| | | <select id="queryPropertyWhiteListFlow" parameterType="Map" resultType="Map"> |
| | | SELECT |
| | | id, |
| | |
| | | room_id AS roomId, |
| | | property_address AS propertyAddress, |
| | | door_room_num AS doorRoomNum, |
| | | SUBSTRING_INDEX(door_room_num, '-', 1) AS floorNum, |
| | | SUBSTRING_INDEX(SUBSTRING_INDEX(door_room_num, '-', 2), '-', -1) AS unitNum, |
| | | SUBSTRING_INDEX(door_room_num, '-', -1) AS roomNum, |
| | | secondary_fee_type_cd AS secondaryFeeTypeCd, |
| | | charge_amount AS chargeAmount, |
| | | charger, |
| | |
| | | charge_end AS chargeEnd, |
| | | community_id AS communityId, |
| | | frequency, |
| | | receipt_year_month AS receiptYearMonth, |
| | | receipt_year AS receiptYear, |
| | | pending_problem AS pendingProblem, |
| | | room_number AS roomNumber, |
| | | financial_check AS financialCheck, |
| | | check_date AS checkDate, |
| | | nong, |
| | | men, |
| | | shi, |
| | | SUBSTRING_INDEX(door_room_num, '-', 1) AS floorNum, |
| | | SUBSTRING_INDEX(SUBSTRING_INDEX(door_room_num, '-', 2), '-', -1) AS unitNum, |
| | | SUBSTRING_INDEX(door_room_num, '-', -1) AS roomNum, |
| | | SUBSTRING_INDEX(frequency, '-', -1) as order_fre |
| | | FROM |
| | | property_white_list_flow |
| | | <where> |
| | | <!-- 收费日期范围查询 --> |
| | | <if test="startChargeTime != null"> |
| | | AND charge_time >= #{startChargeTime} |
| | | </if> |
| | |
| | | <if test="frequencyLike != null"> |
| | | AND frequency like concat(#{frequencyLike},"%") |
| | | </if> |
| | | <!-- 房号查询 --> |
| | | <if test="roomId != null and roomId != ''"> |
| | | AND room_id = #{roomId} |
| | | </if> |
| | | |
| | | <!-- 收费内容查询 --> |
| | | <if test="secondaryFeeTypeCd != null and secondaryFeeTypeCd != ''"> |
| | | AND secondary_fee_type_cd = #{secondaryFeeTypeCd} |
| | | </if> |
| | | <if test="invoice_receipt_no != null"> |
| | | <if test="invoiceReceiptNo != null"> |
| | | AND invoice_receipt_no = #{invoiceReceiptNo} |
| | | </if> |
| | | <!-- 收费金额范围查询 --> |
| | | <if test="minChargeAmount != null"> |
| | | AND charge_amount >= #{minChargeAmount} |
| | | </if> |
| | | <if test="maxChargeAmount != null"> |
| | | AND charge_amount <= #{maxChargeAmount} |
| | | </if> |
| | | |
| | | <!-- 单号查询 --> |
| | | <if test="orderNo != null and orderNo != ''"> |
| | | AND order_no = #{orderNo} |
| | | </if> |
| | | |
| | | <!-- 车牌号查询(适用于停车费等场景) --> |
| | | <if test="licensePlate != null and licensePlate != ''"> |
| | | AND license_plate = #{licensePlate} |
| | | </if> |
| | |
| | | </if> |
| | | <if test="communityId != null and communityId != ''"> |
| | | and community_id = #{communityId} |
| | | </if> |
| | | <if test="nong != null and nong != ''"> |
| | | AND nong = #{nong} |
| | | </if> |
| | | <if test="men != null and men != ''"> |
| | | AND men = #{men} |
| | | </if> |
| | | <if test="shi != null and shi != ''"> |
| | | AND shi = #{shi} |
| | | </if> |
| | | <if test="financialCheck != null"> |
| | | AND financial_check = #{financialCheck} |
| | | </if> |
| | | <if test="checkDate != null"> |
| | | AND check_date = #{checkDate} |
| | | </if> |
| | | </where> |
| | | order by order_fre desc,door_room_num,secondary_fee_type_cd,charge_start |
| | |
| | | limit #{page}, #{row} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="countPropertyWhiteListFlow" parameterType="Map" resultType="Map"> |
| | | |
| | | SELECT |
| | | count(1) |
| | | FROM |
| | | property_white_list_flow |
| | | <where> |
| | | <!-- 收费日期范围查询 --> |
| | | <if test="startChargeTime != null"> |
| | | AND charge_time >= #{startChargeTime} |
| | | </if> |
| | | <if test="endChargeTime != null"> |
| | | AND charge_time <= #{endChargeTime} |
| | | </if> |
| | | |
| | | <!-- 房号查询 --> |
| | | <if test="roomId != null and roomId != ''"> |
| | | AND room_id = #{roomId} |
| | | </if> |
| | | |
| | | <!-- 收费内容查询 --> |
| | | <if test="secondaryFeeTypeCd != null and secondaryFeeTypeCd != ''"> |
| | | AND secondary_fee_type_cd = #{secondaryFeeTypeCd} |
| | | </if> |
| | | |
| | | <!-- 收费金额范围查询 --> |
| | | <if test="minChargeAmount != null"> |
| | | AND charge_amount >= #{minChargeAmount} |
| | | </if> |
| | | <if test="maxChargeAmount != null"> |
| | | AND charge_amount <= #{maxChargeAmount} |
| | | </if> |
| | | |
| | | <!-- 单号查询 --> |
| | | <if test="orderNo != null and orderNo != ''"> |
| | | AND order_no = #{orderNo} |
| | | </if> |
| | | |
| | | <!-- 车牌号查询(适用于停车费等场景) --> |
| | | <if test="licensePlate != null and licensePlate != ''"> |
| | | AND license_plate = #{licensePlate} |
| | | </if> |
| | |
| | | <if test="communityId != null and communityId != ''"> |
| | | and community_id = #{communityId} |
| | | </if> |
| | | <if test="nong != null and nong != ''"> |
| | | AND nong = #{nong} |
| | | </if> |
| | | <if test="men != null and men != ''"> |
| | | AND men = #{men} |
| | | </if> |
| | | <if test="shi != null and shi != ''"> |
| | | AND shi = #{shi} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <select id="countPropertyWhiteListFlowFilter" parameterType="Map" resultType="Map"> |
| | | SELECT |
| | | count(1) |
| | |
| | | <if test="chargeEnd != null"> |
| | | AND charge_end = #{chargeEnd} |
| | | </if> |
| | | <if test="communityId != null and communityId != ''"> |
| | | and community_id = #{communityId} |
| | | <if test="nong != null"> |
| | | AND nong = #{nong} |
| | | </if> |
| | | <if test="men != null"> |
| | | AND men = #{men} |
| | | </if> |
| | | <if test="shi != null"> |
| | | AND shi = #{shi} |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | <update id="updatePropertyWhiteListFlow"> |
| | | update property_white_list_flow set frequency = #{frequency} where id = #{id} |
| | | </update> |
| | | </mapper> |
| | | </mapper> |
| | |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="contractCollectionDetailDaoImpl"> |
| | | |
| | | <!-- 保存合同收款明细信息 add by wuxw 2018-07-03 --> |
| | | <!-- 保存合同收款明细信息 --> |
| | | <insert id="saveContractCollectionDetail" parameterType="Map"> |
| | | insert into contract_collection_detail(contract_id, collection_period_start, collection_period_end, |
| | | receivable_money, collection_date, collection_amount, |
| | | special_reduction, unpaid_money, charge_type, invoice_receipt_no, white_list_archive_no) |
| | | values (#{contractId}, #{collectionPeriodStart}, #{collectionPeriodEnd}, |
| | | #{receivableMoney}, #{collectionDate}, #{collectionAmount}, |
| | | #{specialReduction}, #{unpaidMoney}, #{chargeType}, #{invoiceReceiptNo}, #{whiteListArchiveNo}) |
| | | insert into contract_collection_detail( |
| | | contract_id, |
| | | collection_period_start, |
| | | collection_period_end, |
| | | receivable_money, |
| | | collection_date, |
| | | collection_amount, |
| | | special_reduction, |
| | | unpaid_money, |
| | | charge_type, |
| | | invoice_receipt_no, |
| | | white_list_archive_no |
| | | ) values ( |
| | | #{contractId}, |
| | | #{collectionPeriodStart}, |
| | | #{collectionPeriodEnd}, |
| | | #{receivableMoney}, |
| | | #{collectionDate}, |
| | | #{collectionAmount}, |
| | | #{specialReduction}, |
| | | #{unpaidMoney}, |
| | | #{chargeType}, |
| | | #{invoiceReceiptNo}, |
| | | #{whiteListArchiveNo} |
| | | ) |
| | | </insert> |
| | | |
| | | <!-- 查询合同收款明细信息 add by wuxw 2018-07-03 --> |
| | | <!-- 查询合同收款明细信息 --> |
| | | <select id="getContractCollectionDetail" parameterType="Map" resultType="Map"> |
| | | select t.id, |
| | | select |
| | | t.id, |
| | | t.contract_id contractId, |
| | | t.collection_period_start collectionPeriodStart, |
| | | t.collection_period_end collectionPeriodEnd, |
| | |
| | | t.collection_date collectionDate, |
| | | t.collection_amount collectionAmount, |
| | | t.special_reduction specialReduction, |
| | | t.unpaid_money unpaidMoney |
| | | t.unpaid_money unpaidMoney, |
| | | t.charge_type chargeType, |
| | | t.invoice_receipt_no invoiceReceiptNo, |
| | | t.white_list_archive_no whiteListArchiveNo |
| | | from contract_collection_detail t |
| | | where 1 =1 |
| | | where 1=1 |
| | | <if test="id != null and id != ''"> |
| | | and t.id = #{id} |
| | | </if> |
| | | <if test="contractId != null and contractId != ''"> |
| | | and t.contract_id = #{contractId} |
| | | </if> |
| | | <if test="contractIds !=null"> |
| | | <if test="contractIds != null"> |
| | | and t.contract_id in |
| | | <foreach collection="contractIds" item="item" index="index" open="(" close=")" separator=","> |
| | | <foreach collection="contractIds" item="item" open="(" close=")" separator=","> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | |
| | | </if> |
| | | <if test="unpaidMoney != null and unpaidMoney != ''"> |
| | | and t.unpaid_money = #{unpaidMoney} |
| | | </if> |
| | | <if test="chargeType != null and chargeType != ''"> |
| | | and t.charge_type = #{chargeType} |
| | | </if> |
| | | <if test="invoiceReceiptNo != null and invoiceReceiptNo != ''"> |
| | | and t.invoice_receipt_no = #{invoiceReceiptNo} |
| | | </if> |
| | | <if test="whiteListArchiveNo != null and whiteListArchiveNo != ''"> |
| | | and t.white_list_archive_no = #{whiteListArchiveNo} |
| | | </if> |
| | | order by t.id desc |
| | | <if test="page != -1 and page != null "> |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <!-- 修改合同收款明细信息 add by wuxw 2018-07-03 --> |
| | | <!-- 修改合同收款明细信息 --> |
| | | <!-- 修改合同收款明细信息 --> |
| | | <update id="updateContractCollectionDetail" parameterType="Map"> |
| | | update contract_collection_detail t set |
| | | <if test="collectionPeriodStart !=null and collectionPeriodStart != ''"> |
| | | t.collection_period_start= #{collectionPeriodStart}, |
| | | </if> |
| | | <if test="collectionPeriodEnd !=null and collectionPeriodEnd != ''"> |
| | | t.collection_period_end= #{collectionPeriodEnd}, |
| | | </if> |
| | | <if test="receivableMoney !=null and receivableMoney != ''"> |
| | | t.receivable_money= #{receivableMoney}, |
| | | </if> |
| | | <if test="collectionDate !=null and collectionDate != ''"> |
| | | t.collection_date= #{collectionDate}, |
| | | </if> |
| | | <if test="collectionAmount !=null and collectionAmount != ''"> |
| | | t.collection_amount= #{collectionAmount}, |
| | | </if> |
| | | <if test="specialReduction !=null and specialReduction != ''"> |
| | | t.special_reduction= #{specialReduction}, |
| | | </if> |
| | | <if test="unpaidMoney !=null and unpaidMoney != ''"> |
| | | t.unpaid_money= #{unpaidMoney} |
| | | </if> |
| | | update contract_collection_detail t |
| | | set |
| | | <!-- 用 trim 自动去掉最后一个逗号,这是 MyBatis 最标准写法 --> |
| | | <trim suffixOverrides=","> |
| | | <if test="collectionPeriodStart != null and collectionPeriodStart != ''"> |
| | | t.collection_period_start = #{collectionPeriodStart}, |
| | | </if> |
| | | <if test="collectionPeriodEnd != null and collectionPeriodEnd != ''"> |
| | | t.collection_period_end = #{collectionPeriodEnd}, |
| | | </if> |
| | | <if test="receivableMoney != null and receivableMoney != ''"> |
| | | t.receivable_money = #{receivableMoney}, |
| | | </if> |
| | | <if test="collectionDate != null and collectionDate != ''"> |
| | | t.collection_date = #{collectionDate}, |
| | | </if> |
| | | <if test="collectionAmount != null and collectionAmount != ''"> |
| | | t.collection_amount = #{collectionAmount}, |
| | | </if> |
| | | <if test="specialReduction != null and specialReduction != ''"> |
| | | t.special_reduction = #{specialReduction}, |
| | | </if> |
| | | <if test="unpaidMoney != null and unpaidMoney != ''"> |
| | | t.unpaid_money = #{unpaidMoney}, |
| | | </if> |
| | | <if test="chargeType != null and chargeType != ''"> |
| | | t.charge_type = #{chargeType}, |
| | | </if> |
| | | <if test="invoiceReceiptNo != null and invoiceReceiptNo != ''"> |
| | | t.invoice_receipt_no = #{invoiceReceiptNo}, |
| | | </if> |
| | | <if test="whiteListArchiveNo != null and whiteListArchiveNo != ''"> |
| | | t.white_list_archive_no = #{whiteListArchiveNo}, |
| | | </if> |
| | | </trim> |
| | | where 1=1 |
| | | <if test="id !=null and id != ''"> |
| | | and t.id= #{id} |
| | | </if> |
| | | <if test="contractId !=null and contractId != ''"> |
| | | and t.contract_id= #{contractId} |
| | | </if> |
| | | </update> |
| | | |
| | | <!-- 查询合同收款明细数量 add by wuxw 2018-07-03 --> |
| | | <select id="queryContractCollectionDetailCount" parameterType="Map" resultType="Map"> |
| | | select count(1) count |
| | | from contract_collection_detail t |
| | | where 1 =1 |
| | | <if test="id != null and id != ''"> |
| | | and t.id = #{id} |
| | | </if> |
| | | <if test="contractId != null and contractId != ''"> |
| | | and t.contract_id = #{contractId} |
| | | </if> |
| | | <if test="contractIds !=null"> |
| | | </update> |
| | | |
| | | <!-- 查询合同收款明细数量 --> |
| | | <select id="queryContractCollectionDetailCount" parameterType="Map" resultType="Map"> |
| | | select count(1) count |
| | | from contract_collection_detail t |
| | | where 1=1 |
| | | <if test="id != null and id != ''"> |
| | | and t.id = #{id} |
| | | </if> |
| | | <if test="contractId != null and contractId != ''"> |
| | | and t.contract_id = #{contractId} |
| | | </if> |
| | | <if test="contractIds != null"> |
| | | and t.contract_id in |
| | | <foreach collection="contractIds" item="item" index="index" open="(" close=")" separator=","> |
| | | <foreach collection="contractIds" item="item" open="(" close=")" separator=","> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | |
| | | <if test="unpaidMoney != null and unpaidMoney != ''"> |
| | | and t.unpaid_money = #{unpaidMoney} |
| | | </if> |
| | | <if test="chargeType != null and chargeType != ''"> |
| | | and t.charge_type = #{chargeType} |
| | | </if> |
| | | <if test="invoiceReceiptNo != null and invoiceReceiptNo != ''"> |
| | | and t.invoice_receipt_no = #{invoiceReceiptNo} |
| | | </if> |
| | | <if test="whiteListArchiveNo != null and whiteListArchiveNo != ''"> |
| | | and t.white_list_archive_no = #{whiteListArchiveNo} |
| | | </if> |
| | | </select> |
| | | |
| | | <delete id="deleteContractCollectionDetail" parameterType="map"> |
| | | DELETE FROM contract_collection_detail WHERE id = #{id} |
| | | </delete> |
| | | </mapper> |
| | |
| | | <!-- 保存合同管理信息 add by wuxw 2018-07-03 --> |
| | | <insert id="saveContractInfo" parameterType="Map"> |
| | | insert into contract(a_link, a_contacts, amount, contract_type, store_id, operator, signing_time, b_contacts, |
| | | party_a, b_link, party_b, |
| | | contract_id, obj_id, contract_name, start_time, end_time, state, contract_code, obj_type, |
| | | operator_link, contract_parent_id, |
| | | obj_name, obj_person_name, obj_person_id, start_user_id,party_c,c_link,c_contacts |
| | | ,a_partya_id,b_partya_id,c_partya_id,community_id, |
| | | property_company,contract_term,is_archived,contract_reminder_date, |
| | | signatory_address,contact_email,contact_wechat,remarks) |
| | | party_a, b_link, party_b, |
| | | contract_id, obj_id, contract_name, start_time, end_time, state, contract_code, obj_type, |
| | | operator_link, contract_parent_id, |
| | | obj_name, obj_person_name, obj_person_id, start_user_id,party_c,c_link,c_contacts |
| | | ,a_partya_id,b_partya_id,c_partya_id,community_id, |
| | | property_company,contract_term,is_archived,contract_reminder_date, |
| | | signatory_address,contact_email,contact_wechat,remarks,has_supplement_agreement, community_name) |
| | | values (#{aLink}, #{aContacts}, #{amount}, #{contractType}, #{storeId}, #{operator}, #{signingTime}, |
| | | #{bContacts}, #{partyA}, #{bLink}, #{partyB}, |
| | | #{contractId}, #{objId}, #{contractName}, #{startTime}, #{endTime}, #{state}, #{contractCode}, |
| | | #{objType}, #{operatorLink}, #{contractParentId}, |
| | | #{objName}, #{objPersonName}, #{objPersonId}, #{startUserId},#{partyC},#{cLink},#{cContacts} |
| | | ,#{aPartyaId},#{bPartyaId},#{cPartyaId},#{communityId}, |
| | | #{propertyCompany},#{contractTerm},#{isArchived},#{contractReminderDate}, |
| | | #{signatoryAddress},#{contactEmail},#{contactWechat},#{remarks}) |
| | | #{bContacts}, #{partyA}, #{bLink}, #{partyB}, |
| | | #{contractId}, #{objId}, #{contractName}, #{startTime}, #{endTime}, #{state}, #{contractCode}, |
| | | #{objType}, #{operatorLink}, #{contractParentId}, |
| | | #{objName}, #{objPersonName}, #{objPersonId}, #{startUserId},#{partyC},#{cLink},#{cContacts} |
| | | ,#{aPartyaId},#{bPartyaId},#{cPartyaId},#{communityId}, |
| | | #{propertyCompany},#{contractTerm},#{isArchived},#{contractReminderDate}, |
| | | #{signatoryAddress},#{contactEmail},#{contactWechat},#{remarks},#{hasSupplementAgreement},#{communityName}) |
| | | </insert> |
| | | |
| | | <!-- 查询合同管理信息 add by wuxw 2018-07-03 --> |
| | | <select id="getContractInfo" parameterType="Map" resultType="Map"> |
| | | <resultMap id="ContractDtoResultMap" type="com.java110.dto.contract.ContractDto"> |
| | | <!-- ===================== 1. ContractDto 主表字段 ===================== --> |
| | | <id column="contract_id" property="contractId"/> |
| | | <result column="a_link" property="aLink"/> |
| | | <result column="a_contacts" property="aContacts"/> |
| | | <result column="amount" property="amount"/> |
| | | <result column="contract_type" property="contractType"/> |
| | | <result column="status_cd" property="statusCd"/> |
| | | <result column="store_id" property="storeId"/> |
| | | <result column="operator" property="operator"/> |
| | | <result column="signing_time" property="signingTime"/> |
| | | <result column="b_contacts" property="bContacts"/> |
| | | <result column="party_a" property="partyA"/> |
| | | <result column="b_link" property="bLink"/> |
| | | <result column="party_b" property="partyB"/> |
| | | <result column="obj_id" property="objId"/> |
| | | <result column="contract_name" property="contractName"/> |
| | | <result column="start_time" property="startTime"/> |
| | | <result column="end_time" property="endTime"/> |
| | | <result column="state" property="state"/> |
| | | <result column="contract_code" property="contractCode"/> |
| | | <result column="obj_type" property="objType"/> |
| | | <result column="operator_link" property="operatorLink"/> |
| | | <result column="contractTypeName" property="contractTypeName"/> |
| | | <result column="audit" property="audit"/> |
| | | <result column="stateName" property="stateName"/> |
| | | <result column="state_desc" property="stateDesc"/> |
| | | <result column="contractParentId" property="contractParentId"/> |
| | | <result column="parentContractCode" property="parentContractCode"/> |
| | | <result column="parentContractName" property="parentContractName"/> |
| | | <result column="objName" property="objName"/> |
| | | <result column="objPersonName" property="objPersonName"/> |
| | | <result column="objPersonId" property="objPersonId"/> |
| | | <result column="startUserId" property="startUserId"/> |
| | | <result column="createTime" property="createTime"/> |
| | | <result column="partyC" property="partyC"/> |
| | | <result column="cLink" property="cLink"/> |
| | | <result column="cContacts" property="cContacts"/> |
| | | <result column="aPartyaId" property="aPartyaId"/> |
| | | <result column="bPartyaId" property="bPartyaId"/> |
| | | <result column="cPartyaId" property="cPartyaId"/> |
| | | <result column="communityName" property="communityName"/> |
| | | <result column="propertyCompany" property="propertyCompany"/> |
| | | <result column="contractTerm" property="contractTerm"/> |
| | | <result column="isArchived" property="isArchived"/> |
| | | <result column="contractReminderDate" property="contractReminderDate"/> |
| | | <result column="signatoryAddress" property="signatoryAddress"/> |
| | | <result column="contactEmail" property="contactEmail"/> |
| | | <result column="contactWechat" property="contactWechat"/> |
| | | <result column="remarks" property="remarks"/> |
| | | <result column="has_supplement_agreement" property="hasSupplementAgreement"/> |
| | | |
| | | <!-- ===================== 2. 广告信息子对象(已生效) ===================== --> |
| | | <association property="adContractInfo" javaType="com.java110.dto.contract.AdContractInfoDto"> |
| | | <id column="ad_id" property="id"/> |
| | | <result column="ad_contract_id" property="contractId"/> |
| | | <result column="ad_type" property="adType"/> |
| | | <result column="sub_type" property="subType"/> |
| | | <result column="cooperation_form" property="cooperationForm"/> |
| | | <result column="building_elevator_count" property="buildingElevatorCount"/> |
| | | <result column="online_quantity" property="onlineQuantity"/> |
| | | <result column="facility_location" property="facilityLocation"/> |
| | | </association> |
| | | |
| | | <!-- ===================== 3. 合同金额明细 ===================== --> |
| | | <association property="contractAmountDetail" javaType="com.java110.dto.contract.ContractAmountDetailDto"> |
| | | <id column="detail_id" property="id"/> |
| | | <result column="detail_contract_id" property="contractId"/> |
| | | <result column="total_contract_amount" property="totalContractAmount"/> |
| | | <result column="unit_price" property="unitPrice"/> |
| | | <result column="annual_amount" property="annualAmount"/> |
| | | <result column="total_amount" property="totalAmount"/> |
| | | <result column="settlement_method" property="settlementMethod"/> |
| | | <result column="settlement_amount" property="settlementAmount"/> |
| | | <result column="fee_type" property="feeType"/> |
| | | <result column="account_info" property="accountInfo"/> |
| | | <result column="main_meter_no" property="mainMeterNo"/> |
| | | <result column="sub_meter_no" property="subMeterNo"/> |
| | | <result column="last_month_reading" property="lastMonthReading"/> |
| | | <result column="current_month_reading" property="currentMonthReading"/> |
| | | <result column="current_period_consumption" property="currentPeriodConsumption"/> |
| | | <result column="electricity_unit_price" property="electricityUnitPrice"/> |
| | | <result column="electricity_fee" property="electricityFee"/> |
| | | <result column="deposit" property="deposit"/> |
| | | <result column="settlement_cycle" property="settlementCycle"/> |
| | | <result column="payment_remark" property="paymentRemark"/> |
| | | </association> |
| | | |
| | | <!-- ===================== 4. 合同管理分成 ===================== --> |
| | | <association property="contractManagementShare" javaType="com.java110.dto.contract.ContractManagementShareDto"> |
| | | <id column="share_id" property="id"/> |
| | | <result column="share_contract_id" property="contractId"/> |
| | | <result column="management_ratio" property="managementRatio"/> |
| | | <result column="our_company_amount" property="ourCompanyAmount"/> |
| | | <result column="our_committee_share" property="ourCommitteeShare"/> |
| | | <result column="our_company_receivable" property="ourCompanyReceivable"/> |
| | | </association> |
| | | |
| | | <!-- ===================== 5. 合同缴费状态 ===================== --> |
| | | <association property="contractPaymentStatus" javaType="com.java110.dto.contract.ContractPaymentStatusDto"> |
| | | <id column="payment_id" property="id"/> |
| | | <result column="payment_contract_id" property="contractId"/> |
| | | <result column="payment_status" property="paymentStatus"/> |
| | | <result column="receivable_amount" property="receivableAmount"/> |
| | | <result column="received_amount" property="receivedAmount"/> |
| | | <result column="unpaid_amount" property="unpaidAmount"/> |
| | | <result column="special_discount" property="specialDiscount"/> |
| | | <result column="collection_progress" property="collectionProgress"/> |
| | | <result column="final_collection_deadline" property="finalCollectionDeadline"/> |
| | | <result column="collection_reminder_status" property="collectionReminderStatus"/> |
| | | <result column="remark" property="remark"/> |
| | | </association> |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="getContractInfo" resultMap="ContractDtoResultMap"> |
| | | select t.a_link,t.a_link aLink,t.a_contacts,t.a_contacts aContacts,t.amount,t.contract_type,t.contract_type |
| | | contractType,t.status_cd,t.status_cd statusCd,t.store_id,t.store_id |
| | | storeId,t.operator,t.signing_time,t.signing_time signingTime,t.b_contacts,t.b_contacts |
| | |
| | | ,t.a_partya_id aPartyaId,t.b_partya_id bPartyaId,t.c_partya_id cPartyaId,s_community.`name` communityName, |
| | | t.property_company propertyCompany,t.contract_term contractTerm,t.is_archived isArchived, |
| | | t.contract_reminder_date contractReminderDate,t.signatory_address signatoryAddress, |
| | | t.contact_email contactEmail,t.contact_wechat contactWechat,t.remarks remarks |
| | | t.contact_email contactEmail,t.contact_wechat contactWechat,t.remarks remarks, |
| | | t.has_supplement_agreement has_supplement_agreement, |
| | | |
| | | -- 广告表字段 |
| | | ad.id ad_id, |
| | | ad.contract_id ad_contract_id, |
| | | ad.ad_type, |
| | | ad.sub_type, |
| | | ad.cooperation_form, |
| | | ad.building_elevator_count, |
| | | ad.online_quantity, |
| | | ad.facility_location, |
| | | |
| | | -- 合同金额明细 |
| | | detail.id detail_id, |
| | | detail.contract_id detail_contract_id, |
| | | detail.total_contract_amount, |
| | | detail.unit_price, |
| | | detail.annual_amount, |
| | | detail.total_amount, |
| | | detail.settlement_method, |
| | | detail.settlement_amount, |
| | | detail.fee_type, |
| | | detail.account_info, |
| | | detail.main_meter_no, |
| | | detail.sub_meter_no, |
| | | detail.last_month_reading, |
| | | detail.current_month_reading, |
| | | detail.current_period_consumption, |
| | | detail.electricity_unit_price, |
| | | detail.electricity_fee, |
| | | detail.deposit, |
| | | detail.settlement_cycle, |
| | | detail.payment_remark, |
| | | |
| | | -- 合同管理分成 |
| | | share.id share_id, |
| | | share.contract_id share_contract_id, |
| | | share.management_ratio, |
| | | share.our_company_amount, |
| | | share.our_committee_share, |
| | | share.our_company_receivable, |
| | | |
| | | -- 合同缴费状态 |
| | | payment.id payment_id, |
| | | payment.contract_id payment_contract_id, |
| | | payment.payment_status, |
| | | payment.receivable_amount, |
| | | IFNULL(ccd.received_amount, 0) received_amount, |
| | | |
| | | payment.unpaid_amount, |
| | | payment.special_discount, |
| | | payment.collection_progress, |
| | | payment.final_collection_deadline, |
| | | payment.collection_reminder_status, |
| | | payment.remark |
| | | |
| | | from contract t |
| | | LEFT JOIN contract_type ct on t.contract_type = ct.contract_type_id and ct.status_cd = '0' and ct.store_id = |
| | | t.store_id |
| | | LEFT JOIN contract_type ct on t.contract_type = ct.contract_type_id and ct.status_cd = '0' and ct.store_id = t.store_id |
| | | LEFT JOIN t_dict td on td.status_cd = t.state and td.table_name = 'contract' and td.table_columns = 'state' |
| | | left join contract tt on t.contract_parent_id = tt.contract_id and tt.status_cd = '0' and tt.store_id = |
| | | t.store_id |
| | | left join contract tt on t.contract_parent_id = tt.contract_id and tt.status_cd = '0' and tt.store_id = t.store_id |
| | | left join s_community on t.community_id = s_community.community_id |
| | | where 1 =1 |
| | | LEFT JOIN ( |
| | | SELECT |
| | | contract_id, |
| | | IFNULL(SUM(collection_amount), 0) AS received_amount |
| | | FROM contract_collection_detail |
| | | GROUP BY contract_id |
| | | ) ccd ON t.contract_id = ccd.contract_id |
| | | -- 已有的广告表 |
| | | LEFT JOIN ad_contract_info ad on t.contract_id = ad.contract_id |
| | | |
| | | -- 新增 3 张子表关联 |
| | | LEFT JOIN contract_amount_detail detail on t.contract_id = detail.contract_id |
| | | LEFT JOIN contract_management_share share on t.contract_id = share.contract_id |
| | | LEFT JOIN contract_payment_status payment on t.contract_id = payment.contract_id |
| | | where 1=1 |
| | | <if test="communityName != null and communityName != ''"> |
| | | and s_community.`name` like concat('%',#{communityName},'%') |
| | | </if> |
| | |
| | | <if test="contractReminderDate !=null and contractReminderDate != ''"> |
| | | and t.contract_reminder_date= #{contractReminderDate} |
| | | </if> |
| | | <if test="hasSupplementAgreement !=null and hasSupplementAgreement != ''"> |
| | | and t.has_supplement_agreement= #{hasSupplementAgreement} |
| | | </if> |
| | | order by t.create_time desc |
| | | <if test="page != -1 and page != null "> |
| | | limit #{page}, #{row} |
| | |
| | | <if test="newBId != null and newBId != ''"> |
| | | ,t.b_id = #{newBId} |
| | | </if> |
| | | <if test="aLink !=null"> |
| | | <if test="aLink != null and aLink != ''"> |
| | | , t.a_link= #{aLink} |
| | | </if> |
| | | <if test="aContacts !=null"> |
| | | <if test="aContacts != null and aContacts != ''"> |
| | | , t.a_contacts= #{aContacts} |
| | | </if> |
| | | <if test="amount !=null and amount != ''"> |
| | | <if test="amount != null and amount != ''"> |
| | | , t.amount= #{amount} |
| | | </if> |
| | | <if test="contractType !=null and contractType != ''"> |
| | | <if test="contractType != null and contractType != ''"> |
| | | , t.contract_type= #{contractType} |
| | | </if> |
| | | <if test="storeId !=null and storeId != ''"> |
| | | <if test="storeId != null and storeId != ''"> |
| | | , t.store_id= #{storeId} |
| | | </if> |
| | | <if test="operator !=null and operator != ''"> |
| | | <if test="operator != null and operator != ''"> |
| | | , t.operator= #{operator} |
| | | </if> |
| | | <if test="signingTime !=null and signingTime != ''"> |
| | | <if test="signingTime != null and signingTime != ''"> |
| | | , t.signing_time= #{signingTime} |
| | | </if> |
| | | <if test="bContacts !=null"> |
| | | <if test="bContacts != null and bContacts != ''"> |
| | | , t.b_contacts= #{bContacts} |
| | | </if> |
| | | <if test="partyA !=null and partyA != ''"> |
| | | <if test="partyA != null and partyA != ''"> |
| | | , t.party_a= #{partyA} |
| | | </if> |
| | | <if test="bLink !=null"> |
| | | <if test="bLink != null and bLink != ''"> |
| | | , t.b_link= #{bLink} |
| | | </if> |
| | | <if test="partyB !=null and partyB != ''"> |
| | | <if test="partyB != null and partyB != ''"> |
| | | , t.party_b= #{partyB} |
| | | </if> |
| | | <if test="objId !=null and objId != ''"> |
| | | <if test="objId != null and objId != ''"> |
| | | , t.obj_id= #{objId} |
| | | </if> |
| | | <if test="objName !=null and objName != ''"> |
| | | <if test="objName != null and objName != ''"> |
| | | , t.obj_name= #{objName} |
| | | </if> |
| | | <if test="objPersonId !=null and objPersonId != ''"> |
| | | <if test="objPersonId != null and objPersonId != ''"> |
| | | , t.obj_person_id= #{objPersonId} |
| | | </if> |
| | | <if test="objPersonName !=null and objPersonName != ''"> |
| | | <if test="objPersonName != null and objPersonName != ''"> |
| | | , t.obj_person_name= #{objPersonName} |
| | | </if> |
| | | <if test="contractName !=null and contractName != ''"> |
| | | <if test="contractName != null and contractName != ''"> |
| | | , t.contract_name= #{contractName} |
| | | </if> |
| | | <if test="startTime !=null "> |
| | | |
| | | <!-- ========== 关键修复:时间字段必须判断空字符串 ========== --> |
| | | <if test="startTime != null and startTime != ''"> |
| | | , t.start_time= #{startTime} |
| | | </if> |
| | | <if test="endTime !=null"> |
| | | <if test="endTime != null and endTime != ''"> |
| | | , t.end_time= #{endTime} |
| | | </if> |
| | | <if test="state !=null and state != ''"> |
| | | |
| | | <if test="state != null and state != ''"> |
| | | , t.state= #{state} |
| | | </if> |
| | | <if test="stateDesc !=null and stateDesc != ''"> |
| | | <if test="stateDesc != null and stateDesc != ''"> |
| | | , t.state_desc= #{stateDesc} |
| | | </if> |
| | | <if test="contractCode !=null and contractCode != ''"> |
| | | <if test="contractCode != null and contractCode != ''"> |
| | | , t.contract_code= #{contractCode} |
| | | </if> |
| | | <if test="objType !=null and objType != ''"> |
| | | <if test="objType != null and objType != ''"> |
| | | , t.obj_type= #{objType} |
| | | </if> |
| | | <if test="operatorLink !=null and operatorLink != ''"> |
| | | <if test="operatorLink != null and operatorLink != ''"> |
| | | , t.operator_link= #{operatorLink} |
| | | </if> |
| | | <if test="partyC !=null and partyC != ''"> |
| | | <if test="partyC != null and partyC != ''"> |
| | | , t.party_c= #{partyC} |
| | | </if> |
| | | <if test="cLink !=null"> |
| | | <if test="cLink != null and cLink != ''"> |
| | | , t.c_link= #{cLink} |
| | | </if> |
| | | <if test="cContacts !=null"> |
| | | <if test="cContacts != null and cContacts != ''"> |
| | | , t.c_contacts= #{cContacts} |
| | | </if> |
| | | <if test="aPartyaId !=null"> |
| | | <if test="aPartyaId != null and aPartyaId != ''"> |
| | | , t.a_partya_id= #{aPartyaId} |
| | | </if> |
| | | <if test="bPartyaId !=null"> |
| | | <if test="bPartyaId != null and bPartyaId != ''"> |
| | | , t.b_partya_id= #{bPartyaId} |
| | | </if> |
| | | <if test="cPartyaId !=null"> |
| | | <if test="cPartyaId != null and cPartyaId != ''"> |
| | | , t.c_partya_id= #{cPartyaId} |
| | | </if> |
| | | <if test="communityId != null and communityId != ''"> |
| | | , t.community_id = #{communityId} |
| | | </if> |
| | | <!-- 新增字段的更新逻辑 --> |
| | | <if test="propertyCompany !=null and propertyCompany != ''"> |
| | | <if test="propertyCompany != null and propertyCompany != ''"> |
| | | , t.property_company= #{propertyCompany} |
| | | </if> |
| | | <if test="contractTerm !=null and contractTerm != ''"> |
| | | <if test="contractTerm != null and contractTerm != ''"> |
| | | , t.contract_term= #{contractTerm} |
| | | </if> |
| | | <if test="isArchived !=null and isArchived != ''"> |
| | | <if test="isArchived != null and isArchived != ''"> |
| | | , t.is_archived= #{isArchived} |
| | | </if> |
| | | <if test="contractReminderDate !=null and contractReminderDate != ''"> |
| | | |
| | | <!-- ========== 关键修复 ========== --> |
| | | <if test="contractReminderDate != null and contractReminderDate != ''"> |
| | | , t.contract_reminder_date= #{contractReminderDate} |
| | | </if> |
| | | <if test="signatoryAddress !=null and signatoryAddress != ''"> |
| | | |
| | | <if test="signatoryAddress != null and signatoryAddress != ''"> |
| | | , t.signatory_address= #{signatoryAddress} |
| | | </if> |
| | | <if test="contactEmail !=null and contactEmail != ''"> |
| | | <if test="contactEmail != null and contactEmail != ''"> |
| | | , t.contact_email= #{contactEmail} |
| | | </if> |
| | | <if test="contactWechat !=null and contactWechat != ''"> |
| | | <if test="contactWechat != null and contactWechat != ''"> |
| | | , t.contact_wechat= #{contactWechat} |
| | | </if> |
| | | <if test="remarks !=null and remarks != ''"> |
| | | <if test="remarks != null and remarks != ''"> |
| | | , t.remarks= #{remarks} |
| | | </if> |
| | | <if test="hasSupplementAgreement != null and hasSupplementAgreement != ''"> |
| | | , t.has_supplement_agreement= #{hasSupplementAgreement} |
| | | </if> |
| | | where 1=1 |
| | | <if test="contractId !=null and contractId != ''"> |
| | | <if test="contractId != null and contractId != ''"> |
| | | and t.contract_id= #{contractId} |
| | | </if> |
| | | </update> |
| | | |
| | | <insert id="saveOrUpdateAdContractInfo"> |
| | | insert into ad_contract_info (id, contract_id, ad_type, sub_type, cooperation_form, |
| | | building_elevator_count, online_quantity, facility_location) |
| | | values (#{id}, #{contractId}, #{adType}, #{subType}, #{cooperationForm}, |
| | | #{buildingElevatorCount}, #{onlineQuantity}, #{facilityLocation}) |
| | | on duplicate key update |
| | | ad_type = #{adType}, |
| | | sub_type = #{subType}, |
| | | cooperation_form = #{cooperationForm}, |
| | | building_elevator_count = #{buildingElevatorCount}, |
| | | online_quantity = #{onlineQuantity}, |
| | | facility_location = #{facilityLocation} |
| | | </insert> |
| | | |
| | | <insert id="saveOrUpdateContractAmountDetail"> |
| | | insert into contract_amount_detail (id, contract_id, total_contract_amount, unit_price, annual_amount, total_amount, |
| | | settlement_method, settlement_amount, fee_type, account_info, main_meter_no, sub_meter_no, |
| | | last_month_reading, current_month_reading, current_period_consumption, electricity_unit_price, |
| | | electricity_fee, deposit, settlement_cycle, payment_remark) |
| | | values (#{id}, #{contractId}, #{totalContractAmount}, #{unitPrice}, #{annualAmount}, #{totalAmount}, |
| | | #{settlementMethod}, #{settlementAmount}, #{feeType}, #{accountInfo}, #{mainMeterNo}, #{subMeterNo}, |
| | | #{lastMonthReading}, #{currentMonthReading}, #{currentPeriodConsumption}, #{electricityUnitPrice}, |
| | | #{electricityFee}, #{deposit}, #{settlementCycle}, #{paymentRemark}) |
| | | on duplicate key update |
| | | total_contract_amount = #{totalContractAmount}, |
| | | unit_price = #{unitPrice}, |
| | | annual_amount = #{annualAmount}, |
| | | total_amount = #{totalAmount}, |
| | | settlement_method = #{settlementMethod}, |
| | | settlement_amount = #{settlementAmount}, |
| | | fee_type = #{feeType}, |
| | | account_info = #{accountInfo}, |
| | | main_meter_no = #{mainMeterNo}, |
| | | sub_meter_no = #{subMeterNo}, |
| | | last_month_reading = #{lastMonthReading}, |
| | | current_month_reading = #{currentMonthReading}, |
| | | current_period_consumption = #{currentPeriodConsumption}, |
| | | electricity_unit_price = #{electricityUnitPrice}, |
| | | electricity_fee = #{electricityFee}, |
| | | deposit = #{deposit}, |
| | | settlement_cycle = #{settlementCycle}, |
| | | payment_remark = #{paymentRemark} |
| | | </insert> |
| | | |
| | | <insert id="saveOrUpdateContractManagementShare"> |
| | | insert into contract_management_share (id, contract_id, management_ratio, our_company_amount, our_committee_share, our_company_receivable) |
| | | values (#{id}, #{contractId}, #{managementRatio}, #{ourCompanyAmount}, #{ourCommitteeShare}, #{ourCompanyReceivable}) |
| | | on duplicate key update |
| | | management_ratio = #{managementRatio}, |
| | | our_company_amount = #{ourCompanyAmount}, |
| | | our_committee_share = #{ourCommitteeShare}, |
| | | our_company_receivable = #{ourCompanyReceivable} |
| | | </insert> |
| | | |
| | | <insert id="saveOrUpdateContractPaymentStatus"> |
| | | insert into contract_payment_status (id, contract_id, payment_status, receivable_amount, received_amount, unpaid_amount, |
| | | special_discount, collection_progress, final_collection_deadline, collection_reminder_status, remark) |
| | | values (#{id}, #{contractId}, #{paymentStatus}, #{receivableAmount}, #{receivedAmount}, #{unpaidAmount}, |
| | | #{specialDiscount}, #{collectionProgress}, #{finalCollectionDeadline}, #{collectionReminderStatus}, #{remark}) |
| | | on duplicate key update |
| | | payment_status = #{paymentStatus}, |
| | | receivable_amount = #{receivableAmount}, |
| | | received_amount = #{receivedAmount}, |
| | | unpaid_amount = #{unpaidAmount}, |
| | | special_discount = #{specialDiscount}, |
| | | collection_progress = #{collectionProgress}, |
| | | final_collection_deadline = #{finalCollectionDeadline}, |
| | | collection_reminder_status = #{collectionReminderStatus}, |
| | | remark = #{remark} |
| | | </insert> |
| | | |
| | | <!-- 查询合同管理数量 add by wuxw 2018-07-03 --> |
| | | <select id="queryContractsCount" parameterType="Map" resultType="Map"> |
| | |
| | | <if test="contractReminderDate !=null and contractReminderDate != ''"> |
| | | and t.contract_reminder_date= #{contractReminderDate} |
| | | </if> |
| | | <if test="hasSupplementAgreement !=null and hasSupplementAgreement != ''"> |
| | | and t.has_supplement_agreement= #{hasSupplementAgreement} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="queryContractsByOwnerIds" parameterType="Map" resultType="Map"> |
| | |
| | | @RequestMapping(value = "/saveContract", method = RequestMethod.POST) |
| | | public int saveContract(@RequestBody ContractPo contractPo); |
| | | |
| | | public int saveContract(@RequestBody ContractDto contractPo); |
| | | |
| | | @RequestMapping(value = "/updateContract", method = RequestMethod.POST) |
| | | public int updateContract(@RequestBody ContractPo contractPo); |
| | | |
| | | @RequestMapping(value = "/updateContractToDto", method = RequestMethod.POST) |
| | | public int updateContract(@RequestBody ContractDto contractPo); |
| | | |
| | | @RequestMapping(value = "/deleteContract", method = RequestMethod.POST) |
| | | public int deleteContract(@RequestBody ContractPo contractPo); |
| | | |
| | |
| | | * @return 目标对象 |
| | | */ |
| | | public static <T1, T2> T2 covertBean(T1 orgBean, T2 dstBean) { |
| | | |
| | | if(orgBean == null){ |
| | | if (orgBean == null) { |
| | | return dstBean; |
| | | } |
| | | |
| | | try { |
| | | //BeanUtils.copyProperties(dstBean, orgBean); |
| | | if (orgBean instanceof Map) { |
| | | BeanMap beanMap = BeanMap.create(dstBean); |
| | | //beanMap.putAll((Map)orgBean); |
| | | objectFieldsPutMap(dstBean, beanMap, (Map) orgBean); |
| | | objectFieldsPutMap(dstBean, beanMap, (Map<String, Object>) orgBean); |
| | | return dstBean; |
| | | } |
| | | final BeanCopier beanCopier = BeanCopier.create(orgBean.getClass(), dstBean.getClass(), true); |
| | |
| | | } |
| | | |
| | | private static void objectFieldsPutMap(Object dstBean, BeanMap beanMap, Map<String, Object> orgMap) { |
| | | //Field[] fields = dstBean.getClass().getDeclaredFields(); |
| | | Field[] fields = FieldUtils.getAllFields(dstBean.getClass()); |
| | | for (Field field : fields) { |
| | | if (!orgMap.containsKey(field.getName())) { |
| | | String fieldName = field.getName(); |
| | | if (!orgMap.containsKey(fieldName)) { |
| | | continue; |
| | | } |
| | | Class<?> dstClass = field.getType(); |
| | | //System.out.println("字段类型" + dstClass); |
| | | |
| | | Object value = orgMap.get(field.getName()); |
| | | if(value == null){ |
| | | Class<?> targetType = field.getType(); |
| | | Object value = orgMap.get(fieldName); |
| | | if (value == null) { |
| | | continue; |
| | | } |
| | | //String 转date |
| | | Object tmpValue = Java110Converter.getValue(value, dstClass); |
| | | //System.out.println("tmpValue"+value.toString()); |
| | | beanMap.put(field.getName(), tmpValue); |
| | | |
| | | try { |
| | | // ✅ 核心修复:只要是 Map,且目标不是基础类型,就递归转 DTO |
| | | if (value instanceof Map) { |
| | | // 排除基础类型、包装类、String、Date |
| | | boolean isBasicType = targetType.isPrimitive() |
| | | || Number.class.isAssignableFrom(targetType) |
| | | || String.class == targetType |
| | | || Boolean.class == targetType |
| | | || Date.class == targetType; |
| | | |
| | | if (!isBasicType) { |
| | | // 递归创建并转换嵌套对象 |
| | | Object nestedObj = targetType.newInstance(); |
| | | objectFieldsPutMap(nestedObj, BeanMap.create(nestedObj), (Map<String, Object>) value); |
| | | value = nestedObj; |
| | | } |
| | | } |
| | | |
| | | // 原有类型转换(String->Date等) |
| | | Object convertedValue = Java110Converter.getValue(value, targetType); |
| | | beanMap.put(fieldName, convertedValue); |
| | | |
| | | } catch (Exception ignored) { |
| | | // 转换失败不抛错,保持原有逻辑兼容 |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | import java.time.LocalDateTime; |
| | | import java.time.Period; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.time.format.DateTimeParseException; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | LocalDate date = LocalDate.of(year, month, 1); // 创建一个日期对象,年份和月份为指定值,日期为1号 |
| | | return date.lengthOfMonth(); // 返回该月的天数 |
| | | } |
| | | private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | |
| | | public static boolean isValidDate(String dateStr) { |
| | | // ✅ 关键修复:先彻底去除前后空白(包括空格、制表符、换行) |
| | | if (dateStr == null || dateStr.isEmpty()) { |
| | | return true; |
| | | } |
| | | |
| | | // 去掉所有空白后再校验 |
| | | String cleanDate = dateStr.trim(); |
| | | |
| | | try { |
| | | LocalDate.parse(cleanDate, DATE_FORMATTER); |
| | | return true; |
| | | } catch (DateTimeParseException e) { |
| | | return false; |
| | | } |
| | | } |
| | | private static Map<String, SimpleDateFormat> formats = new HashMap(); |
| | | public static final String DATE_FORMATE_STRING_DEFAULT = "yyyyMMddHHmmss"; |
| | | public static final String DATE_FORMATE_STRING_A = "yyyy-MM-dd HH:mm:ss"; |
| | |
| | | } |
| | | |
| | | private void setCcds(ContractDto contractDto, Object[] os) { |
| | | List<ContractCollectionDetailDto> contractCollectionDetailDtos = new ArrayList<>(); |
| | | for (int j = 0; j < 10; j++) { |
| | | try { |
| | | int index = j * 10 + 53; |
| | | if (os[index] == null || os[index].equals("")) { |
| | | return; |
| | | } |
| | | // if (os[index] == null || os[index].equals("")) { |
| | | // return; |
| | | // } |
| | | ContractCollectionDetailDto ccd = new ContractCollectionDetailDto(); |
| | | ccd.setContractId(contractDto.getContractId()); |
| | | |
| | |
| | | ccd.setCollectionAmount(defaultValue(os[qbl + index + 7])); |
| | | ccd.setSpecialReduction(defaultValue(os[qbl + index + 8])); |
| | | ccd.setUnpaidMoney(defaultValue(os[qbl + index + 9])); |
| | | contractDto.getContractCollectionDetailDtos().add(ccd); |
| | | contractCollectionDetailDtos.add(ccd); |
| | | } catch (Exception e){ |
| | | continue; |
| | | } |
| | | } |
| | | contractDto.setContractCollectionDetailDtos(contractCollectionDetailDtos); |
| | | } |
| | | |
| | | private void setCps(ContractDto contractDto, Object[] os) { |
| | |
| | | */ |
| | | private void getOwnerRooms(Workbook workbook, List<Object[]> ownerRoomDtos, ComponentValidateResult result) throws ParseException { |
| | | Sheet sheet = null; |
| | | sheet = ImportExcelUtils.getSheet(workbook, "荣顺苑签报单"); |
| | | String sheetName = "荣顺苑签报单"; |
| | | sheet = ImportExcelUtils.getSheet(workbook, sheetName); |
| | | List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet); |
| | | ImportOwnerRoomDto importOwnerRoomDto = null; |
| | | for (int osIndex = 0; osIndex < oList.size(); osIndex++) { |
| | |
| | | } |
| | | Object[] os = oList.get(osIndex); |
| | | |
| | | if (Vtil.defaultValue(os[2]) == null) { |
| | | try { |
| | | if (Vtil.defaultValue(os[2]) == null) { |
| | | continue; |
| | | } |
| | | }catch (Exception e){ |
| | | continue; |
| | | } |
| | | ownerRoomDtos.add(os); |
| | |
| | | import com.java110.dto.community.CommunityDto; |
| | | import com.java110.dto.floor.FloorDto; |
| | | import com.java110.dto.importData.OwnerCollectionDto; |
| | | import com.java110.dto.importData.Vtil; |
| | | import com.java110.dto.owner.OwnerAppUserDto; |
| | | import com.java110.dto.room.RoomDto; |
| | | import com.java110.dto.unit.UnitDto; |
| | |
| | | roomPo.setDoorRoomNum(importOwnerRoomDto.getDoorRoomNum()); |
| | | roomPo.setPropertyType(importOwnerRoomDto.getPropertyType()); |
| | | roomPo.setPropertyAddress(importOwnerRoomDto.getPropertyAddress()); |
| | | roomPo.setRemark(importOwnerRoomDto.getRemark()); |
| | | roomPo.setHouseCertificateNo(importOwnerRoomDto.getHouseCertificateNo()); |
| | | roomPo.setRoadName(importOwnerRoomDto.getRoadName()); |
| | | roomPo.setSellDate(importOwnerRoomDto.getSellDate()); |
| | |
| | | |
| | | UnitDto unitDto = new UnitDto(); |
| | | unitDto.setCommunityId(importOwnerRoomDto.getCommunityId()); |
| | | if (Vtil.defaultValue(importOwnerRoomDto.getUnitNum()) == null) { |
| | | importOwnerRoomDto.setUnitNum("空"); |
| | | } |
| | | unitDto.setUnitNum(importOwnerRoomDto.getUnitNum()); |
| | | unitDto.setFloorId(floorId); |
| | | List<UnitDto> unitDtos = unitV1InnerServiceSMOImpl.queryUnits(unitDto); |
| | |
| | | package com.java110.fee.api; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.fee.bmo.importFeeDetail.IDeleteImportFeeDetailBMO; |
| | | import com.java110.fee.bmo.importFeeDetail.IGetImportFeeDetailBMO; |
| | | import com.java110.fee.bmo.importFeeDetail.ISaveImportFeeDetailBMO; |
| | |
| | | @RequestMapping(value = "/saveMaintenancePayment", method = RequestMethod.POST) |
| | | public ResponseEntity<String> saveMaintenancePayment(@RequestBody JSONObject reqJson) { |
| | | // 核心参数校验(id为主键,新增时非必传,这里校验核心业务字段) |
| | | Assert.hasKeyAndValue(reqJson, "flowNumber", "请求报文中未包含流转编号"); |
| | | Assert.hasKeyAndValue(reqJson, "projectCode", "请求报文中未包含项目编码"); |
| | | // Assert.hasKeyAndValue(reqJson, "flowNumber", "请求报文中未包含流转编号"); |
| | | // Assert.hasKeyAndValue(reqJson, "projectCode", "请求报文中未包含项目编码"); |
| | | |
| | | // 将JSON参数转换为实体类 |
| | | MaintenancePayment maintenancePayment = BeanConvertUtil.covertBean(reqJson, MaintenancePayment.class); |
| | | maintenancePayment.setId(GenerateCodeFactory.getGeneratorId("43")); |
| | | return saveImportFeeDetailBMOImpl.save(maintenancePayment); |
| | | } |
| | | |
| | |
| | | MpPaymentRecord mpPaymentRecord = BeanConvertUtil.covertBean(reqJson, MpPaymentRecord.class); |
| | | // 由于BMO接口使用MaintenancePayment,这里需要做适配转换 |
| | | // 注意:这里需要根据实际情况调整,可能需要转换器 |
| | | MpPaymentRecord mpPaymentRecord1 = new MpPaymentRecord(); |
| | | mpPaymentRecord1.setMpId(reqJson.getString("mpId")); |
| | | ResponseEntity<String> stringResponseEntity = getImportFeeDetailBMOImpl.get(mpPaymentRecord1); |
| | | mpPaymentRecord.setPrintCount((JSONObject.parseObject(stringResponseEntity.getBody()).getInteger("total") + 1) + ""); |
| | | return saveImportFeeDetailBMOImpl.save(mpPaymentRecord); |
| | | } |
| | | |
| | |
| | | package com.java110.fee.api.contract; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.dto.contract.ContractAmountDetailDto; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import org.mybatis.spring.SqlSessionTemplate; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 合同金额明细信息接口 |
| | | * 适配 contract_amount_detail 表 |
| | | * @author dev |
| | | * @date 2025-12-24 |
| | | */ |
| | | @RestController |
| | | @RequestMapping(value = "/contractAmountDetail") |
| | | public class ContractAmountDetailApi { |
| | | |
| | | @Autowired |
| | | protected SqlSessionTemplate sqlSessionTemplate; |
| | | |
| | | /** |
| | | * 保存合同金额明细信息 |
| | | * |
| | | * @param reqJson 请求参数 |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/saveContractAmountDetail |
| | | * @path /app/contractAmountDetail/saveContractAmountDetail |
| | | */ |
| | | @RequestMapping(value = "/saveContractAmountDetail", method = RequestMethod.POST) |
| | | public ResponseEntity<String> saveContractAmountDetail(@RequestBody JSONObject reqJson) { |
| | | // 核心参数校验 |
| | | Assert.hasKeyAndValue(reqJson, "contractId", "请求报文中未包含合同ID"); |
| | | |
| | | // 转换为DTO |
| | | ContractAmountDetailDto dto = BeanConvertUtil.covertBean(reqJson, ContractAmountDetailDto.class); |
| | | |
| | | // 调用Mapper保存方法 |
| | | int insert = sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(dto)); |
| | | |
| | | // 构造响应结果 |
| | | JSONObject resJson = new JSONObject(); |
| | | if (insert > 0) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "保存合同金额明细信息成功"); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "保存合同金额明细信息失败"); |
| | | } |
| | | resJson.put("count", insert); |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 重载保存方法(入参为DTO) |
| | | */ |
| | | public ResponseEntity<String> saveContractAmountDetail(ContractAmountDetailDto dto) { |
| | | int insert = sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(dto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | if (insert > 0) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "保存合同金额明细信息成功"); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "保存合同金额明细信息失败"); |
| | | } |
| | | resJson.put("count", insert); |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 修改合同金额明细信息 |
| | | * |
| | | * @param reqJson 请求参数 |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/updateContractAmountDetail |
| | | * @path /app/contractAmountDetail/updateContractAmountDetail |
| | | */ |
| | | @RequestMapping(value = "/updateContractAmountDetail", method = RequestMethod.POST) |
| | | public ResponseEntity<String> updateContractAmountDetail(@RequestBody JSONObject reqJson) { |
| | | // 主键/合同ID校验(二选一) |
| | | Assert.hasKey(reqJson, "id", "请求报文中未包含主键ID"); |
| | | Assert.hasKey(reqJson, "contractId", "请求报文中未包含合同ID"); |
| | | |
| | | ContractAmountDetailDto dto = BeanConvertUtil.covertBean(reqJson, ContractAmountDetailDto.class); |
| | | |
| | | // 调用Mapper修改方法 |
| | | int update = sqlSessionTemplate.update("contractAmountDetailDaoImpl.updateContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(dto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | if (update > 0) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "修改合同金额明细信息成功"); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "修改合同金额明细信息失败,未找到对应记录"); |
| | | } |
| | | resJson.put("count", update); |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询合同金额明细信息列表 |
| | | * |
| | | * @param id 主键ID(可选) |
| | | * @param contractId 合同ID(可选) |
| | | * @param totalContractAmount 合同总金额(可选) |
| | | * @param unitPrice 单价(可选) |
| | | * @param accountInfo 账户信息(可选) |
| | | * @param mainMeterNo 主表编号(可选) |
| | | * @param paymentRemark 付款备注(可选) |
| | | * @param page 页码(默认1) |
| | | * @param row 每页条数(默认10) |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/queryContractAmountDetail |
| | | * @path /app/contractAmountDetail/queryContractAmountDetail |
| | | */ |
| | | @RequestMapping(value = "/queryContractAmountDetail", method = RequestMethod.GET) |
| | | public ResponseEntity<String> queryContractAmountDetail( |
| | | @RequestParam(value = "id", required = false) String id, |
| | | @RequestParam(value = "contractId", required = false) String contractId, |
| | | @RequestParam(value = "totalContractAmount", required = false) String totalContractAmount, |
| | | @RequestParam(value = "unitPrice", required = false) String unitPrice, |
| | | @RequestParam(value = "accountInfo", required = false) String accountInfo, |
| | | @RequestParam(value = "mainMeterNo", required = false) String mainMeterNo, |
| | | @RequestParam(value = "paymentRemark", required = false) String paymentRemark, |
| | | @RequestParam(value = "page", defaultValue = "1") int page, |
| | | @RequestParam(value = "row", defaultValue = "10") int row) { |
| | | |
| | | // 封装查询参数 |
| | | ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | queryDto.setId(Integer.parseInt(id)); |
| | | queryDto.setContractId(contractId); |
| | | queryDto.setTotalContractAmount(totalContractAmount); |
| | | queryDto.setUnitPrice(unitPrice); |
| | | queryDto.setAccountInfo(accountInfo); |
| | | queryDto.setMainMeterNo(mainMeterNo); |
| | | queryDto.setPaymentRemark(paymentRemark); |
| | | queryDto.setPage((page - 1) * row); |
| | | queryDto.setRow(row); |
| | | |
| | | // 查询列表数据 |
| | | List<Map<String, Object>> list = sqlSessionTemplate.selectList( |
| | | "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(queryDto)); |
| | | |
| | | // 查询总数 |
| | | Object total = ((HashMap) sqlSessionTemplate.selectOne( |
| | | "contractAmountDetailDaoImpl.queryContractAmountDetailsCount", |
| | | BeanConvertUtil.beanCovertMap(queryDto))).get("count"); |
| | | |
| | | // 构造分页响应 |
| | | JSONObject resJson = new JSONObject(); |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "查询合同金额明细信息成功"); |
| | | resJson.put("page", page); |
| | | resJson.put("row", row); |
| | | resJson.put("total", total); |
| | | resJson.put("data", list); |
| | | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 根据ID查询单条合同金额明细信息 |
| | | * |
| | | * @param id 主键ID |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/getContractAmountDetailById |
| | | * @path /app/contractAmountDetail/getContractAmountDetailById |
| | | */ |
| | | @RequestMapping(value = "/getContractAmountDetailById", method = RequestMethod.GET) |
| | | public ResponseEntity<String> getContractAmountDetailById(@RequestParam(value = "id") Integer id) { |
| | | // 主键校验 |
| | | Assert.notNull(id, "主键ID不能为空"); |
| | | |
| | | ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | queryDto.setId(id); |
| | | |
| | | // 查询单条数据 |
| | | Map<String, Object> result = sqlSessionTemplate.selectOne( |
| | | "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(queryDto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | if (result != null) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "查询合同金额明细信息成功"); |
| | | resJson.put("data", result); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "未找到对应合同金额明细记录"); |
| | | } |
| | | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 根据合同ID查询合同金额明细信息 |
| | | * |
| | | * @param contractId 合同ID |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/getContractAmountDetailByContractId |
| | | * @path /app/contractAmountDetail/getContractAmountDetailByContractId |
| | | */ |
| | | @RequestMapping(value = "/getContractAmountDetailByContractId", method = RequestMethod.GET) |
| | | public ResponseEntity<String> getContractAmountDetailByContractId(@RequestParam(value = "contractId") String contractId) { |
| | | Assert.hasLength(contractId, "合同ID不能为空"); |
| | | |
| | | ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | queryDto.setContractId(contractId); |
| | | |
| | | List<Map<String, Object>> result = sqlSessionTemplate.selectList( |
| | | "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(queryDto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "查询合同金额明细信息成功"); |
| | | resJson.put("data", result); |
| | | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | } |
| | | //package com.java110.fee.api.contract; |
| | | // |
| | | //import com.alibaba.fastjson.JSONObject; |
| | | //import com.java110.dto.contract.ContractAmountDetailDto; |
| | | //import com.java110.utils.util.Assert; |
| | | //import com.java110.utils.util.BeanConvertUtil; |
| | | //import org.mybatis.spring.SqlSessionTemplate; |
| | | //import org.springframework.beans.factory.annotation.Autowired; |
| | | //import org.springframework.http.ResponseEntity; |
| | | //import org.springframework.web.bind.annotation.*; |
| | | // |
| | | //import java.util.HashMap; |
| | | //import java.util.List; |
| | | //import java.util.Map; |
| | | // |
| | | ///** |
| | | // * 合同金额明细信息接口 |
| | | // * 适配 contract_amount_detail 表 |
| | | // * @author dev |
| | | // * @date 2025-12-24 |
| | | // */ |
| | | ////@RestController |
| | | //@RequestMapping(value = "/contractAmountDetaila") |
| | | //public class ContractAmountDetailApi { |
| | | // |
| | | // @Autowired |
| | | // protected SqlSessionTemplate sqlSessionTemplate; |
| | | // |
| | | // /** |
| | | // * 保存合同金额明细信息 |
| | | // * |
| | | // * @param reqJson 请求参数 |
| | | // * @return 响应结果 |
| | | // * @serviceCode /contractAmountDetail/saveContractAmountDetail |
| | | // * @path /app/contractAmountDetail/saveContractAmountDetail |
| | | // */ |
| | | // @RequestMapping(value = "/saveContractAmountDetail", method = RequestMethod.POST) |
| | | // public ResponseEntity<String> saveContractAmountDetail(@RequestBody JSONObject reqJson) { |
| | | // // 核心参数校验 |
| | | // Assert.hasKeyAndValue(reqJson, "contractId", "请求报文中未包含合同ID"); |
| | | // |
| | | // // 转换为DTO |
| | | // ContractAmountDetailDto dto = BeanConvertUtil.covertBean(reqJson, ContractAmountDetailDto.class); |
| | | // |
| | | // // 调用Mapper保存方法 |
| | | // int insert = sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", |
| | | // BeanConvertUtil.beanCovertMap(dto)); |
| | | // |
| | | // // 构造响应结果 |
| | | // JSONObject resJson = new JSONObject(); |
| | | // if (insert > 0) { |
| | | // resJson.put("code", "0000"); |
| | | // resJson.put("msg", "保存合同金额明细信息成功"); |
| | | // } else { |
| | | // resJson.put("code", "0001"); |
| | | // resJson.put("msg", "保存合同金额明细信息失败"); |
| | | // } |
| | | // resJson.put("count", insert); |
| | | // return ResponseEntity.ok(resJson.toJSONString()); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 重载保存方法(入参为DTO) |
| | | // */ |
| | | // public ResponseEntity<String> saveContractAmountDetail(ContractAmountDetailDto dto) { |
| | | // int insert = sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", |
| | | // BeanConvertUtil.beanCovertMap(dto)); |
| | | // |
| | | // JSONObject resJson = new JSONObject(); |
| | | // if (insert > 0) { |
| | | // resJson.put("code", "0000"); |
| | | // resJson.put("msg", "保存合同金额明细信息成功"); |
| | | // } else { |
| | | // resJson.put("code", "0001"); |
| | | // resJson.put("msg", "保存合同金额明细信息失败"); |
| | | // } |
| | | // resJson.put("count", insert); |
| | | // return ResponseEntity.ok(resJson.toJSONString()); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 修改合同金额明细信息 |
| | | // * |
| | | // * @param reqJson 请求参数 |
| | | // * @return 响应结果 |
| | | // * @serviceCode /contractAmountDetail/updateContractAmountDetail |
| | | // * @path /app/contractAmountDetail/updateContractAmountDetail |
| | | // */ |
| | | // @RequestMapping(value = "/updateContractAmountDetail", method = RequestMethod.POST) |
| | | // public ResponseEntity<String> updateContractAmountDetail(@RequestBody JSONObject reqJson) { |
| | | // // 主键/合同ID校验(二选一) |
| | | // Assert.hasKey(reqJson, "id", "请求报文中未包含主键ID"); |
| | | // Assert.hasKey(reqJson, "contractId", "请求报文中未包含合同ID"); |
| | | // |
| | | // ContractAmountDetailDto dto = BeanConvertUtil.covertBean(reqJson, ContractAmountDetailDto.class); |
| | | // |
| | | // // 调用Mapper修改方法 |
| | | // int update = sqlSessionTemplate.update("contractAmountDetailDaoImpl.updateContractAmountDetail", |
| | | // BeanConvertUtil.beanCovertMap(dto)); |
| | | // |
| | | // JSONObject resJson = new JSONObject(); |
| | | // if (update > 0) { |
| | | // resJson.put("code", "0000"); |
| | | // resJson.put("msg", "修改合同金额明细信息成功"); |
| | | // } else { |
| | | // resJson.put("code", "0001"); |
| | | // resJson.put("msg", "修改合同金额明细信息失败,未找到对应记录"); |
| | | // } |
| | | // resJson.put("count", update); |
| | | // return ResponseEntity.ok(resJson.toJSONString()); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 分页查询合同金额明细信息列表 |
| | | // * |
| | | // * @param id 主键ID(可选) |
| | | // * @param contractId 合同ID(可选) |
| | | // * @param totalContractAmount 合同总金额(可选) |
| | | // * @param unitPrice 单价(可选) |
| | | // * @param accountInfo 账户信息(可选) |
| | | // * @param mainMeterNo 主表编号(可选) |
| | | // * @param paymentRemark 付款备注(可选) |
| | | // * @param page 页码(默认1) |
| | | // * @param row 每页条数(默认10) |
| | | // * @return 响应结果 |
| | | // * @serviceCode /contractAmountDetail/queryContractAmountDetail |
| | | // * @path /app/contractAmountDetail/queryContractAmountDetail |
| | | // */ |
| | | // @RequestMapping(value = "/queryContractAmountDetail", method = RequestMethod.GET) |
| | | // public ResponseEntity<String> queryContractAmountDetail( |
| | | // @RequestParam(value = "id", required = false) String id, |
| | | // @RequestParam(value = "contractId", required = false) String contractId, |
| | | // @RequestParam(value = "totalContractAmount", required = false) String totalContractAmount, |
| | | // @RequestParam(value = "unitPrice", required = false) String unitPrice, |
| | | // @RequestParam(value = "accountInfo", required = false) String accountInfo, |
| | | // @RequestParam(value = "mainMeterNo", required = false) String mainMeterNo, |
| | | // @RequestParam(value = "paymentRemark", required = false) String paymentRemark, |
| | | // @RequestParam(value = "page", defaultValue = "1") int page, |
| | | // @RequestParam(value = "row", defaultValue = "10") int row) { |
| | | // |
| | | // // 封装查询参数 |
| | | // ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | // queryDto.setId(Integer.parseInt(id)); |
| | | // queryDto.setContractId(contractId); |
| | | // queryDto.setTotalContractAmount(totalContractAmount); |
| | | // queryDto.setUnitPrice(unitPrice); |
| | | // queryDto.setAccountInfo(accountInfo); |
| | | // queryDto.setMainMeterNo(mainMeterNo); |
| | | // queryDto.setPaymentRemark(paymentRemark); |
| | | // queryDto.setPage((page - 1) * row); |
| | | // queryDto.setRow(row); |
| | | // |
| | | // // 查询列表数据 |
| | | // List<Map<String, Object>> list = sqlSessionTemplate.selectList( |
| | | // "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | // BeanConvertUtil.beanCovertMap(queryDto)); |
| | | // |
| | | // // 查询总数 |
| | | // Object total = ((HashMap) sqlSessionTemplate.selectOne( |
| | | // "contractAmountDetailDaoImpl.queryContractAmountDetailsCount", |
| | | // BeanConvertUtil.beanCovertMap(queryDto))).get("count"); |
| | | // |
| | | // // 构造分页响应 |
| | | // JSONObject resJson = new JSONObject(); |
| | | // resJson.put("code", "0000"); |
| | | // resJson.put("msg", "查询合同金额明细信息成功"); |
| | | // resJson.put("page", page); |
| | | // resJson.put("row", row); |
| | | // resJson.put("total", total); |
| | | // resJson.put("data", list); |
| | | // |
| | | // return ResponseEntity.ok(resJson.toJSONString()); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 根据ID查询单条合同金额明细信息 |
| | | // * |
| | | // * @param id 主键ID |
| | | // * @return 响应结果 |
| | | // * @serviceCode /contractAmountDetail/getContractAmountDetailById |
| | | // * @path /app/contractAmountDetail/getContractAmountDetailById |
| | | // */ |
| | | // @RequestMapping(value = "/getContractAmountDetailById", method = RequestMethod.GET) |
| | | // public ResponseEntity<String> getContractAmountDetailById(@RequestParam(value = "id") Integer id) { |
| | | // // 主键校验 |
| | | // Assert.notNull(id, "主键ID不能为空"); |
| | | // |
| | | // ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | // queryDto.setId(id); |
| | | // |
| | | // // 查询单条数据 |
| | | // Map<String, Object> result = sqlSessionTemplate.selectOne( |
| | | // "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | // BeanConvertUtil.beanCovertMap(queryDto)); |
| | | // |
| | | // JSONObject resJson = new JSONObject(); |
| | | // if (result != null) { |
| | | // resJson.put("code", "0000"); |
| | | // resJson.put("msg", "查询合同金额明细信息成功"); |
| | | // resJson.put("data", result); |
| | | // } else { |
| | | // resJson.put("code", "0001"); |
| | | // resJson.put("msg", "未找到对应合同金额明细记录"); |
| | | // } |
| | | // |
| | | // return ResponseEntity.ok(resJson.toJSONString()); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 根据合同ID查询合同金额明细信息 |
| | | // * |
| | | // * @param contractId 合同ID |
| | | // * @return 响应结果 |
| | | // * @serviceCode /contractAmountDetail/getContractAmountDetailByContractId |
| | | // * @path /app/contractAmountDetail/getContractAmountDetailByContractId |
| | | // */ |
| | | // @RequestMapping(value = "/getContractAmountDetailByContractId", method = RequestMethod.GET) |
| | | // public ResponseEntity<String> getContractAmountDetailByContractId(@RequestParam(value = "contractId") String contractId) { |
| | | // Assert.hasLength(contractId, "合同ID不能为空"); |
| | | // |
| | | // ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | // queryDto.setContractId(contractId); |
| | | // |
| | | // List<Map<String, Object>> result = sqlSessionTemplate.selectList( |
| | | // "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | // BeanConvertUtil.beanCovertMap(queryDto)); |
| | | // |
| | | // JSONObject resJson = new JSONObject(); |
| | | // resJson.put("code", "0000"); |
| | | // resJson.put("msg", "查询合同金额明细信息成功"); |
| | | // resJson.put("data", result); |
| | | // |
| | | // return ResponseEntity.ok(resJson.toJSONString()); |
| | | // } |
| | | //} |
| | |
| | | import com.java110.dto.contract.ContractCollectionDetailDto; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import com.java110.vo.ResultVo; |
| | | import org.mybatis.spring.SqlSessionTemplate; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | @RequestMapping(value = "/deleteContractCollectionDetail", method = RequestMethod.POST) |
| | | public ResponseEntity<String> deleteContractCollectionDetail(@RequestBody JSONObject reqJson) { |
| | | // 主键/合同ID校验(二选一) |
| | | Assert.hasKey(reqJson, "id", "请求报文中未包含主键ID"); |
| | | // Assert.hasKey(reqJson, "contractId", "请求报文中未包含合同ID"); |
| | | |
| | | ContractCollectionDetailDto dto = BeanConvertUtil.covertBean(reqJson, ContractCollectionDetailDto.class); |
| | | |
| | | // 调用Mapper修改方法 |
| | | int update = sqlSessionTemplate.delete("contractCollectionDetailDaoImpl.deleteContractCollectionDetail", |
| | | BeanConvertUtil.beanCovertMap(dto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | if (update > 0) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "删除合同收款明细信息成功"); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "删除合同收款明细信息失败,未找到对应记录"); |
| | | } |
| | | resJson.put("count", update); |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | /** |
| | | * 分页查询合同收款明细信息列表 |
| | | * |
| | |
| | | } |
| | | |
| | | // 查询列表数据(MyBatis自动识别String[]并遍历) |
| | | List<Map<String, Object>> list = sqlSessionTemplate.selectList( |
| | | List<ContractCollectionDetailDto> list = BeanConvertUtil.covertBeanList(sqlSessionTemplate.selectList( |
| | | "contractCollectionDetailDaoImpl.getContractCollectionDetail", |
| | | BeanConvertUtil.beanCovertMap(queryDto)); |
| | | BeanConvertUtil.beanCovertMap(queryDto)), ContractCollectionDetailDto.class); |
| | | |
| | | // 查询总数 |
| | | Object total = ((HashMap) sqlSessionTemplate.selectOne( |
| | | "contractCollectionDetailDaoImpl.queryContractCollectionDetailCount", |
| | | BeanConvertUtil.beanCovertMap(queryDto))).get("count"); |
| | | |
| | | // 构造分页响应 |
| | | JSONObject resJson = new JSONObject(); |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "查询合同收款明细信息成功"); |
| | | resJson.put("page", page); |
| | | resJson.put("row", row); |
| | | resJson.put("total", total); |
| | | resJson.put("data", list); |
| | | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | |
| | | // 构造分页响应 |
| | | ResultVo resultVo = new ResultVo(); |
| | | resultVo.setCode(0000); |
| | | resultVo.setMsg("查询合同收款明细信息成功"); |
| | | resultVo.setPage(page); |
| | | resultVo.setRows(row); |
| | | resultVo.setTotal(Integer.parseInt(total.toString())); |
| | | resultVo.setData(list); |
| | | |
| | | // ResultVo resultVo = new ResultVo((int) Math.ceil((double) count / (double) payFeeAuditDto.getRow()), count, payFeeAuditDtos); |
| | | ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK); |
| | | return responseEntity; |
| | | } |
| | | |
| | | /** |
| | |
| | | import com.java110.utils.util.DateUtil; |
| | | import com.java110.vo.FeeQueryParams; |
| | | import com.java110.vo.ResultVo; |
| | | import com.sun.org.apache.regexp.internal.RE; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.HttpStatus; |
| | | import org.springframework.http.ResponseEntity; |
| | |
| | | |
| | | List<Map> result = reportFeeInnerServiceSMOImpl.repostPaidInFeeByWhiteOrder(feeQueryParams); |
| | | String[][] reportList = new String[feeQueryParams.getRow()!=null?feeQueryParams.getRow():100][]; |
| | | for (int i = 0; i < result.size(); i++) { |
| | | Map map = result.get(i); |
| | | String[] strings = new String[29]; |
| | | for (int j = 1; j <= 27; j++) { |
| | | if(map.containsKey("row"+j)){ |
| | | strings[j-1] = map.get("row"+j).toString(); |
| | | if (!result.get(0).get("count").toString().equals("0")) { |
| | | for (int i = 0; i < result.size(); i++) { |
| | | Map map = result.get(i); |
| | | String[] strings = new String[29]; |
| | | for (int j = 1; j <= 27; j++) { |
| | | if(map.containsKey("row"+j)){ |
| | | strings[j-1] = map.get("row"+j).toString(); |
| | | } |
| | | } |
| | | reportList[i] = strings; |
| | | } |
| | | reportList[i] = strings; |
| | | } |
| | | FeeDetailDto feeDetailDto = new FeeDetailDto(); |
| | | feeDetailDto.setCommunityId(reqJson.getString("communityId")); |
| | |
| | | public List<Map> getFeeConfigInfo(Map info) throws DAOException { |
| | | logger.debug("查询费用配置信息 入参 info : {}", info); |
| | | List<Map> infos = sqlSessionTemplate.selectList("feeConfigServiceDaoImpl.getFeeConfigInfo", info); |
| | | for (Map map : infos) { |
| | | if ((map.get("fee_type_cd").toString().equals("630000003") || map.get("fee_type_cd").toString().equals("630000004")) && map.get("computingFormula").toString().equals("1001")) { |
| | | map.put("computingFormulaName" , "月停车费*月份"); |
| | | } |
| | | } |
| | | return infos; |
| | | } |
| | | |
| | |
| | | public List<Map> repostPaidInFeeByWhiteOrder(Map map) { |
| | | List<Map> objects = sqlSessionTemplate.selectList("reportFeeServiceDaoImpl.repostPaidInFeeByWhiteOrder", map); |
| | | |
| | | if (objects.size() == 0){ |
| | | HashMap<String, Object> stringObjectHashMap = new HashMap<>(); |
| | | stringObjectHashMap.put("count",0); |
| | | objects.add(stringObjectHashMap); |
| | | if (objects.size() == 0){//没有数据时 |
| | | objects.get(0).put("count",0); |
| | | return objects; |
| | | } |
| | | List<Map> businessOaWorkflowInfos = sqlSessionTemplate.selectList("reportFeeServiceDaoImpl.countRepostPaidInFeeByWhiteOrder",map); |
| | |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.alibaba.fastjson.TypeReference; |
| | | import com.java110.core.factory.GenerateCodeFactory; |
| | | import com.java110.dto.community.CommunityDto; |
| | | import com.java110.dto.contract.*; |
| | |
| | | ContractAmountDetailDto contractAmountDetail = data.getObject("contractAmountDetail", ContractAmountDetailDto.class); |
| | | ContractManagementShareDto contractManagementShare = data.getObject("contractManagementShare", ContractManagementShareDto.class); |
| | | ContractPaymentStatusDto contractPaymentStatus = data.getObject("contractPaymentStatus", ContractPaymentStatusDto.class); |
| | | List<ContractCollectionDetailDto> contractCollectionDetail = data.getObject("contractCollectionDetail", List.class); |
| | | data.remove("adContractInfo"); |
| | | List<ContractCollectionDetailDto> contractCollectionDetail = data.getObject("contractCollectionDetailDtos", new TypeReference<List<ContractCollectionDetailDto>>() {}); data.remove("adContractInfo"); |
| | | data.remove("contractAmountDetail"); |
| | | data.remove("contractManagementShare"); |
| | | data.remove("contractPaymentStatus"); |
| | | ContractDto contractDto = BeanConvertUtil.covertBean(data, ContractDto.class); |
| | | ContractPo contractPo = BeanConvertUtil.covertBean(data, ContractPo.class); |
| | | // ContractPo contractPo = BeanConvertUtil.covertBean(data, ContractPo.class); |
| | | contractDto.setContractAmountDetail(contractAmountDetail); |
| | | contractDto.setContractManagementShare(contractManagementShare); |
| | | contractDto.setAdContractInfo(adContractInfo); |
| | | contractDto.setContractPaymentStatus(contractPaymentStatus); |
| | | contractDto.setContractCollectionDetailDtos(contractCollectionDetail); |
| | | contractDto.setContractCode(contractPo.getContractCode()); |
| | | contractDto.setStartTime(Vtil.defaultValueToDate(contractPo.getStartTime(), "start", null)); |
| | | contractDto.setEndTime(Vtil.defaultValueToDate(contractPo.getEndTime(), "end", null)); |
| | | contractPo.setStartTime(contractDto.getStartTime()); |
| | | contractPo.setEndTime(contractDto.getEndTime()); |
| | | contractDto.setContractId(null); |
| | | int i = contractInnerServiceSMOImpl.queryContractsCount(contractDto); |
| | | |
| | | if (i > 0) { |
| | | throw new IllegalArgumentException("重复的合同"); |
| | | contractDto.setStartTime(Vtil.defaultValueToDate(contractDto.getStartTime(), "start", null)); |
| | | contractDto.setEndTime(Vtil.defaultValueToDate(contractDto.getEndTime(), "end", null)); |
| | | // int i = contractInnerServiceSMOImpl.queryContractsCount(contractDto); |
| | | // |
| | | // if (i > 0) { |
| | | // throw new IllegalArgumentException("重复的合同"); |
| | | // } |
| | | if (Vtil.defaultValue(contractDto.getCommunityName()) != null) { |
| | | CommunityDto community = new CommunityDto(); |
| | | community.setName(contractDto.getCommunityName()); |
| | | List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(community); |
| | | if (communityDtos == null || communityDtos.size() == 0) { |
| | | // throw new IllegalArgumentException("未查询到" + community.getName() + "小区"); |
| | | } |
| | | else { |
| | | contractDto.setCommunityId(communityDtos.get(0).getCommunityId()); |
| | | } |
| | | } |
| | | contractDto.setContractId(contractPo.getContractId()); |
| | | contractPo.setOperator("-"); |
| | | contractPo.setOperatorLink("-"); |
| | | contractPo.setContractParentId(""); |
| | | CommunityDto community = new CommunityDto(); |
| | | community.setName(contractDto.getCommunityName()); |
| | | List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(community); |
| | | if (communityDtos == null || communityDtos.size() == 0) { |
| | | throw new IllegalArgumentException("未查询到" + community.getName() + "小区"); |
| | | } |
| | | contractPo.setCommunityId(communityDtos.get(0).getCommunityId()); |
| | | contractInnerServiceSMOImpl.saveContract(contractPo); |
| | | contractInnerServiceSMOImpl.saveContract(contractDto); |
| | | sqlSessionTemplate.insert("adContractInfoDaoImpl.saveAdContractInfo", BeanConvertUtil.beanCovertMap(contractDto.getAdContractInfo())); |
| | | sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", BeanConvertUtil.beanCovertMap(contractDto.getContractAmountDetail())); |
| | | sqlSessionTemplate.insert("contractManagementShareDaoImpl.saveContractManagementShare", BeanConvertUtil.beanCovertMap(contractDto.getContractManagementShare())); |
| | |
| | | OwnerCarDto ownerCarDto = null; |
| | | doImportData(assetImportLogDetailDto,ownerCarDto); |
| | | updateImportLogDetailState(assetImportLogDetailDto.getDetailId()); |
| | | try { |
| | | Thread.sleep(1000); |
| | | } catch (InterruptedException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | // try { |
| | | // Thread.sleep(500); |
| | | // } catch (InterruptedException e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | |
| | |
| | | String otherItem = data.getString("otherItem"); |
| | | data.put("otherItem", null); |
| | | ownerCarDto = BeanConvertUtil.covertBean(data, OwnerCarDto.class); |
| | | if (ownerCarDto.getOwnerName() == null || "".equals(ownerCarDto.getOwnerName())) { |
| | | { |
| | | RoomDto roomDto = new RoomDto(); |
| | | roomDto.setRoadName(ownerCarDto.getRoadName()); |
| | | roomDto.setFloorNum(ownerCarDto.getFloorNum()); |
| | |
| | | ownerCarDto.setOwnerName(ownerDtos.get(0).getName()); |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setName(ownerCarDto.getOwnerName()); |
| | | ownerDto.setCommunityId(ownerCarDto.getCommunityId()); |
| | | List<OwnerDto> ownerDtos = ownerV1InnerServiceSMOImpl.queryOwners(ownerDto); |
| | | if (ownerDtos.isEmpty()) { |
| | | ownerCarDto.setRemark("未查询到业主:" + ownerCarDto.getOwnerName()); |
| | | } else if (ownerDtos.size() > 1) { |
| | | ownerCarDto.setRemark("存在多个业主:" + ownerCarDto.getOwnerName()); |
| | | } else { |
| | | ownerCarDto.setOwnerId(ownerDtos.get(0).getOwnerId()); |
| | | } |
| | | } |
| | | ownerCarDto.setOtherItem(o); |
| | |
| | | ownerCarPo.setUnitNum(defaultValue(os[5])); |
| | | ownerCarPo.setRoomNum(defaultValue(os[6])); |
| | | ownerCarPo.setParkingLocation(defaultValue(os[12])); |
| | | if (Vtil.isValidDbDate(ownerCarPo.getStartTime())) { |
| | | ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n启用日期:" + ownerCarPo.getStartTime() + "格式错误"); |
| | | ownerCarPo.setStartTime(null); |
| | | try { |
| | | ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo); |
| | | } catch (Exception e) { |
| | | if (e.getMessage().contains("for column 'end_time' at row 1")){ |
| | | ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n注销日期:" + ownerCarPo.getEndTime() + "格式错误"); |
| | | ownerCarPo.setEndTime(null); |
| | | try { |
| | | ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo); |
| | | } catch (Exception e2) { |
| | | if (e2.getMessage().contains("for column 'start_time' at row 1")) { |
| | | ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n启用日期:" + ownerCarPo.getStartTime() + "格式错误"); |
| | | ownerCarPo.setStartTime(null); |
| | | ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo); |
| | | } |
| | | } |
| | | } |
| | | else if (e.getMessage().contains("for column 'start_time' at row 1")){ |
| | | ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n启用日期:" + ownerCarPo.getStartTime() + "格式错误"); |
| | | ownerCarPo.setStartTime(null); |
| | | ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo); |
| | | |
| | | } |
| | | |
| | | } |
| | | if (Vtil.isValidDbDate(ownerCarPo.getEndTime())) { |
| | | ownerCarPo.setRemark(Vtil.defaultValue(ownerCarPo.getRemark(), "") + "\n注销日期:" + ownerCarPo.getEndTime() + "格式错误"); |
| | | ownerCarPo.setEndTime(null); |
| | | } |
| | | ownerCarV1InnerServiceSMOImpl.saveOwnerCar(ownerCarPo); |
| | | ParkingSpacePo parkingSpacePo = new ParkingSpacePo(); |
| | | parkingSpacePo.setPsId(psId); //车位id |
| | | parkingSpacePo.setState(ownerCarDto.getSpaceSate()); |
| | |
| | | feeDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | if (feeDtos.isEmpty()) { |
| | | ownerCarPo.setRemark("单价`"+ownerCarPo.getUnitPricePerMonth()+"`未查询到收费项"); |
| | | return; |
| | | } else if (feeDtos.size() > 1) { |
| | | switch (Vtil.defaultValue(os[12])) { |
| | | case "地面停车": feeConfigDto.setFeeTypeCd("630000003");break; |
| | |
| | | |
| | | if (feeDtos.isEmpty()) { |
| | | ownerCarPo.setRemark("单价`"+ownerCarPo.getUnitPricePerMonth()+"`未查询到收费项"); |
| | | return; |
| | | } |
| | | else if (feeDtos.size() > 1) { |
| | | throw new IllegalArgumentException("系统错误,查询到的费用项超过一个"); |
| | |
| | | po.setYear(getCellValue(cellArray, 5)); // 第6列:年份 |
| | | po.setMonth(getCellValue(cellArray, 6)); // 第7列:月份 |
| | | po.setDay(getCellValue(cellArray, 7)); // 第8列:日 |
| | | po.setDate(getCellValue(cellArray, 8)); // 第9列:日期 |
| | | po.setDate(Vtil.defaultValueToDate(getCellValue(cellArray, 8))); // 第9列:日期 |
| | | po.setProjectContent(getCellValue(cellArray, 9)); // 第10列:工程内容 |
| | | po.setManagementOfficeAmount(getCellValue(cellArray, 10)); // 第11列:管理处金额 |
| | | po.setManagementOfficeSeal(getCellValue(cellArray, 11)); // 第12列:管理处是否已盖章(√转"是",否则"否") |
| | |
| | | po.setReportDepartment(getCellValue(cellArray, 15)); // 第16列:签报部门 |
| | | po.setFundTypeLevel1(getCellValue(cellArray, 16)); // 第17列:基金类型-一级分类 |
| | | po.setFundTypeLevel2(getCellValue(cellArray, 17)); // 第18列:基金类型-二级分类 |
| | | po.setBuildingOrAll(getCellValue(cellArray, 18)); // 第20列:维修类型 |
| | | po.setMaintenanceType(getCellValue(cellArray, 19)); // 第19列:幢/全体 |
| | | po.setMaintenanceType(getCellValue(cellArray, 18)); // 第19列:幢/全体 |
| | | po.setBuildingOrAll(getCellValue(cellArray, 19)); // 第20列:维修类型 |
| | | po.setSpecificAnnouncementStatus(getCellValue(cellArray, 20));//具体公布情况 TODO 添加sql字段 |
| | | po.setQuota(getCellValue(cellArray, 21)); // 22:额度 |
| | | po.setOwnersCommitteeResolution(getCellValue(cellArray, 22)); // 23:业委会大会决议(是/否) |
| | |
| | | po.setAuditDate(getCellValue(cellArray, 36)); // 审计情况:年/月 |
| | | po.setAvailableWithdrawalDate(getCellValue(cellArray, 37)); // 第40列:可启动支取日期(年月日) |
| | | |
| | | po.setManagementFeeRatio(getCellValue(cellArray, 164)); // 管理费 |
| | | po.setPaymentTarget(getCellValue(cellArray, 168)); // 支付对象 |
| | | po.setPayeeName(getCellValue(cellArray, 239)); // 支付公司名称/个人名字 |
| | | po.setIdCardNumber(getCellValue(cellArray, 240)); // 个人身份证号码 |
| | |
| | | * @param assetImportLogDetailDto |
| | | */ |
| | | private void doImportData(AssetImportLogDetailDto assetImportLogDetailDto) { |
| | | |
| | | String test = ""; |
| | | int a = 6; |
| | | JSONArray objects = JSONObject.parseArray(assetImportLogDetailDto.getContent()); |
| | | |
| | | // if (Vtil.defaultValue(objects.get(11)) == null) { |
| | | if (Vtil.defaultValue(objects.get(11)) == null) { |
| | | objects.set(11, "无名"); |
| | | test = test + "\n业主名称为空"; |
| | | // throw new IllegalArgumentException("业主名称不能为空"); |
| | | // } |
| | | } |
| | | |
| | | if (Vtil.defaultValue(objects.get(16)) == null){ |
| | | throw new IllegalArgumentException("房屋面积不能为空"); |
| | | objects.set(16, "0"); |
| | | test = test + "\n房屋面积为空"; |
| | | } |
| | | |
| | | // if (Vtil.defaultValue(objects.get(54)) == null){ |
| | |
| | | |
| | | List<Object> objects1 = sqlSessionTemplate.selectList("roomServiceDaoImpl.getRoomInfo", BeanConvertUtil.beanCovertMap(roomDto)); |
| | | if (!objects1.isEmpty()) { |
| | | throw new IllegalArgumentException("重复的房屋:"); |
| | | // throw new IllegalArgumentException("重复的房屋:"); |
| | | test = test + "\n重复的房屋:来自导入记录:" + assetImportLogDetailDto.getLogId() + "\t" + assetImportLogDetailDto.getDetailId(); |
| | | } |
| | | List<FeeConfigDto> feeDtos = null; |
| | | if (!importOwnerRoomDto.getCommunityId().isEmpty()){ |
| | | FeeConfigDto feeConfigDto = new FeeConfigDto(); |
| | | feeConfigDto.setCommunityId(importOwnerRoomDto.getCommunityId()); |
| | | if (importOwnerRoomDto.getPropertyType() == null) { |
| | | throw new IllegalArgumentException("物业类型为空"); |
| | | // throw new IllegalArgumentException("物业类型为空"); |
| | | test = test + "\n物业类型为空,无法添加费用"; |
| | | } |
| | | feeConfigDto.setSecondaryFeeTypeCdName(importOwnerRoomDto.getPropertyType()); |
| | | feeDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | if (feeDtos.isEmpty()) { |
| | | throw new IllegalArgumentException("物业类型`"+importOwnerRoomDto.getPropertyType()+"`未查询到收费项"); |
| | | else { |
| | | feeConfigDto.setSecondaryFeeTypeCdName(importOwnerRoomDto.getPropertyType()); |
| | | feeDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto); |
| | | if (feeDtos.isEmpty()) { |
| | | // throw new IllegalArgumentException("物业类型`"+importOwnerRoomDto.getPropertyType()+"`未查询到收费项"); |
| | | test = test + "\n物业类型`"+importOwnerRoomDto.getPropertyType()+"`未查询到收费项,无法添加费用"; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | sqlSessionTemplate.insert("litigationInfoServiceDaoImpl.saveLitigationInfo", |
| | | BeanConvertUtil.beanCovertMap(litigationInfoPo)); |
| | | importOwnerRoomDto.setRoomState(importOwnerRoomDto.getOwnerName() == null ? "2004" : "2001"); |
| | | |
| | | importOwnerRoomDto.setRemark(test); |
| | | importOwnerRoomInnerServiceSMOImpl.saveOwnerRoom(importOwnerRoomDto); |
| | | OwnerDto ownerDto = new OwnerDto(); |
| | | ownerDto.setOwnerId(importOwnerRoomDto.getOwnerId()); |
| New file |
| | |
| | | package com.java110.store.api; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.java110.dto.contract.ContractAmountDetailDto; |
| | | import com.java110.utils.util.Assert; |
| | | import com.java110.utils.util.BeanConvertUtil; |
| | | import org.mybatis.spring.SqlSessionTemplate; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.http.ResponseEntity; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 合同金额明细信息接口 |
| | | * 适配 contract_amount_detail 表 |
| | | * @author dev |
| | | * @date 2025-12-24 |
| | | */ |
| | | @RestController |
| | | @RequestMapping(value = "/contractAmountDetail") |
| | | public class ContractAmountDetailApi { |
| | | |
| | | @Autowired |
| | | protected SqlSessionTemplate sqlSessionTemplate; |
| | | |
| | | /** |
| | | * 保存合同金额明细信息 |
| | | * |
| | | * @param reqJson 请求参数 |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/saveContractAmountDetail |
| | | * @path /app/contractAmountDetail/saveContractAmountDetail |
| | | */ |
| | | @RequestMapping(value = "/saveContractAmountDetail", method = RequestMethod.POST) |
| | | public ResponseEntity<String> saveContractAmountDetail(@RequestBody JSONObject reqJson) { |
| | | // 核心参数校验 |
| | | Assert.hasKeyAndValue(reqJson, "contractId", "请求报文中未包含合同ID"); |
| | | |
| | | // 转换为DTO |
| | | ContractAmountDetailDto dto = BeanConvertUtil.covertBean(reqJson, ContractAmountDetailDto.class); |
| | | |
| | | // 调用Mapper保存方法 |
| | | int insert = sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(dto)); |
| | | |
| | | // 构造响应结果 |
| | | JSONObject resJson = new JSONObject(); |
| | | if (insert > 0) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "保存合同金额明细信息成功"); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "保存合同金额明细信息失败"); |
| | | } |
| | | resJson.put("count", insert); |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 重载保存方法(入参为DTO) |
| | | */ |
| | | public ResponseEntity<String> saveContractAmountDetail(ContractAmountDetailDto dto) { |
| | | int insert = sqlSessionTemplate.insert("contractAmountDetailDaoImpl.saveContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(dto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | if (insert > 0) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "保存合同金额明细信息成功"); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "保存合同金额明细信息失败"); |
| | | } |
| | | resJson.put("count", insert); |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 修改合同金额明细信息 |
| | | * |
| | | * @param reqJson 请求参数 |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/updateContractAmountDetail |
| | | * @path /app/contractAmountDetail/updateContractAmountDetail |
| | | */ |
| | | @RequestMapping(value = "/updateContractAmountDetail", method = RequestMethod.POST) |
| | | public ResponseEntity<String> updateContractAmountDetail(@RequestBody JSONObject reqJson) { |
| | | // 主键/合同ID校验(二选一) |
| | | Assert.hasKey(reqJson, "id", "请求报文中未包含主键ID"); |
| | | Assert.hasKey(reqJson, "contractId", "请求报文中未包含合同ID"); |
| | | |
| | | ContractAmountDetailDto dto = BeanConvertUtil.covertBean(reqJson, ContractAmountDetailDto.class); |
| | | |
| | | // 调用Mapper修改方法 |
| | | int update = sqlSessionTemplate.update("contractAmountDetailDaoImpl.updateContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(dto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | if (update > 0) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "修改合同金额明细信息成功"); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "修改合同金额明细信息失败,未找到对应记录"); |
| | | } |
| | | resJson.put("count", update); |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 分页查询合同金额明细信息列表 |
| | | * |
| | | * @param id 主键ID(可选) |
| | | * @param contractId 合同ID(可选) |
| | | * @param totalContractAmount 合同总金额(可选) |
| | | * @param unitPrice 单价(可选) |
| | | * @param accountInfo 账户信息(可选) |
| | | * @param mainMeterNo 主表编号(可选) |
| | | * @param paymentRemark 付款备注(可选) |
| | | * @param page 页码(默认1) |
| | | * @param row 每页条数(默认10) |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/queryContractAmountDetail |
| | | * @path /app/contractAmountDetail/queryContractAmountDetail |
| | | */ |
| | | @RequestMapping(value = "/queryContractAmountDetail", method = RequestMethod.GET) |
| | | public ResponseEntity<String> queryContractAmountDetail( |
| | | @RequestParam(value = "id", required = false) String id, |
| | | @RequestParam(value = "contractId", required = false) String contractId, |
| | | @RequestParam(value = "totalContractAmount", required = false) String totalContractAmount, |
| | | @RequestParam(value = "unitPrice", required = false) String unitPrice, |
| | | @RequestParam(value = "accountInfo", required = false) String accountInfo, |
| | | @RequestParam(value = "mainMeterNo", required = false) String mainMeterNo, |
| | | @RequestParam(value = "paymentRemark", required = false) String paymentRemark, |
| | | @RequestParam(value = "page", defaultValue = "1") int page, |
| | | @RequestParam(value = "row", defaultValue = "10") int row) { |
| | | |
| | | // 封装查询参数 |
| | | ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | queryDto.setId(Integer.parseInt(id)); |
| | | queryDto.setContractId(contractId); |
| | | queryDto.setTotalContractAmount(totalContractAmount); |
| | | queryDto.setUnitPrice(unitPrice); |
| | | queryDto.setAccountInfo(accountInfo); |
| | | queryDto.setMainMeterNo(mainMeterNo); |
| | | queryDto.setPaymentRemark(paymentRemark); |
| | | queryDto.setPage((page - 1) * row); |
| | | queryDto.setRow(row); |
| | | |
| | | // 查询列表数据 |
| | | List<Map<String, Object>> list = sqlSessionTemplate.selectList( |
| | | "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(queryDto)); |
| | | |
| | | // 查询总数 |
| | | Object total = ((HashMap) sqlSessionTemplate.selectOne( |
| | | "contractAmountDetailDaoImpl.queryContractAmountDetailsCount", |
| | | BeanConvertUtil.beanCovertMap(queryDto))).get("count"); |
| | | |
| | | // 构造分页响应 |
| | | JSONObject resJson = new JSONObject(); |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "查询合同金额明细信息成功"); |
| | | resJson.put("page", page); |
| | | resJson.put("row", row); |
| | | resJson.put("total", total); |
| | | resJson.put("data", list); |
| | | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 根据ID查询单条合同金额明细信息 |
| | | * |
| | | * @param id 主键ID |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/getContractAmountDetailById |
| | | * @path /app/contractAmountDetail/getContractAmountDetailById |
| | | */ |
| | | @RequestMapping(value = "/getContractAmountDetailById", method = RequestMethod.GET) |
| | | public ResponseEntity<String> getContractAmountDetailById(@RequestParam(value = "id") Integer id) { |
| | | // 主键校验 |
| | | Assert.notNull(id, "主键ID不能为空"); |
| | | |
| | | ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | queryDto.setId(id); |
| | | |
| | | // 查询单条数据 |
| | | Map<String, Object> result = sqlSessionTemplate.selectOne( |
| | | "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(queryDto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | if (result != null) { |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "查询合同金额明细信息成功"); |
| | | resJson.put("data", result); |
| | | } else { |
| | | resJson.put("code", "0001"); |
| | | resJson.put("msg", "未找到对应合同金额明细记录"); |
| | | } |
| | | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | |
| | | /** |
| | | * 根据合同ID查询合同金额明细信息 |
| | | * |
| | | * @param contractId 合同ID |
| | | * @return 响应结果 |
| | | * @serviceCode /contractAmountDetail/getContractAmountDetailByContractId |
| | | * @path /app/contractAmountDetail/getContractAmountDetailByContractId |
| | | */ |
| | | @RequestMapping(value = "/getContractAmountDetailByContractId", method = RequestMethod.GET) |
| | | public ResponseEntity<String> getContractAmountDetailByContractId(@RequestParam(value = "contractId") String contractId) { |
| | | Assert.hasLength(contractId, "合同ID不能为空"); |
| | | |
| | | ContractAmountDetailDto queryDto = new ContractAmountDetailDto(); |
| | | queryDto.setContractId(contractId); |
| | | |
| | | List<Map<String, Object>> result = sqlSessionTemplate.selectList( |
| | | "contractAmountDetailDaoImpl.getContractAmountDetail", |
| | | BeanConvertUtil.beanCovertMap(queryDto)); |
| | | |
| | | JSONObject resJson = new JSONObject(); |
| | | resJson.put("code", "0000"); |
| | | resJson.put("msg", "查询合同金额明细信息成功"); |
| | | resJson.put("data", result); |
| | | |
| | | return ResponseEntity.ok(resJson.toJSONString()); |
| | | } |
| | | } |
| | |
| | | @RequestMapping(value = "/updateContract", method = RequestMethod.POST) |
| | | public ResponseEntity<String> updateContract(@RequestBody JSONObject reqJson) { |
| | | |
| | | Assert.hasKeyAndValue(reqJson, "contractCode", "请求报文中未包含contractCode"); |
| | | Assert.hasKeyAndValue(reqJson, "contractName", "请求报文中未包含contractName"); |
| | | Assert.hasKeyAndValue(reqJson, "contractType", "请求报文中未包含contractType"); |
| | | Assert.hasKeyAndValue(reqJson, "partyA", "请求报文中未包含partyA"); |
| | | Assert.hasKeyAndValue(reqJson, "partyB", "请求报文中未包含partyB"); |
| | | // Assert.hasKeyAndValue(reqJson, "contractCode", "请求报文中未包含contractCode"); |
| | | // Assert.hasKeyAndValue(reqJson, "contractName", "请求报文中未包含contractName"); |
| | | // Assert.hasKeyAndValue(reqJson, "contractType", "请求报文中未包含contractType"); |
| | | // Assert.hasKeyAndValue(reqJson, "partyA", "请求报文中未包含partyA"); |
| | | // Assert.hasKeyAndValue(reqJson, "partyB", "请求报文中未包含partyB"); |
| | | // Assert.hasKeyAndValue(reqJson, "aContacts", "请求报文中未包含aContacts"); |
| | | // Assert.hasKeyAndValue(reqJson, "aLink", "请求报文中未包含aLink"); |
| | | // Assert.hasKeyAndValue(reqJson, "bContacts", "请求报文中未包含bContacts"); |
| | | // Assert.hasKeyAndValue(reqJson, "bLink", "请求报文中未包含bLink"); |
| | | Assert.hasKeyAndValue(reqJson, "operator", "请求报文中未包含operator"); |
| | | Assert.hasKeyAndValue(reqJson, "operatorLink", "请求报文中未包含operatorLink"); |
| | | Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime"); |
| | | Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime"); |
| | | Assert.hasKeyAndValue(reqJson, "signingTime", "请求报文中未包含signingTime"); |
| | | Assert.hasKeyAndValue(reqJson, "contractId", "contractId不能为空"); |
| | | // Assert.hasKeyAndValue(reqJson, "operator", "请求报文中未包含operator"); |
| | | // Assert.hasKeyAndValue(reqJson, "operatorLink", "请求报文中未包含operatorLink"); |
| | | // Assert.hasKeyAndValue(reqJson, "startTime", "请求报文中未包含startTime"); |
| | | // Assert.hasKeyAndValue(reqJson, "endTime", "请求报文中未包含endTime"); |
| | | // Assert.hasKeyAndValue(reqJson, "signingTime", "请求报文中未包含signingTime"); |
| | | // Assert.hasKeyAndValue(reqJson, "contractId", "contractId不能为空"); |
| | | |
| | | |
| | | ContractPo contractPo = BeanConvertUtil.covertBean(reqJson, ContractPo.class); |
| | | ContractDto contractPo = BeanConvertUtil.covertBean(reqJson, ContractDto.class); |
| | | |
| | | JSONArray contractFiles = reqJson.getJSONArray("contractFilePo"); |
| | | List<ContractFilePo> contractFilePos = new ArrayList<>(); |
| | | for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) { |
| | | JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex); |
| | | ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class); |
| | | contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId)); |
| | | contractFilePos.add(contractFilePo); |
| | | if (contractFiles != null) { |
| | | for (int conFileIndex = 0; conFileIndex < contractFiles.size(); conFileIndex++) { |
| | | JSONObject resourceStore = contractFiles.getJSONObject(conFileIndex); |
| | | ContractFilePo contractFilePo = BeanConvertUtil.covertBean(resourceStore, ContractFilePo.class); |
| | | contractFilePo.setContractFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_contractFileId)); |
| | | contractFilePos.add(contractFilePo); |
| | | } |
| | | } |
| | | contractPo.setContractFilePo(contractFilePos); |
| | | // contractPo.setContractFilePo(contractFilePos); |
| | | return updateContractBMOImpl.update(contractPo, reqJson); |
| | | } |
| | | |
| | |
| | | */ |
| | | @RequestMapping(value = "/deleteContract", method = RequestMethod.POST) |
| | | public ResponseEntity<String> deleteContract(@RequestBody JSONObject reqJson) { |
| | | Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空"); |
| | | // Assert.hasKeyAndValue(reqJson, "communityId", "小区ID不能为空"); |
| | | |
| | | Assert.hasKeyAndValue(reqJson, "contractId", "contractId不能为空"); |
| | | |
| | |
| | | ResponseEntity<String> update(ContractPo contractPo, JSONObject reqJson); |
| | | |
| | | |
| | | ResponseEntity<String> update(ContractDto contractPo, JSONObject reqJson); |
| | | /** |
| | | * 需要审核合同 |
| | | * @param contractDto |
| | |
| | | |
| | | } |
| | | |
| | | @Java110Transactional |
| | | public ResponseEntity<String> update(ContractDto contractPo, JSONObject reqJson) { |
| | | |
| | | int flag = contractInnerServiceSMOImpl.updateContract(contractPo); |
| | | |
| | | if (flag < 1) { |
| | | return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败"); |
| | | |
| | | } |
| | | |
| | | //附件保存--先删除原来所有的附件再进行保存 |
| | | // ContractFilePo contractFilePo = new ContractFilePo(); |
| | | // contractFilePo.setContractId(contractPo.getContractId()); |
| | | // deleteContractFileBMOImpl.delete(contractFilePo); |
| | | |
| | | // List<ContractFilePo> filePos = contractPo.getContractFilePo(); |
| | | // if (filePos != null) { |
| | | // for (ContractFilePo file : filePos) { |
| | | // if (file.getFileRealName().length() > 0 && file.getFileSaveName().length() > 0) { |
| | | // file.setContractId(contractPo.getContractId()); |
| | | // contractFileInnerServiceSMOImpl.saveContractFile(file); |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | // noticeRentUpdateState(contractPo); |
| | | |
| | | if (!reqJson.containsKey("contractTypeSpecs")) { |
| | | return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功"); |
| | | } |
| | | |
| | | |
| | | JSONArray contractTypeSpecs = reqJson.getJSONArray("contractTypeSpecs"); |
| | | |
| | | if (contractTypeSpecs.size() < 1) { |
| | | return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功"); |
| | | } |
| | | |
| | | for (int typeSpecIndex = 0; typeSpecIndex < contractTypeSpecs.size(); typeSpecIndex++) { |
| | | updateContractAttr(contractTypeSpecs.getJSONObject(typeSpecIndex), contractPo); |
| | | } |
| | | |
| | | return ResultVo.createResponseEntity(ResultVo.CODE_OK, "保存成功"); |
| | | |
| | | } |
| | | @Override |
| | | public ResponseEntity<String> needAuditContract(ContractDto contractDto, JSONObject reqJson) { |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | private void updateContractAttr(JSONObject jsonObject, ContractDto contractPo) { |
| | | ContractAttrDto contractAttrDto = new ContractAttrDto(); |
| | | contractAttrDto.setContractId(contractPo.getContractId()); |
| | | contractAttrDto.setSpecCd(jsonObject.getString("specCd")); |
| | | List<ContractAttrDto> contractAttrDtos = contractAttrInnerServiceSMOImpl.queryContractAttrs(contractAttrDto); |
| | | |
| | | Assert.listOnlyOne(contractAttrDtos, "未找到需要修改的合同属性"); |
| | | ContractAttrPo contractAttrPo = new ContractAttrPo(); |
| | | contractAttrPo.setAttrId(contractAttrDtos.get(0).getAttrId()); |
| | | contractAttrPo.setContractId(contractPo.getContractId()); |
| | | contractAttrPo.setSpecCd(jsonObject.getString("specCd")); |
| | | contractAttrPo.setValue(jsonObject.getString("value")); |
| | | contractAttrPo.setStoreId(contractPo.getStoreId()); |
| | | int count = contractAttrInnerServiceSMOImpl.updateContractAttr(contractAttrPo); |
| | | |
| | | if (count < 1) { |
| | | throw new IllegalArgumentException("保存属性失败"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 修改 房屋租赁状态 |
| | | * |
| | |
| | | */ |
| | | void updateContractInfo(Map info) throws DAOException; |
| | | |
| | | void saveOrUpdateAdContractInfo(Map info) throws DAOException; |
| | | |
| | | /** |
| | | * 保存或更新 合同金额明细表 |
| | | */ |
| | | void saveOrUpdateContractAmountDetail(Map info) throws DAOException; |
| | | |
| | | /** |
| | | * 保存或更新 合同管理分成表 |
| | | */ |
| | | void saveOrUpdateContractManagementShare(Map info) throws DAOException; |
| | | |
| | | /** |
| | | * 保存或更新 合同缴费状态表 |
| | | */ |
| | | void saveOrUpdateContractPaymentStatus(Map info) throws DAOException; |
| | | |
| | | /** |
| | | * 查询合同管理总数 |
| | |
| | | } |
| | | } |
| | | |
| | | // ===================== 新增:广告信息 保存或更新 ===================== |
| | | @Override |
| | | public void saveOrUpdateAdContractInfo(Map info) throws DAOException { |
| | | logger.debug("保存或更新广告信息 入参 info : {}", info); |
| | | |
| | | int saveFlag = sqlSessionTemplate.insert("contractServiceDaoImpl.saveOrUpdateAdContractInfo", info); |
| | | |
| | | if (saveFlag < 1) { |
| | | throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存或更新广告信息失败:" + JSONObject.toJSONString(info)); |
| | | } |
| | | } |
| | | |
| | | // ===================== 新增:合同金额明细 保存或更新 ===================== |
| | | @Override |
| | | public void saveOrUpdateContractAmountDetail(Map info) throws DAOException { |
| | | logger.debug("保存或更新合同金额明细 入参 info : {}", info); |
| | | |
| | | int saveFlag = sqlSessionTemplate.insert("contractServiceDaoImpl.saveOrUpdateContractAmountDetail", info); |
| | | |
| | | if (saveFlag < 1) { |
| | | throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存或更新合同金额明细失败:" + JSONObject.toJSONString(info)); |
| | | } |
| | | } |
| | | |
| | | // ===================== 新增:合同管理分成 保存或更新 ===================== |
| | | @Override |
| | | public void saveOrUpdateContractManagementShare(Map info) throws DAOException { |
| | | logger.debug("保存或更新合同管理分成 入参 info : {}", info); |
| | | |
| | | int saveFlag = sqlSessionTemplate.insert("contractServiceDaoImpl.saveOrUpdateContractManagementShare", info); |
| | | |
| | | if (saveFlag < 1) { |
| | | throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存或更新合同管理分成失败:" + JSONObject.toJSONString(info)); |
| | | } |
| | | } |
| | | |
| | | // ===================== 新增:合同缴费状态 保存或更新 ===================== |
| | | @Override |
| | | public void saveOrUpdateContractPaymentStatus(Map info) throws DAOException { |
| | | logger.debug("保存或更新合同缴费状态 入参 info : {}", info); |
| | | |
| | | int saveFlag = sqlSessionTemplate.insert("contractServiceDaoImpl.saveOrUpdateContractPaymentStatus", info); |
| | | |
| | | if (saveFlag < 1) { |
| | | throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存或更新合同缴费状态失败:" + JSONObject.toJSONString(info)); |
| | | } |
| | | } |
| | | /** |
| | | * 查询合同管理数量 |
| | | * @param info 合同管理信息 |
| | |
| | | |
| | | import com.java110.core.base.smo.BaseServiceSMO; |
| | | import com.java110.dto.PageDto; |
| | | import com.java110.dto.contract.ContractDto; |
| | | import com.java110.dto.contract.*; |
| | | import com.java110.intf.store.IContractInnerServiceSMO; |
| | | import com.java110.po.contract.ContractPo; |
| | | import com.java110.store.dao.IContractServiceDao; |
| | |
| | | } |
| | | |
| | | @Override |
| | | public int saveContract(@RequestBody ContractDto contractPo) { |
| | | int saveFlag = 1; |
| | | contractServiceDaoImpl.saveContractInfo(BeanConvertUtil.beanCovertMap(contractPo)); |
| | | return saveFlag; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public int updateContract(@RequestBody ContractPo contractPo) { |
| | | int saveFlag = 1; |
| | | contractServiceDaoImpl.updateContractInfo(BeanConvertUtil.beanCovertMap(contractPo)); |
| | | return saveFlag; |
| | | } |
| | | |
| | | public int updateContract(@RequestBody ContractDto contractPo) { |
| | | int saveFlag = 1; |
| | | |
| | | // ===================== 1. 先更新主合同(你原来的代码) ===================== |
| | | Map<String, Object> mainMap = BeanConvertUtil.beanCovertMap(contractPo); |
| | | contractServiceDaoImpl.updateContractInfo(mainMap); |
| | | |
| | | // ===================== 2. 更新/插入 广告信息子表 ===================== |
| | | AdContractInfoDto adContractInfo = contractPo.getAdContractInfo(); |
| | | if (adContractInfo != null) { |
| | | adContractInfo.setContractId(contractPo.getContractId()); |
| | | Map<String, Object> adMap = BeanConvertUtil.beanCovertMap(adContractInfo); |
| | | // 这里调用你DAO的 新增或更新方法(不存在则insert,存在则update) |
| | | contractServiceDaoImpl.saveOrUpdateAdContractInfo(adMap); |
| | | } |
| | | |
| | | // ===================== 3. 更新/插入 合同金额明细子表 ===================== |
| | | ContractAmountDetailDto amountDetail = contractPo.getContractAmountDetail(); |
| | | if (amountDetail != null) { |
| | | amountDetail.setContractId(contractPo.getContractId()); |
| | | Map<String, Object> detailMap = BeanConvertUtil.beanCovertMap(amountDetail); |
| | | contractServiceDaoImpl.saveOrUpdateContractAmountDetail(detailMap); |
| | | } |
| | | |
| | | // ===================== 4. 更新/插入 合同管理分成子表 ===================== |
| | | ContractManagementShareDto managementShare = contractPo.getContractManagementShare(); |
| | | if (managementShare != null) { |
| | | managementShare.setContractId(contractPo.getContractId()); |
| | | Map<String, Object> shareMap = BeanConvertUtil.beanCovertMap(managementShare); |
| | | contractServiceDaoImpl.saveOrUpdateContractManagementShare(shareMap); |
| | | } |
| | | |
| | | // ===================== 5. 更新/插入 合同缴费状态子表 ===================== |
| | | ContractPaymentStatusDto paymentStatus = contractPo.getContractPaymentStatus(); |
| | | if (paymentStatus != null) { |
| | | paymentStatus.setContractId(contractPo.getContractId()); |
| | | Map<String, Object> payMap = BeanConvertUtil.beanCovertMap(paymentStatus); |
| | | contractServiceDaoImpl.saveOrUpdateContractPaymentStatus(payMap); |
| | | } |
| | | |
| | | return saveFlag; |
| | | } |
| | | |
| | | @Override |
| | | public int deleteContract(@RequestBody ContractPo contractPo) { |
| | | int saveFlag = 1; |
| | |
| | | datasource: |
| | | url: jdbc:mysql://localhost:3306/TT_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false |
| | | username: root |
| | | password: 123456 |
| | | password: win2020 |
| | | type: com.alibaba.druid.pool.DruidDataSource |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | druid: |
| | |
| | | profiles: |
| | | active: devlocal |
| | | |
| | | |
| | | import: |
| | | line: |
| | | max: 50000 |