From dd6687b118561100e1677e88a9c2f5842a54c531 Mon Sep 17 00:00:00 2001
From: jialh <1972868360@qq.com>
Date: 星期四, 16 四月 2026 18:14:14 +0800
Subject: [PATCH] 水电话费
---
service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java | 6
java110-db/src/main/resources/mapper/center/MaintenancePaymentDAOImplMapper.xml | 245 +++-
java110-bean/src/main/java/com/java110/dto/system/ComponentValidateResult.java | 10
java110-bean/src/main/java/com/java110/dto/importData/ImportOwnerRoomDto.java | 9
java110-db/src/main/resources/mapper/store/ContractCollectionDetailServiceDaoImpl.xml | 161 +
java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml | 88 +
java110-db/src/main/resources/mapper/fee/MeterWaterV1ServiceDaoImplMapper.xml | 366 +++---
service-fee/src/main/java/com/java110/fee/api/MpPaymentRecordApi.java | 4
service-api/src/main/java/com/java110/api/importData/adapt/ImportReportMainDataV2CleaningAdapt.java | 9
service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeWriteOrderCmd.java | 16
service-fee/src/main/java/com/java110/fee/api/contract/ContractAmountDetailApi.java | 470 ++++----
java110-utils/src/main/java/com/java110/utils/util/DateUtil.java | 18
service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java | 66 +
service-store/src/main/java/com/java110/store/smo/impl/ContractInnerServiceSMOImpl.java | 53
springboot/src/main/resources/application-debug.yml | 2
java110-bean/src/main/java/com/java110/po/contract/ContractPo.java | 181 +++
java110-bean/src/main/java/com/java110/po/importFee/MaintenancePayment.java | 49
service-store/src/main/java/com/java110/store/api/ContractApi.java | 40
springboot/src/main/resources/application.yml | 1
service-fee/src/main/java/com/java110/fee/api/MaintenancePaymentApi.java | 6
service-job/src/main/java/com/java110/job/importData/adapt/ImportContractQueueDataAdapt.java | 46
java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java | 49
service-fee/src/main/java/com/java110/fee/dao/impl/FeeConfigServiceDaoImpl.java | 5
java110-bean/src/main/java/com/java110/dto/meter/MeterWaterDto.java | 305 -----
service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java | 57
java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java | 35
service-fee/src/main/java/com/java110/fee/api/contract/ContractCollectionDetailApi.java | 51
service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java | 7
java110-interface/src/main/java/com/java110/intf/store/IContractInnerServiceSMO.java | 5
service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeePropertyCmd.java | 1
service-store/src/main/java/com/java110/store/dao/impl/ContractServiceDaoImpl.java | 47
service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java | 5
service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java | 30
service-api/src/main/java/com/java110/api/importData/adapt/ImportContractCleaningAdapt.java | 10
java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml | 389 +++++-
service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java | 1
java110-db/src/main/resources/mapper/fee/MeterWaterServiceDaoImplMapper.xml | 176 ++-
service-store/src/main/java/com/java110/store/api/ContractAmountDetailApi.java | 235 ++++
service-store/src/main/java/com/java110/store/dao/IContractServiceDao.java | 16
39 files changed, 2,184 insertions(+), 1,086 deletions(-)
diff --git a/java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java b/java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java
index 9c04ac6..cc95881 100644
--- a/java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java
+++ b/java110-bean/src/main/java/com/java110/dto/PropertyWhiteListFlowDto.java
@@ -52,6 +52,41 @@
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;
diff --git a/java110-bean/src/main/java/com/java110/dto/importData/ImportOwnerRoomDto.java b/java110-bean/src/main/java/com/java110/dto/importData/ImportOwnerRoomDto.java
index 772e8c8..f345f8b 100644
--- a/java110-bean/src/main/java/com/java110/dto/importData/ImportOwnerRoomDto.java
+++ b/java110-bean/src/main/java/com/java110/dto/importData/ImportOwnerRoomDto.java
@@ -15,6 +15,7 @@
private String roomSubType; // 鎴垮眿绫诲瀷
private String section;
private String builtUpArea;
+ private String remark;
private String roomArea;
private String roomRent;
private String ownerName;
@@ -54,6 +55,14 @@
private String monthlyUnitPrice;
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark;
+ }
+
public String getPropertyFeeMonth() {
return propertyFeeMonth;
}
diff --git a/java110-bean/src/main/java/com/java110/dto/meter/MeterWaterDto.java b/java110-bean/src/main/java/com/java110/dto/meter/MeterWaterDto.java
index 159d905..ce544ba 100644
--- a/java110-bean/src/main/java/com/java110/dto/meter/MeterWaterDto.java
+++ b/java110-bean/src/main/java/com/java110/dto/meter/MeterWaterDto.java
@@ -1,6 +1,7 @@
package com.java110.dto.meter;
import com.java110.dto.PageDto;
+import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@@ -13,6 +14,7 @@
* @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";
@@ -58,288 +60,27 @@
private String amountDifference; // 姣旇緝閲戦宸
private String autoDeduction; // 鑷姩鎵f
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;
- }
-
- // 鏂板瀛楁鐨刧etter/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;
- }
}
\ No newline at end of file
diff --git a/java110-bean/src/main/java/com/java110/dto/system/ComponentValidateResult.java b/java110-bean/src/main/java/com/java110/dto/system/ComponentValidateResult.java
index 6f3203b..f4e0609 100644
--- a/java110-bean/src/main/java/com/java110/dto/system/ComponentValidateResult.java
+++ b/java110-bean/src/main/java/com/java110/dto/system/ComponentValidateResult.java
@@ -38,6 +38,16 @@
private String importFileName;
+ private String sheetName;
+
+ public String getSheetName() {
+ return sheetName;
+ }
+
+ public void setSheetName(String sheetName) {
+ this.sheetName = sheetName;
+ }
+
public String getImportFileName() {
return importFileName;
}
diff --git a/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java b/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java
index bf35a22..db37a03 100755
--- a/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java
+++ b/java110-bean/src/main/java/com/java110/po/contract/ContractPo.java
@@ -1,8 +1,12 @@
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;
@@ -42,6 +46,179 @@
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() {
diff --git a/java110-bean/src/main/java/com/java110/po/importFee/MaintenancePayment.java b/java110-bean/src/main/java/com/java110/po/importFee/MaintenancePayment.java
index b6f4f5e..da11727 100644
--- a/java110-bean/src/main/java/com/java110/po/importFee/MaintenancePayment.java
+++ b/java110-bean/src/main/java/com/java110/po/importFee/MaintenancePayment.java
@@ -192,6 +192,8 @@
@Column(name = "quality_guarantee_period2", length = 50)
private String qualityGuaranteePeriod2;
+
+ private String managementFeeRatio;
/**
* 璐ㄤ繚閲戝崰姣�
*/
@@ -331,7 +333,54 @@
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;
}
\ No newline at end of file
diff --git a/java110-db/src/main/resources/mapper/center/MaintenancePaymentDAOImplMapper.xml b/java110-db/src/main/resources/mapper/center/MaintenancePaymentDAOImplMapper.xml
index a0d839b..65e794c 100644
--- a/java110-db/src/main/resources/mapper/center/MaintenancePaymentDAOImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/center/MaintenancePaymentDAOImplMapper.xml
@@ -21,7 +21,7 @@
</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,
@@ -37,7 +37,9 @@
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>
@@ -73,71 +75,127 @@
<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>
@@ -189,15 +247,26 @@
<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
<!-- 娉ㄦ剰锛歩d浣滀负涓婚敭锛岄�氬父涓嶅缓璁洿鏂帮紝杩欓噷淇濈暀浣嗘爣娉紝寤鸿鏍规嵁涓氬姟鍐冲畾鏄惁鍒犻櫎 -->
@@ -283,7 +352,6 @@
<if test="auditDate !=null and auditDate != ''">
, t.audit_date = #{auditDate}
</if>
- <!-- 浠ヤ笅涓鸿ˉ鍏呯殑缂哄け瀛楁 -->
<if test="maintenanceType !=null and maintenanceType != ''">
, t.maintenance_type = #{maintenanceType}
</if>
@@ -341,7 +409,7 @@
<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 != ''">
@@ -368,6 +436,39 @@
<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">
@@ -375,11 +476,11 @@
</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>
@@ -431,7 +532,18 @@
<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>
<!-- 鎵归噺鎻掑叆璐圭敤 -->
@@ -449,7 +561,10 @@
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},
@@ -474,7 +589,13 @@
#{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>
diff --git a/java110-db/src/main/resources/mapper/fee/MeterWaterServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/fee/MeterWaterServiceDaoImplMapper.xml
index 19725a1..fa531bd 100755
--- a/java110-db/src/main/resources/mapper/fee/MeterWaterServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/fee/MeterWaterServiceDaoImplMapper.xml
@@ -7,18 +7,18 @@
<!-- 淇濆瓨姘寸數璐逛俊鎭� 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>
@@ -142,7 +142,8 @@
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,
@@ -151,7 +152,11 @@
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}
@@ -258,8 +263,12 @@
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'
@@ -411,6 +420,18 @@
<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}
@@ -423,151 +444,164 @@
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}
@@ -726,6 +760,18 @@
<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>
@@ -739,7 +785,8 @@
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},
@@ -749,7 +796,8 @@
#{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>
diff --git a/java110-db/src/main/resources/mapper/fee/MeterWaterV1ServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/fee/MeterWaterV1ServiceDaoImplMapper.xml
index 6ee9778..52aeb71 100644
--- a/java110-db/src/main/resources/mapper/fee/MeterWaterV1ServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/fee/MeterWaterV1ServiceDaoImplMapper.xml
@@ -5,36 +5,52 @@
<!-- 淇濆瓨姘寸數鎶勮〃淇℃伅 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,
@@ -71,49 +87,54 @@
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>
@@ -135,13 +156,13 @@
<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 != ''">
@@ -168,7 +189,7 @@
<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 != ''">
@@ -224,148 +245,156 @@
<!-- 淇敼姘寸數鎶勮〃淇℃伅 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 != ''">
@@ -378,49 +407,54 @@
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>
@@ -442,13 +476,13 @@
<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 != ''">
@@ -475,7 +509,7 @@
<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 != ''">
@@ -528,8 +562,8 @@
<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>
\ No newline at end of file
diff --git a/java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml b/java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml
index c9fee55..50f491e 100644
--- a/java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/fee/PropertyWhiteListFlowDaoImplMapper.xml
@@ -9,6 +9,9 @@
<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>
@@ -28,7 +31,7 @@
<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>
@@ -40,6 +43,9 @@
<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>
@@ -59,13 +65,14 @@
<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,
@@ -74,9 +81,6 @@
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,
@@ -97,11 +101,22 @@
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>
@@ -111,32 +126,24 @@
<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>
@@ -148,6 +155,21 @@
</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
@@ -155,44 +177,35 @@
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>
@@ -205,8 +218,18 @@
<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)
@@ -240,12 +263,19 @@
<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>
\ No newline at end of file
diff --git a/java110-db/src/main/resources/mapper/store/ContractCollectionDetailServiceDaoImpl.xml b/java110-db/src/main/resources/mapper/store/ContractCollectionDetailServiceDaoImpl.xml
index f58e3dc..8c82f35 100644
--- a/java110-db/src/main/resources/mapper/store/ContractCollectionDetailServiceDaoImpl.xml
+++ b/java110-db/src/main/resources/mapper/store/ContractCollectionDetailServiceDaoImpl.xml
@@ -3,19 +3,39 @@
"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,
@@ -23,18 +43,21 @@
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>
@@ -58,6 +81,15 @@
</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 ">
@@ -65,53 +97,67 @@
</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>
@@ -136,6 +182,17 @@
<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>
\ No newline at end of file
diff --git a/java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml b/java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml
index 7cd9a7f..1904464 100755
--- a/java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml
+++ b/java110-db/src/main/resources/mapper/store/ContractServiceDaoImplMapper.xml
@@ -6,25 +6,139 @@
<!-- 淇濆瓨鍚堝悓绠$悊淇℃伅 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
@@ -39,15 +153,83 @@
,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>
@@ -184,6 +366,9 @@
<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}
@@ -196,126 +381,205 @@
<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">
@@ -458,6 +722,9 @@
<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">
diff --git a/java110-interface/src/main/java/com/java110/intf/store/IContractInnerServiceSMO.java b/java110-interface/src/main/java/com/java110/intf/store/IContractInnerServiceSMO.java
index 3fdab4b..6105b69 100755
--- a/java110-interface/src/main/java/com/java110/intf/store/IContractInnerServiceSMO.java
+++ b/java110-interface/src/main/java/com/java110/intf/store/IContractInnerServiceSMO.java
@@ -27,9 +27,14 @@
@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);
diff --git a/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java b/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
index 21975c8..04e27ac 100755
--- a/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/BeanConvertUtil.java
@@ -69,17 +69,13 @@
* @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);
@@ -92,23 +88,44 @@
}
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 杞琩ate
- Object tmpValue = Java110Converter.getValue(value, dstClass);
- //System.out.println("tmpValue"+value.toString());
- beanMap.put(field.getName(), tmpValue);
+
+ try {
+ // 鉁� 鏍稿績淇锛氬彧瑕佹槸 Map锛屼笖鐩爣涓嶆槸鍩虹绫诲瀷锛屽氨閫掑綊杞� DTO
+ if (value instanceof Map) {
+ // 鎺掗櫎鍩虹绫诲瀷銆佸寘瑁呯被銆丼tring銆丏ate
+ 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;
+ }
+ }
+
+ // 鍘熸湁绫诲瀷杞崲锛圫tring->Date绛夛級
+ Object convertedValue = Java110Converter.getValue(value, targetType);
+ beanMap.put(fieldName, convertedValue);
+
+ } catch (Exception ignored) {
+ // 杞崲澶辫触涓嶆姏閿欙紝淇濇寔鍘熸湁閫昏緫鍏煎
+ }
}
}
diff --git a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
index 1a916dd..b615608 100755
--- a/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
+++ b/java110-utils/src/main/java/com/java110/utils/util/DateUtil.java
@@ -10,6 +10,7 @@
import java.time.LocalDateTime;
import java.time.Period;
import java.time.format.DateTimeFormatter;
+import java.time.format.DateTimeParseException;
import java.util.*;
/**
@@ -26,7 +27,24 @@
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";
diff --git a/service-api/src/main/java/com/java110/api/importData/adapt/ImportContractCleaningAdapt.java b/service-api/src/main/java/com/java110/api/importData/adapt/ImportContractCleaningAdapt.java
index fc5eb60..10e9ace 100644
--- a/service-api/src/main/java/com/java110/api/importData/adapt/ImportContractCleaningAdapt.java
+++ b/service-api/src/main/java/com/java110/api/importData/adapt/ImportContractCleaningAdapt.java
@@ -106,12 +106,13 @@
}
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());
@@ -126,11 +127,12 @@
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) {
diff --git a/service-api/src/main/java/com/java110/api/importData/adapt/ImportReportMainDataV2CleaningAdapt.java b/service-api/src/main/java/com/java110/api/importData/adapt/ImportReportMainDataV2CleaningAdapt.java
index c91d803..13efe8b 100644
--- a/service-api/src/main/java/com/java110/api/importData/adapt/ImportReportMainDataV2CleaningAdapt.java
+++ b/service-api/src/main/java/com/java110/api/importData/adapt/ImportReportMainDataV2CleaningAdapt.java
@@ -41,7 +41,8 @@
*/
private void getOwnerRooms(Workbook workbook, List<Object[]> ownerRoomDtos, ComponentValidateResult result) throws ParseException {
Sheet sheet = null;
- sheet = ImportExcelUtils.getSheet(workbook, "鑽i『鑻戠鎶ュ崟");
+ String sheetName = "鑽i『鑻戠鎶ュ崟";
+ sheet = ImportExcelUtils.getSheet(workbook, sheetName);
List<Object[]> oList = ImportExcelUtils.listFromSheet(sheet);
ImportOwnerRoomDto importOwnerRoomDto = null;
for (int osIndex = 0; osIndex < oList.size(); osIndex++) {
@@ -50,7 +51,11 @@
}
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);
diff --git a/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java b/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java
index 5e1e0f9..ffd401d 100644
--- a/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java
+++ b/service-community/src/main/java/com/java110/community/smo/impl/ImportOwnerRoomInnerServiceSMOImpl.java
@@ -7,6 +7,7 @@
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;
@@ -427,6 +428,7 @@
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());
@@ -482,6 +484,9 @@
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);
diff --git a/service-fee/src/main/java/com/java110/fee/api/MaintenancePaymentApi.java b/service-fee/src/main/java/com/java110/fee/api/MaintenancePaymentApi.java
index a014efd..e24fc11 100644
--- a/service-fee/src/main/java/com/java110/fee/api/MaintenancePaymentApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/MaintenancePaymentApi.java
@@ -1,6 +1,7 @@
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;
@@ -40,11 +41,12 @@
@RequestMapping(value = "/saveMaintenancePayment", method = RequestMethod.POST)
public ResponseEntity<String> saveMaintenancePayment(@RequestBody JSONObject reqJson) {
// 鏍稿績鍙傛暟鏍¢獙锛坕d涓轰富閿紝鏂板鏃堕潪蹇呬紶锛岃繖閲屾牎楠屾牳蹇冧笟鍔″瓧娈碉級
- Assert.hasKeyAndValue(reqJson, "flowNumber", "璇锋眰鎶ユ枃涓湭鍖呭惈娴佽浆缂栧彿");
- Assert.hasKeyAndValue(reqJson, "projectCode", "璇锋眰鎶ユ枃涓湭鍖呭惈椤圭洰缂栫爜");
+// Assert.hasKeyAndValue(reqJson, "flowNumber", "璇锋眰鎶ユ枃涓湭鍖呭惈娴佽浆缂栧彿");
+// Assert.hasKeyAndValue(reqJson, "projectCode", "璇锋眰鎶ユ枃涓湭鍖呭惈椤圭洰缂栫爜");
// 灏咼SON鍙傛暟杞崲涓哄疄浣撶被
MaintenancePayment maintenancePayment = BeanConvertUtil.covertBean(reqJson, MaintenancePayment.class);
+ maintenancePayment.setId(GenerateCodeFactory.getGeneratorId("43"));
return saveImportFeeDetailBMOImpl.save(maintenancePayment);
}
diff --git a/service-fee/src/main/java/com/java110/fee/api/MpPaymentRecordApi.java b/service-fee/src/main/java/com/java110/fee/api/MpPaymentRecordApi.java
index 2680377..042d671 100644
--- a/service-fee/src/main/java/com/java110/fee/api/MpPaymentRecordApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/MpPaymentRecordApi.java
@@ -50,6 +50,10 @@
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);
}
diff --git a/service-fee/src/main/java/com/java110/fee/api/contract/ContractAmountDetailApi.java b/service-fee/src/main/java/com/java110/fee/api/contract/ContractAmountDetailApi.java
index cd58e7f..29e6b74 100644
--- a/service-fee/src/main/java/com/java110/fee/api/contract/ContractAmountDetailApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/contract/ContractAmountDetailApi.java
@@ -1,235 +1,235 @@
-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");
-
- // 杞崲涓篋TO
- 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());
- }
-}
\ No newline at end of file
+//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");
+//
+// // 杞崲涓篋TO
+// 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());
+// }
+//}
\ No newline at end of file
diff --git a/service-fee/src/main/java/com/java110/fee/api/contract/ContractCollectionDetailApi.java b/service-fee/src/main/java/com/java110/fee/api/contract/ContractCollectionDetailApi.java
index 0ed4bde..02203ae 100644
--- a/service-fee/src/main/java/com/java110/fee/api/contract/ContractCollectionDetailApi.java
+++ b/service-fee/src/main/java/com/java110/fee/api/contract/ContractCollectionDetailApi.java
@@ -4,8 +4,10 @@
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.*;
@@ -110,6 +112,29 @@
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());
+ }
/**
* 鍒嗛〉鏌ヨ鍚堝悓鏀舵鏄庣粏淇℃伅鍒楄〃
*
@@ -169,25 +194,29 @@
}
// 鏌ヨ鍒楄〃鏁版嵁锛圡yBatis鑷姩璇嗗埆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;
}
/**
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeePropertyCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeePropertyCmd.java
index 68613ce..6297a05 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeePropertyCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeePropertyCmd.java
@@ -27,7 +27,6 @@
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;
diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeWriteOrderCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeWriteOrderCmd.java
index 11c72e9..e977d81 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeWriteOrderCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeWriteOrderCmd.java
@@ -59,15 +59,17 @@
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"));
diff --git a/service-fee/src/main/java/com/java110/fee/dao/impl/FeeConfigServiceDaoImpl.java b/service-fee/src/main/java/com/java110/fee/dao/impl/FeeConfigServiceDaoImpl.java
index d0c80ab..2a65b9a 100755
--- a/service-fee/src/main/java/com/java110/fee/dao/impl/FeeConfigServiceDaoImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/dao/impl/FeeConfigServiceDaoImpl.java
@@ -83,6 +83,11 @@
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;
}
diff --git a/service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java b/service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java
index 342fc41..4b78818 100644
--- a/service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java
+++ b/service-fee/src/main/java/com/java110/fee/dao/impl/IReportFeeServiceDaoImpl.java
@@ -74,10 +74,8 @@
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);
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportContractQueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportContractQueueDataAdapt.java
index aef4657..9f8b991 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportContractQueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportContractQueueDataAdapt.java
@@ -2,6 +2,7 @@
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.*;
@@ -88,41 +89,36 @@
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()));
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java
index d754a2b..5855cf5 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportOwnerCarQueueV2DataAdapt.java
@@ -121,11 +121,11 @@
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();
@@ -158,7 +158,7 @@
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());
@@ -194,18 +194,6 @@
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);
@@ -606,15 +594,30 @@
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());
@@ -634,6 +637,7 @@
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;
@@ -645,6 +649,7 @@
if (feeDtos.isEmpty()) {
ownerCarPo.setRemark("鍗曚环`"+ownerCarPo.getUnitPricePerMonth()+"`鏈煡璇㈠埌鏀惰垂椤�");
+ return;
}
else if (feeDtos.size() > 1) {
throw new IllegalArgumentException("绯荤粺閿欒锛屾煡璇㈠埌鐨勮垂鐢ㄩ」瓒呰繃涓�涓�");
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java
index 1e13c88..a927ca6 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportReportMainV2QueueDataAdapt.java
@@ -210,7 +210,7 @@
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鍒楋細绠$悊澶勬槸鍚﹀凡鐩栫珷锛堚垰杞�"鏄�"锛屽惁鍒�"鍚�"锛�
@@ -220,8 +220,8 @@
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锛氫笟濮斾細澶т細鍐宠锛堟槸/鍚︼級
@@ -241,6 +241,7 @@
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)); // 涓汉韬唤璇佸彿鐮�
diff --git a/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java b/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java
index 65a2795..d19e21b 100644
--- a/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java
+++ b/service-job/src/main/java/com/java110/job/importData/adapt/ImportRoomOwnerV2QueueDataAdapt.java
@@ -133,16 +133,19 @@
* @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){
@@ -232,19 +235,24 @@
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()+"`鏈煡璇㈠埌鏀惰垂椤癸紝鏃犳硶娣诲姞璐圭敤";
+ }
}
}
@@ -539,7 +547,7 @@
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());
diff --git a/service-store/src/main/java/com/java110/store/api/ContractAmountDetailApi.java b/service-store/src/main/java/com/java110/store/api/ContractAmountDetailApi.java
new file mode 100644
index 0000000..80d3adc
--- /dev/null
+++ b/service-store/src/main/java/com/java110/store/api/ContractAmountDetailApi.java
@@ -0,0 +1,235 @@
+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");
+
+ // 杞崲涓篋TO
+ 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());
+ }
+}
\ No newline at end of file
diff --git a/service-store/src/main/java/com/java110/store/api/ContractApi.java b/service-store/src/main/java/com/java110/store/api/ContractApi.java
index c54d3f2..e62bbdd 100755
--- a/service-store/src/main/java/com/java110/store/api/ContractApi.java
+++ b/service-store/src/main/java/com/java110/store/api/ContractApi.java
@@ -249,34 +249,36 @@
@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);
}
@@ -354,7 +356,7 @@
*/
@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涓嶈兘涓虹┖");
diff --git a/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java b/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java
index a541c17..e7e3070 100755
--- a/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java
+++ b/service-store/src/main/java/com/java110/store/bmo/contract/IUpdateContractBMO.java
@@ -17,6 +17,7 @@
ResponseEntity<String> update(ContractPo contractPo, JSONObject reqJson);
+ ResponseEntity<String> update(ContractDto contractPo, JSONObject reqJson);
/**
* 闇�瑕佸鏍稿悎鍚�
* @param contractDto
diff --git a/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java b/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
index f1508c3..b30ca51 100755
--- a/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/bmo/contract/impl/UpdateContractBMOImpl.java
@@ -145,6 +145,52 @@
}
+ @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) {
@@ -472,6 +518,26 @@
}
}
+ 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("淇濆瓨灞炴�уけ璐�");
+ }
+ }
+
/**
* 淇敼 鎴垮眿绉熻祦鐘舵��
*
diff --git a/service-store/src/main/java/com/java110/store/dao/IContractServiceDao.java b/service-store/src/main/java/com/java110/store/dao/IContractServiceDao.java
index e5d2b73..d72b250 100755
--- a/service-store/src/main/java/com/java110/store/dao/IContractServiceDao.java
+++ b/service-store/src/main/java/com/java110/store/dao/IContractServiceDao.java
@@ -45,6 +45,22 @@
*/
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;
/**
* 鏌ヨ鍚堝悓绠$悊鎬绘暟
diff --git a/service-store/src/main/java/com/java110/store/dao/impl/ContractServiceDaoImpl.java b/service-store/src/main/java/com/java110/store/dao/impl/ContractServiceDaoImpl.java
index 970f9d2..b20ac1b 100755
--- a/service-store/src/main/java/com/java110/store/dao/impl/ContractServiceDaoImpl.java
+++ b/service-store/src/main/java/com/java110/store/dao/impl/ContractServiceDaoImpl.java
@@ -77,6 +77,53 @@
}
}
+ // ===================== 鏂板锛氬箍鍛婁俊鎭� 淇濆瓨鎴栨洿鏂� =====================
+ @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 鍚堝悓绠$悊淇℃伅
diff --git a/service-store/src/main/java/com/java110/store/smo/impl/ContractInnerServiceSMOImpl.java b/service-store/src/main/java/com/java110/store/smo/impl/ContractInnerServiceSMOImpl.java
index 5f3b39a..8afa80b 100644
--- a/service-store/src/main/java/com/java110/store/smo/impl/ContractInnerServiceSMOImpl.java
+++ b/service-store/src/main/java/com/java110/store/smo/impl/ContractInnerServiceSMOImpl.java
@@ -3,7 +3,7 @@
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;
@@ -38,12 +38,63 @@
}
@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);
+ // 杩欓噷璋冪敤浣燚AO鐨� 鏂板鎴栨洿鏂版柟娉曪紙涓嶅瓨鍦ㄥ垯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;
diff --git a/springboot/src/main/resources/application-debug.yml b/springboot/src/main/resources/application-debug.yml
index aa18c8e..df1a834 100644
--- a/springboot/src/main/resources/application-debug.yml
+++ b/springboot/src/main/resources/application-debug.yml
@@ -39,7 +39,7 @@
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:
diff --git a/springboot/src/main/resources/application.yml b/springboot/src/main/resources/application.yml
index d7d549c..e54f7d3 100644
--- a/springboot/src/main/resources/application.yml
+++ b/springboot/src/main/resources/application.yml
@@ -2,6 +2,7 @@
profiles:
active: devlocal
+
import:
line:
max: 50000
--
Gitblit v1.8.0