qingwu hace 1 año
padre
commit
16e3a53572
Se han modificado 23 ficheros con 1340 adiciones y 102 borrados
  1. 13 3
      metadata/com/kingdee/eas/custom/managedormsys/WaterPowerMeterReading.bizunit
  2. 72 1
      metadata/com/kingdee/eas/custom/managedormsys/app/CT_MAN_WaterPowerMeterReading.table
  3. 88 89
      metadata/com/kingdee/eas/custom/managedormsys/app/CT_MAN_WaterPowerPricing.table
  4. 32 0
      metadata/com/kingdee/eas/custom/managedormsys/app/R_WaterPowerMeterReading_Dormitory_dormitory.relation
  5. 154 0
      metadata/com/kingdee/eas/custom/managedormsys/app/WaterPowerMeterReading.entity
  6. 222 0
      metadata/com/kingdee/eas/custom/managedormsys/app/WaterPowerMeterReadingQuery.query
  7. 1 1
      metadata/com/kingdee/eas/custom/managedormsys/app/WaterPowerPricing.entity
  8. 279 0
      metadata/com/kingdee/eas/custom/managedormsys/client/WaterPowerMeterReadingEditUI.ui
  9. 23 1
      metadata/com/kingdee/eas/custom/managedormsys/client/WaterPowerMeterReadingListUI.ui
  10. 22 0
      src/com/kingdee/eas/custom/managedormsys/AbstractWaterPowerMeterReadingInfo.java
  11. 4 4
      src/com/kingdee/eas/custom/managedormsys/AbstractWaterPowerPricingInfo.java
  12. 67 3
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI.java
  13. 2 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI.properties
  14. 2 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI_l1.properties
  15. 2 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI_l2.properties
  16. 2 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI_l3.properties
  17. 0 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI.java
  18. 0 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI.properties
  19. 0 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI_l2.properties
  20. 0 0
      src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI_l3.properties
  21. 137 0
      websrc/com/kingdee/eas/custom/managedormsys/handler/WaterPowerMeterReadingEditHandler.java
  22. 84 0
      websrc/com/kingdee/eas/custom/managedormsys/importService/WaterPowerMeterReadingImportService.java
  23. 134 0
      websrc/com/kingdee/eas/custom/managedormsys/utils/WaterPowerUtil.java

+ 13 - 3
metadata/com/kingdee/eas/custom/managedormsys/WaterPowerMeterReading.bizunit

@@ -75,6 +75,16 @@
       <lang locale="zh_CN" value="com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI" />
       <lang locale="zh_TW" value="com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI" />
     </rs>
+    <rs key="bizUnit[com.kingdee.eas.custom.managedormsys.WaterPowerMeterReading].extendedProperty.enableFieldPermission">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="bizUnit[com.kingdee.eas.custom.managedormsys.WaterPowerMeterReading].extendedProperty.genBusinessImplCode">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="bizUnit[com.kingdee.eas.custom.managedormsys.WaterPowerMeterReading].extendedProperty.isAsstAcctType">
       <lang locale="en_US" value="false" />
       <lang locale="zh_CN" value="false" />
@@ -91,9 +101,9 @@
       <lang locale="zh_TW" value="com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingListUI" />
     </rs>
     <rs key="bizUnit[com.kingdee.eas.custom.managedormsys.WaterPowerMeterReading].extendedProperty.maxFieldIndex">
-      <lang locale="en_US" value="9" />
-      <lang locale="zh_CN" value="9" />
-      <lang locale="zh_TW" value="9" />
+      <lang locale="en_US" value="11" />
+      <lang locale="zh_CN" value="11" />
+      <lang locale="zh_TW" value="11" />
     </rs>
     <rs key="bizUnit[com.kingdee.eas.custom.managedormsys.WaterPowerMeterReading].extendedProperty.userDefined">
       <lang locale="en_US" value="true" />

+ 72 - 1
metadata/com/kingdee/eas/custom/managedormsys/app/CT_MAN_WaterPowerMeterReading.table

@@ -197,7 +197,7 @@
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>false</isNullable>
-      <defaultValue />
+      <defaultValue>''</defaultValue>
       <sqlType>VARCHAR</sqlType>
       <length>44</length>
       <scale>0</scale>
@@ -329,6 +329,34 @@
       <scale>0</scale>
       <precision>0</precision>
     </column>
+    <column>
+      <name>CFCalcInterval</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFCalcInterval].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFCalcInterval].description</description>
+      <userDefined>true</userDefined>
+      <isMultilingual>false</isMultilingual>
+      <isEncoded>false</isEncoded>
+      <isNullable>true</isNullable>
+      <defaultValue />
+      <sqlType>INT</sqlType>
+      <length>1</length>
+      <scale>0</scale>
+      <precision>0</precision>
+    </column>
+    <column>
+      <name>CFDormitoryID</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFDormitoryID].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFDormitoryID].description</description>
+      <userDefined>true</userDefined>
+      <isMultilingual>false</isMultilingual>
+      <isEncoded>false</isEncoded>
+      <isNullable>true</isNullable>
+      <defaultValue />
+      <sqlType>VARCHAR</sqlType>
+      <length>44</length>
+      <scale>0</scale>
+      <precision>0</precision>
+    </column>
   </columns>
   <primaryKey>
     <name>CPK_MAN_WaterPMfkb</name>
@@ -458,6 +486,25 @@
         </fkColumnPair>
       </fkColumnPairs>
     </foreignKey>
+    <foreignKey>
+      <name>CFK_MAN_MANWPMROcc</name>
+      <userDefined>true</userDefined>
+      <refTable>
+        <key name="package" value="com.kingdee.eas.custom.dormitorysystem.dormitory.app" />
+        <key name="name" value="CT_DOR_Dormitory" />
+      </refTable>
+      <fkColumnPairs>
+        <fkColumnPair>
+          <sequence>0</sequence>
+          <refColumn>
+            <key name="name" value="FID" />
+          </refColumn>
+          <fkColumn>
+            <key name="name" value="CFDormitoryID" />
+          </fkColumn>
+        </fkColumnPair>
+      </fkColumnPairs>
+    </foreignKey>
   </foreignKeys>
   <resource>
     <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].alias">
@@ -466,6 +513,18 @@
       <lang locale="zh_HK" value="水電每月抄表信息" />
       <lang locale="zh_TW" value="水電每月抄表信息" />
     </rs>
+    <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFCalcInterval].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="是否取消自动计算当月水电" />
+      <lang locale="zh_HK" value="是否取消自動計算當月水電" />
+      <lang locale="zh_TW" value="是否取消自動計算當月水電" />
+    </rs>
+    <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFCalcInterval].description">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="calcInterval" />
+      <lang locale="zh_HK" value="calcInterval" />
+      <lang locale="zh_TW" value="calcInterval" />
+    </rs>
     <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFCurMonthElecDegrees].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="当月电度数" />
@@ -514,6 +573,18 @@
       <lang locale="zh_HK" value="宿舍房號" />
       <lang locale="zh_TW" value="宿舍房號" />
     </rs>
+    <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFDormitoryID].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="宿舍" />
+      <lang locale="zh_HK" value="宿舍" />
+      <lang locale="zh_TW" value="宿舍" />
+    </rs>
+    <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFDormitoryID].description">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="宿舍" />
+      <lang locale="zh_HK" value="宿舍" />
+      <lang locale="zh_TW" value="宿舍" />
+    </rs>
     <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerMeterReading].columns.column[CFMeterReaPersonID].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="抄表人" />

+ 88 - 89
metadata/com/kingdee/eas/custom/managedormsys/app/CT_MAN_WaterPowerPricing.table

@@ -8,23 +8,23 @@
   <bizUnitPK>com.kingdee.eas.custom.managedormsys.WaterPowerPricing</bizUnitPK>
   <columns>
     <column>
-      <name>FCreatorID</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreatorID].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreatorID].description</description>
+      <name>CFStartDate</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFStartDate].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFStartDate].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>VARCHAR</sqlType>
-      <length>44</length>
+      <sqlType>DATETIME</sqlType>
+      <length>8</length>
       <scale>0</scale>
-      <precision>0</precision>
+      <precision>8</precision>
     </column>
     <column>
-      <name>FCreateTime</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreateTime].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreateTime].description</description>
+      <name>CFEndDate</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFEndDate].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFEndDate].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
@@ -36,46 +36,46 @@
       <precision>8</precision>
     </column>
     <column>
-      <name>FLastUpdateUserID</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateUserID].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateUserID].description</description>
+      <name>CFWaterprice</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFWaterprice].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFWaterprice].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>VARCHAR</sqlType>
-      <length>44</length>
-      <scale>0</scale>
-      <precision>0</precision>
+      <sqlType>NUMERIC</sqlType>
+      <length>28</length>
+      <scale>10</scale>
+      <precision>28</precision>
     </column>
     <column>
-      <name>FLastUpdateTime</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateTime].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateTime].description</description>
+      <name>CFElectricityprice</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFElectricityprice].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFElectricityprice].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>DATETIME</sqlType>
-      <length>8</length>
-      <scale>0</scale>
-      <precision>8</precision>
+      <sqlType>NUMERIC</sqlType>
+      <length>28</length>
+      <scale>10</scale>
+      <precision>28</precision>
     </column>
     <column>
-      <name>FControlUnitID</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FControlUnitID].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FControlUnitID].description</description>
+      <name>CFRemark</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFRemark].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFRemark].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
       <sqlType>VARCHAR</sqlType>
-      <length>44</length>
+      <length>2000</length>
       <scale>0</scale>
-      <precision>0</precision>
+      <precision>2000</precision>
     </column>
     <column>
       <name>FNumber</name>
@@ -87,9 +87,9 @@
       <isNullable>true</isNullable>
       <defaultValue />
       <sqlType>NVARCHAR</sqlType>
-      <length>80</length>
+      <length>88</length>
       <scale>0</scale>
-      <precision>80</precision>
+      <precision>0</precision>
     </column>
     <column>
       <name>FBizDate</name>
@@ -128,10 +128,10 @@
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>NVARCHAR</sqlType>
-      <length>80</length>
+      <sqlType>VARCHAR</sqlType>
+      <length>88</length>
       <scale>0</scale>
-      <precision>80</precision>
+      <precision>0</precision>
     </column>
     <column>
       <name>FHasEffected</name>
@@ -143,9 +143,9 @@
       <isNullable>true</isNullable>
       <defaultValue />
       <sqlType>INT</sqlType>
-      <length>4</length>
+      <length>1</length>
       <scale>0</scale>
-      <precision>4</precision>
+      <precision>1</precision>
     </column>
     <column>
       <name>FAuditorID</name>
@@ -170,10 +170,10 @@
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>NVARCHAR</sqlType>
-      <length>80</length>
+      <sqlType>VARCHAR</sqlType>
+      <length>88</length>
       <scale>0</scale>
-      <precision>80</precision>
+      <precision>0</precision>
     </column>
     <column>
       <name>FSourceFunction</name>
@@ -184,29 +184,29 @@
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>NVARCHAR</sqlType>
-      <length>80</length>
+      <sqlType>VARCHAR</sqlType>
+      <length>88</length>
       <scale>0</scale>
-      <precision>80</precision>
+      <precision>0</precision>
     </column>
     <column>
-      <name>FID</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FID].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FID].description</description>
+      <name>FCreatorID</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreatorID].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreatorID].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
-      <isNullable>false</isNullable>
+      <isNullable>true</isNullable>
       <defaultValue />
       <sqlType>VARCHAR</sqlType>
       <length>44</length>
       <scale>0</scale>
-      <precision>44</precision>
+      <precision>0</precision>
     </column>
     <column>
-      <name>CFStartDate</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFStartDate].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFStartDate].description</description>
+      <name>FCreateTime</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreateTime].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FCreateTime].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
@@ -215,67 +215,67 @@
       <sqlType>DATETIME</sqlType>
       <length>8</length>
       <scale>0</scale>
-      <precision>0</precision>
+      <precision>8</precision>
     </column>
     <column>
-      <name>CFEndDate</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFEndDate].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFEndDate].description</description>
+      <name>FLastUpdateUserID</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateUserID].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateUserID].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>NVARCHAR</sqlType>
-      <length>100</length>
+      <sqlType>VARCHAR</sqlType>
+      <length>44</length>
       <scale>0</scale>
       <precision>0</precision>
     </column>
     <column>
-      <name>CFWaterprice</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFWaterprice].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFWaterprice].description</description>
+      <name>FLastUpdateTime</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateTime].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateTime].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>NUMERIC</sqlType>
-      <length>28</length>
-      <scale>10</scale>
-      <precision>28</precision>
+      <sqlType>DATETIME</sqlType>
+      <length>8</length>
+      <scale>0</scale>
+      <precision>8</precision>
     </column>
     <column>
-      <name>CFElectricityprice</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFElectricityprice].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFElectricityprice].description</description>
+      <name>FControlUnitID</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FControlUnitID].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FControlUnitID].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
       <isNullable>true</isNullable>
       <defaultValue />
-      <sqlType>NUMERIC</sqlType>
-      <length>28</length>
-      <scale>10</scale>
-      <precision>28</precision>
+      <sqlType>VARCHAR</sqlType>
+      <length>44</length>
+      <scale>0</scale>
+      <precision>0</precision>
     </column>
     <column>
-      <name>CFRemark</name>
-      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFRemark].alias</alias>
-      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[CFRemark].description</description>
+      <name>FID</name>
+      <alias>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FID].alias</alias>
+      <description>dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FID].description</description>
       <userDefined>true</userDefined>
       <isMultilingual>false</isMultilingual>
       <isEncoded>false</isEncoded>
-      <isNullable>true</isNullable>
+      <isNullable>false</isNullable>
       <defaultValue />
-      <sqlType>NVARCHAR</sqlType>
-      <length>2000</length>
+      <sqlType>VARCHAR</sqlType>
+      <length>44</length>
       <scale>0</scale>
-      <precision>0</precision>
+      <precision>44</precision>
     </column>
   </columns>
   <primaryKey>
-    <name>CPK_MAN_WaterPP3k6</name>
+    <name>PK_WaterPowerPrici</name>
     <userDefined>true</userDefined>
     <primaryKeyColumns>
       <primaryKeyColumn>
@@ -289,7 +289,7 @@
   </primaryKey>
   <foreignKeys>
     <foreignKey>
-      <name>CFK_MAN_MANWPPCr4k</name>
+      <name>CFK_MAN_MANWPPRtr</name>
       <userDefined>true</userDefined>
       <refTable>
         <key name="package" value="com.kingdee.eas.base.permission.app" />
@@ -308,7 +308,7 @@
       </fkColumnPairs>
     </foreignKey>
     <foreignKey>
-      <name>CFK_MAN_MANWPPLU4k</name>
+      <name>CFK_MAN_MANWPPAsUU</name>
       <userDefined>true</userDefined>
       <refTable>
         <key name="package" value="com.kingdee.eas.base.permission.app" />
@@ -327,17 +327,17 @@
       </fkColumnPairs>
     </foreignKey>
     <foreignKey>
-      <name>CFK_MAN_MANWPPCU5k</name>
+      <name>CFK_MAN_MANWPPCU</name>
       <userDefined>true</userDefined>
       <refTable>
         <key name="package" value="com.kingdee.eas.basedata.org" />
-        <key name="name" value="T_ORG_OUPartCtrl" />
+        <key name="name" value="T_ORG_CtrlUnit" />
       </refTable>
       <fkColumnPairs>
         <fkColumnPair>
           <sequence>0</sequence>
           <refColumn>
-            <key name="name" value="FUnitID" />
+            <key name="name" value="FID" />
           </refColumn>
           <fkColumn>
             <key name="name" value="FControlUnitID" />
@@ -346,7 +346,7 @@
       </fkColumnPairs>
     </foreignKey>
     <foreignKey>
-      <name>CFK_MAN_MANWPPHn6k</name>
+      <name>CFK_MAN_MANWPPAndl</name>
       <userDefined>true</userDefined>
       <refTable>
         <key name="package" value="com.kingdee.eas.base.permission.app" />
@@ -365,7 +365,7 @@
       </fkColumnPairs>
     </foreignKey>
     <foreignKey>
-      <name>CFK_MAN_MANWPPAd6k</name>
+      <name>CFK_MAN_MANWPPUdtr</name>
       <userDefined>true</userDefined>
       <refTable>
         <key name="package" value="com.kingdee.eas.base.permission.app" />
@@ -549,14 +549,13 @@
     </rs>
     <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FID].alias">
       <lang locale="en_US" value="null" />
-      <lang locale="zh_CN" value="null" />
-      <lang locale="zh_HK" value="null" />
-      <lang locale="zh_TW" value="null" />
+      <lang locale="zh_CN" value="ID" />
+      <lang locale="zh_HK" value="ID" />
+      <lang locale="zh_TW" value="ID" />
     </rs>
     <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FID].description">
       <lang locale="en_US" value="null" />
-      <lang locale="zh_CN" value="null" />
-      <lang locale="zh_HK" value="null" />
+      <lang locale="zh_CN" value="" />
       <lang locale="zh_TW" value="null" />
     </rs>
     <rs key="dataTable[com.kingdee.eas.custom.managedormsys.app.CT_MAN_WaterPowerPricing].columns.column[FLastUpdateTime].alias">

+ 32 - 0
metadata/com/kingdee/eas/custom/managedormsys/app/R_WaterPowerMeterReading_Dormitory_dormitory.relation

@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<relationship xmlns="com.kingdee.bos.metadata">
+  <package>com.kingdee.eas.custom.managedormsys.app</package>
+  <name>R_WaterPowerMeterReading_Dormitory_dormitory</name>
+  <alias>relationship[com.kingdee.eas.custom.managedormsys.app.R_WaterPowerMeterReading_Dormitory_dormitory].alias</alias>
+  <description>relationship[com.kingdee.eas.custom.managedormsys.app.R_WaterPowerMeterReading_Dormitory_dormitory].description</description>
+  <userDefined>true</userDefined>
+  <type>Association</type>
+  <clientCardinality>1</clientCardinality>
+  <supplierCardinality>0..1</supplierCardinality>
+  <xmlNodeRelationship />
+  <clientObject>
+    <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+    <key name="name" value="WaterPowerMeterReading" />
+  </clientObject>
+  <supplierObject>
+    <key name="package" value="com.kingdee.eas.custom.dormitorysystem.dormitory.app" />
+    <key name="name" value="Dormitory" />
+  </supplierObject>
+  <resource>
+    <rs key="relationship[com.kingdee.eas.custom.managedormsys.app.R_WaterPowerMeterReading_Dormitory_dormitory].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="null" />
+      <lang locale="zh_TW" value="null" />
+    </rs>
+    <rs key="relationship[com.kingdee.eas.custom.managedormsys.app.R_WaterPowerMeterReading_Dormitory_dormitory].description">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="null" />
+      <lang locale="zh_TW" value="null" />
+    </rs>
+  </resource>
+</relationship>

+ 154 - 0
metadata/com/kingdee/eas/custom/managedormsys/app/WaterPowerMeterReading.entity

@@ -352,6 +352,40 @@
         <key name="name" value="CFRemark" />
       </mappingField>
     </ownProperty>
+    <ownProperty>
+      <name>calcInterval</name>
+      <alias>entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].alias</alias>
+      <description>entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].description</description>
+      <userDefined>true</userDefined>
+      <configured>false</configured>
+      <dataType>Boolean</dataType>
+      <metadataRef />
+      <isMultilingual>false</isMultilingual>
+      <isNullable>false</isNullable>
+      <formula />
+      <length>1</length>
+      <precision>0</precision>
+      <decimalDigits>0</decimalDigits>
+      <defaultValue>entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].defaultValue</defaultValue>
+      <displayFormat />
+      <mappingField>
+        <key name="name" value="CFCalcInterval" />
+      </mappingField>
+    </ownProperty>
+    <linkProperty>
+      <name>dormitory</name>
+      <alias>entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].alias</alias>
+      <description>entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].description</description>
+      <userDefined>true</userDefined>
+      <configured>false</configured>
+      <mappingField>
+        <key name="name" value="CFDormitoryID" />
+      </mappingField>
+      <relationship>
+        <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+        <key name="name" value="R_WaterPowerMeterReading_Dormitory_dormitory" />
+      </relationship>
+    </linkProperty>
   </properties>
   <logicalKey>
     <name>id</name>
@@ -865,6 +899,11 @@
       <lang locale="zh_CN" value="false" />
       <lang locale="zh_TW" value="false" />
     </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].extendedProperty.genBusinessImplCode">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].extendedProperty.isParamObject">
       <lang locale="en_US" value="false" />
       <lang locale="zh_CN" value="false" />
@@ -971,6 +1010,58 @@
       <lang locale="zh_HK" value="null" />
       <lang locale="zh_TW" value="null" />
     </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="宿舍" />
+      <lang locale="zh_HK" value="宿舍" />
+      <lang locale="zh_TW" value="宿舍" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].description">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="宿舍" />
+      <lang locale="zh_HK" value="宿舍" />
+      <lang locale="zh_TW" value="宿舍" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.ColWidthInKDTable">
+      <lang locale="en_US" value="50" />
+      <lang locale="zh_CN" value="50" />
+      <lang locale="zh_TW" value="50" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.dataField">
+      <lang locale="en_US" value="RoomNumber" />
+      <lang locale="zh_CN" value="RoomNumber" />
+      <lang locale="zh_TW" value="RoomNumber" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.isForGrouping">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.isForMapping">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.isForMatching">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.isForWrittenBack">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.isInCode">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[dormitory].extendedProperty.isVisibleForKDTable">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.linkProperty[meterReaPerson].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="抄表人" />
@@ -1023,6 +1114,69 @@
       <lang locale="zh_CN" value="true" />
       <lang locale="zh_TW" value="true" />
     </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="是否取消自动计算当月水电" />
+      <lang locale="zh_HK" value="是否取消自動計算當月水電" />
+      <lang locale="zh_TW" value="是否取消自動計算當月水電" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].defaultValue">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="calcInterval" />
+      <lang locale="zh_HK" value="calcInterval" />
+      <lang locale="zh_TW" value="calcInterval" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].description">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="calcInterval" />
+      <lang locale="zh_HK" value="calcInterval" />
+      <lang locale="zh_TW" value="calcInterval" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.ColWidthInKDTable">
+      <lang locale="en_US" value="50" />
+      <lang locale="zh_CN" value="50" />
+      <lang locale="zh_TW" value="50" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.bizDataType">
+      <lang locale="en_US" value="BOOLEAN" />
+      <lang locale="zh_CN" value="BOOLEAN" />
+      <lang locale="zh_TW" value="BOOLEAN" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.enableFieldPermission">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.isForGrouping">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.isForMapping">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.isForMatching">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.isForWrittenBack">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.isInCode">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[calcInterval].extendedProperty.isVisibleForKDTable">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading].properties.ownProperty[curMonthElecDegrees].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="当月电度数" />

+ 222 - 0
metadata/com/kingdee/eas/custom/managedormsys/app/WaterPowerMeterReadingQuery.query

@@ -87,6 +87,19 @@
         <key name="name" value="Person" />
       </entityRef>
     </subEntity>
+    <subEntity>
+      <name>dormitory</name>
+      <alias>joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].subObjects.subEntity[dormitory].alias</alias>
+      <userDefined>true</userDefined>
+      <query>
+        <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+        <key name="name" value="WaterPowerMeterReadingQuery" />
+      </query>
+      <entityRef>
+        <key name="package" value="com.kingdee.eas.custom.dormitorysystem.dormitory.app" />
+        <key name="name" value="Dormitory" />
+      </entityRef>
+    </subEntity>
   </subObjects>
   <units>
     <propertyUnit>
@@ -1112,6 +1125,130 @@
         <key name="name" value="WaterPowerMeterReadingQuery" />
       </query>
     </queryField>
+    <queryField>
+      <name>calcInterval</name>
+      <userDefined>true</userDefined>
+      <formulaString>#0</formulaString>
+      <constString />
+      <displayName>joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[calcInterval].displayName</displayName>
+      <groupType />
+      <isSelector>true</isSelector>
+      <isFilter>true</isFilter>
+      <isSorter>true</isSorter>
+      <isParameter>false</isParameter>
+      <returnType>Boolean</returnType>
+      <propertyRefs>
+        <propertyRef>
+          <key>e84af482-4964-48e3-984d-1c656f65ede0</key>
+          <parentUnit>
+            <key name="name" value="calcInterval" />
+          </parentUnit>
+          <subEntity>
+            <key name="name" value="WaterPowerMeterReading" />
+          </subEntity>
+          <refProperty>
+            <key name="name" value="calcInterval" />
+          </refProperty>
+        </propertyRef>
+      </propertyRefs>
+      <query>
+        <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+        <key name="name" value="WaterPowerMeterReadingQuery" />
+      </query>
+    </queryField>
+    <queryField>
+      <name>dormitory.RoomNumber</name>
+      <userDefined>true</userDefined>
+      <formulaString>#0</formulaString>
+      <constString />
+      <displayName>joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[dormitory.RoomNumber].displayName</displayName>
+      <groupType />
+      <isSelector>true</isSelector>
+      <isFilter>true</isFilter>
+      <isSorter>true</isSorter>
+      <isParameter>false</isParameter>
+      <returnType>String</returnType>
+      <propertyRefs>
+        <propertyRef>
+          <key>dc38ce6b-95a5-4746-994f-072c1e60d264</key>
+          <parentUnit>
+            <key name="name" value="dormitory.RoomNumber" />
+          </parentUnit>
+          <subEntity>
+            <key name="name" value="dormitory" />
+          </subEntity>
+          <refProperty>
+            <key name="name" value="RoomNumber" />
+          </refProperty>
+        </propertyRef>
+      </propertyRefs>
+      <query>
+        <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+        <key name="name" value="WaterPowerMeterReadingQuery" />
+      </query>
+    </queryField>
+    <propertyUnit>
+      <name>f2dd6506-edb1-4d2d-a9d6-1ded9ac0c278</name>
+      <userDefined>true</userDefined>
+      <formulaString />
+      <constString />
+      <displayName>joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.propertyUnit[f2dd6506-edb1-4d2d-a9d6-1ded9ac0c278].displayName</displayName>
+      <groupType />
+      <isSelector>false</isSelector>
+      <isFilter>false</isFilter>
+      <isSorter>false</isSorter>
+      <isParameter>false</isParameter>
+      <returnType />
+      <propertyRefs>
+        <propertyRef>
+          <key>3cd1a5bb-a48c-45d0-99dd-8b577b98aeb0</key>
+          <parentUnit>
+            <key name="name" value="f2dd6506-edb1-4d2d-a9d6-1ded9ac0c278" />
+          </parentUnit>
+          <subEntity>
+            <key name="name" value="WaterPowerMeterReading" />
+          </subEntity>
+          <refProperty>
+            <key name="name" value="dormitory" />
+          </refProperty>
+        </propertyRef>
+      </propertyRefs>
+      <query>
+        <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+        <key name="name" value="WaterPowerMeterReadingQuery" />
+      </query>
+    </propertyUnit>
+    <propertyUnit>
+      <name>83b80e97-a6f9-4fc4-9761-3f7dfee1e3d3</name>
+      <userDefined>true</userDefined>
+      <formulaString />
+      <constString />
+      <displayName>joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.propertyUnit[83b80e97-a6f9-4fc4-9761-3f7dfee1e3d3].displayName</displayName>
+      <groupType />
+      <isSelector>false</isSelector>
+      <isFilter>false</isFilter>
+      <isSorter>false</isSorter>
+      <isParameter>false</isParameter>
+      <returnType />
+      <propertyRefs>
+        <propertyRef>
+          <key>c77f4be9-3d0e-4397-b827-983b8da0d40d</key>
+          <parentUnit>
+            <key name="name" value="83b80e97-a6f9-4fc4-9761-3f7dfee1e3d3" />
+          </parentUnit>
+          <subEntity>
+            <key name="name" value="dormitory" />
+          </subEntity>
+          <refProperty>
+            <key name="name" value="id" />
+          </refProperty>
+        </propertyRef>
+      </propertyRefs>
+      <query>
+        <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+        <key name="name" value="WaterPowerMeterReadingQuery" />
+      </query>
+    </propertyUnit>
   </units>
   <defaultFilter>
     <name>defaultFilter</name>
@@ -1295,6 +1432,36 @@
         <key name="name" value="WaterPowerMeterReadingQuery" />
       </query>
     </join>
+    <join>
+      <name>cbd3119f-d024-4eff-bedc-c87e104da1f5</name>
+      <formulaString>#0</formulaString>
+      <type>LEFT OUTER JOIN</type>
+      <leftObject>
+        <key name="name" value="WaterPowerMeterReading" />
+      </leftObject>
+      <rightObject>
+        <key name="name" value="dormitory" />
+      </rightObject>
+      <joinItems>
+        <joinItem>
+          <name>6e469a94-1144-40ec-bf9e-cbf849f1e3fc</name>
+          <compareType>=</compareType>
+          <leftField>
+            <key name="name" value="f2dd6506-edb1-4d2d-a9d6-1ded9ac0c278" />
+          </leftField>
+          <rightField>
+            <key name="name" value="83b80e97-a6f9-4fc4-9761-3f7dfee1e3d3" />
+          </rightField>
+          <join>
+            <key name="name" value="cbd3119f-d024-4eff-bedc-c87e104da1f5" />
+          </join>
+        </joinItem>
+      </joinItems>
+      <query>
+        <key name="package" value="com.kingdee.eas.custom.managedormsys.app" />
+        <key name="name" value="WaterPowerMeterReadingQuery" />
+      </query>
+    </join>
   </joins>
   <resource>
     <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].alias">
@@ -1354,6 +1521,12 @@
       <lang locale="zh_HK" value="null" />
       <lang locale="zh_TW" value="null" />
     </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].subObjects.subEntity[dormitory].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="null" />
+      <lang locale="zh_HK" value="null" />
+      <lang locale="zh_TW" value="null" />
+    </rs>
     <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].subObjects.subEntity[handler].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="null" />
@@ -1384,6 +1557,12 @@
       <lang locale="zh_HK" value="null" />
       <lang locale="zh_TW" value="null" />
     </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.propertyUnit[83b80e97-a6f9-4fc4-9761-3f7dfee1e3d3].displayName">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="null" />
+      <lang locale="zh_HK" value="null" />
+      <lang locale="zh_TW" value="null" />
+    </rs>
     <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.propertyUnit[NewUnit0].displayName">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="null" />
@@ -1432,6 +1611,12 @@
       <lang locale="zh_HK" value="null" />
       <lang locale="zh_TW" value="null" />
     </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.propertyUnit[f2dd6506-edb1-4d2d-a9d6-1ded9ac0c278].displayName">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="null" />
+      <lang locale="zh_HK" value="null" />
+      <lang locale="zh_TW" value="null" />
+    </rs>
     <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[auditor.name].displayName">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="别名" />
@@ -1460,6 +1645,22 @@
       <lang locale="zh_CN" value="true" />
       <lang locale="zh_TW" value="true" />
     </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[calcInterval].displayName">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="calcInterval" />
+      <lang locale="zh_HK" value="calcInterval" />
+      <lang locale="zh_TW" value="calcInterval" />
+    </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[calcInterval].extendedProperty.isCommonQueryFilter">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[calcInterval].extendedProperty.isCommonQuerySorter">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[createTime].displayName">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="创建时间" />
@@ -1568,6 +1769,27 @@
       <lang locale="zh_CN" value="true" />
       <lang locale="zh_TW" value="true" />
     </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[dormitory.RoomNumber].displayName">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="宿舍" />
+      <lang locale="zh_HK" value="宿舍" />
+      <lang locale="zh_TW" value="宿舍" />
+    </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[dormitory.RoomNumber].extendedProperty.isCommonQueryFilter">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[dormitory.RoomNumber].extendedProperty.isCommonQuerySorter">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
+    <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[dormitory.RoomNumber].extendedProperty.isUsingF7">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="joinQuery[com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReadingQuery].units.queryField[handler.name].displayName">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="别名" />

+ 1 - 1
metadata/com/kingdee/eas/custom/managedormsys/app/WaterPowerPricing.entity

@@ -204,7 +204,7 @@
       <description>entityObject[com.kingdee.eas.custom.managedormsys.app.WaterPowerPricing].properties.ownProperty[endDate].description</description>
       <userDefined>true</userDefined>
       <configured>false</configured>
-      <dataType>String</dataType>
+      <dataType>Date</dataType>
       <metadataRef />
       <isMultilingual>false</isMultilingual>
       <isNullable>false</isNullable>

+ 279 - 0
metadata/com/kingdee/eas/custom/managedormsys/client/WaterPowerMeterReadingEditUI.ui

@@ -864,6 +864,105 @@
         <key name="name" value="CoreUI" />
       </parent>
     </component>
+    <component>
+      <name>chkcalcInterval</name>
+      <alias>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].alias</alias>
+      <userDefined>true</userDefined>
+      <classType>com.kingdee.bos.ctrl.swing.KDCheckBox</classType>
+      <isContainer>false</isContainer>
+      <constraints>0,0,270,19</constraints>
+      <tabIndex>23</tabIndex>
+      <herited>false</herited>
+      <bimUIObjectPK />
+      <properties>
+        <property>
+          <name>text</name>
+          <type>java.lang.String</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].properties.property[text].value</value>
+          <isMultiLan>true</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>visible</name>
+          <type>boolean</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].properties.property[visible].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>horizontalAlignment</name>
+          <type>int</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].properties.property[horizontalAlignment].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+      </properties>
+      <parent>
+        <key name="name" value="CoreUI" />
+      </parent>
+      <propertyBindings>
+        <propertyBinding>
+          <propertyName>selected</propertyName>
+          <propertyType>boolean</propertyType>
+          <bindingObject>editData</bindingObject>
+          <bindingField>calcInterval</bindingField>
+          <fieldType>boolean</fieldType>
+          <accessType>2</accessType>
+          <autoMode>false</autoMode>
+          <herited>false</herited>
+          <userDefined>true</userDefined>
+        </propertyBinding>
+      </propertyBindings>
+    </component>
+    <component>
+      <name>contdormitory</name>
+      <alias>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].alias</alias>
+      <userDefined>true</userDefined>
+      <classType>com.kingdee.bos.ctrl.swing.KDLabelContainer</classType>
+      <isContainer>true</isContainer>
+      <constraints>0,0,270,19</constraints>
+      <tabIndex>0</tabIndex>
+      <herited>false</herited>
+      <bimUIObjectPK />
+      <layoutInfo>
+        <name />
+        <type>LabelContainerLayout</type>
+        <value />
+      </layoutInfo>
+      <properties>
+        <property>
+          <name>boundLabelText</name>
+          <type>java.lang.String</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[boundLabelText].value</value>
+          <isMultiLan>true</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>boundLabelLength</name>
+          <type>int</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[boundLabelLength].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>boundLabelUnderline</name>
+          <type>boolean</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[boundLabelUnderline].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>visible</name>
+          <type>boolean</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[visible].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+      </properties>
+      <parent>
+        <key name="name" value="CoreUI" />
+      </parent>
+    </component>
     <component>
       <name>prmtCreator</name>
       <alias>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtCreator].alias</alias>
@@ -1857,6 +1956,84 @@
         </propertyBinding>
       </propertyBindings>
     </component>
+    <component>
+      <name>prmtdormitory</name>
+      <alias>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].alias</alias>
+      <userDefined>true</userDefined>
+      <classType>com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox</classType>
+      <isContainer>false</isContainer>
+      <constraints>7</constraints>
+      <tabIndex>24</tabIndex>
+      <herited>false</herited>
+      <bimUIObjectPK />
+      <properties>
+        <property>
+          <name>queryInfo</name>
+          <type>java.lang.String</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[queryInfo].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>visible</name>
+          <type>boolean</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[visible].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>editable</name>
+          <type>boolean</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[editable].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>displayFormat</name>
+          <type>java.lang.String</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[displayFormat].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>editFormat</name>
+          <type>java.lang.String</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[editFormat].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>commitFormat</name>
+          <type>java.lang.String</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[commitFormat].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+        <property>
+          <name>required</name>
+          <type>boolean</type>
+          <value>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[required].value</value>
+          <isMultiLan>false</isMultiLan>
+          <userDefined>true</userDefined>
+        </property>
+      </properties>
+      <parent>
+        <key name="name" value="contdormitory" />
+      </parent>
+      <propertyBindings>
+        <propertyBinding>
+          <propertyName>data</propertyName>
+          <propertyType>java.lang.Object</propertyType>
+          <bindingObject>editData</bindingObject>
+          <bindingField>dormitory</bindingField>
+          <fieldType>com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryInfo</fieldType>
+          <accessType>2</accessType>
+          <autoMode>false</autoMode>
+          <herited>false</herited>
+          <userDefined>true</userDefined>
+        </propertyBinding>
+      </propertyBindings>
+    </component>
     <component>
       <name>btnTraceUp</name>
       <alias>uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[btnTraceUp].alias</alias>
@@ -2576,6 +2753,30 @@
       <lang locale="zh_HK" value="false" />
       <lang locale="zh_TW" value="false" />
     </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="是否取消自动计算当月水电" />
+      <lang locale="zh_HK" value="是否取消自動計算當月水電" />
+      <lang locale="zh_TW" value="是否取消自動計算當月水電" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].properties.property[horizontalAlignment].value">
+      <lang locale="en_US" value="2" />
+      <lang locale="zh_CN" value="2" />
+      <lang locale="zh_HK" value="2" />
+      <lang locale="zh_TW" value="2" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].properties.property[text].value">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="calcInterval" />
+      <lang locale="zh_HK" value="calcInterval" />
+      <lang locale="zh_TW" value="calcInterval" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[chkcalcInterval].properties.property[visible].value">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_HK" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contAuditor].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="null" />
@@ -2936,6 +3137,36 @@
       <lang locale="zh_HK" value="true" />
       <lang locale="zh_TW" value="true" />
     </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="null" />
+      <lang locale="zh_HK" value="null" />
+      <lang locale="zh_TW" value="null" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[boundLabelLength].value">
+      <lang locale="en_US" value="100" />
+      <lang locale="zh_CN" value="100" />
+      <lang locale="zh_HK" value="100" />
+      <lang locale="zh_TW" value="100" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[boundLabelText].value">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="宿舍" />
+      <lang locale="zh_HK" value="宿舍" />
+      <lang locale="zh_TW" value="宿舍" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[boundLabelUnderline].value">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_HK" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contdormitory].properties.property[visible].value">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_HK" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[contmeterReaPerson].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="null" />
@@ -3331,6 +3562,54 @@
       <lang locale="zh_HK" value="false" />
       <lang locale="zh_TW" value="false" />
     </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].alias">
+      <lang locale="en_US" value="null" />
+      <lang locale="zh_CN" value="宿舍" />
+      <lang locale="zh_HK" value="宿舍" />
+      <lang locale="zh_TW" value="宿舍" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[commitFormat].value">
+      <lang locale="en_US" value="$number$" />
+      <lang locale="zh_CN" value="$number$" />
+      <lang locale="zh_HK" value="$number$" />
+      <lang locale="zh_TW" value="$number$" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[displayFormat].value">
+      <lang locale="en_US" value="$RoomNumber$" />
+      <lang locale="zh_CN" value="$RoomNumber$" />
+      <lang locale="zh_HK" value="$RoomNumber$" />
+      <lang locale="zh_TW" value="$RoomNumber$" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[editFormat].value">
+      <lang locale="en_US" value="$number$" />
+      <lang locale="zh_CN" value="$number$" />
+      <lang locale="zh_HK" value="$number$" />
+      <lang locale="zh_TW" value="$number$" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[editable].value">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_HK" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[queryInfo].value">
+      <lang locale="en_US" value="com.kingdee.eas.custom.dormitorysystem.dormitory.app.DormitoryQuery" />
+      <lang locale="zh_CN" value="com.kingdee.eas.custom.dormitorysystem.dormitory.app.DormitoryQuery" />
+      <lang locale="zh_HK" value="com.kingdee.eas.custom.dormitorysystem.dormitory.app.DormitoryQuery" />
+      <lang locale="zh_TW" value="com.kingdee.eas.custom.dormitorysystem.dormitory.app.DormitoryQuery" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[required].value">
+      <lang locale="en_US" value="false" />
+      <lang locale="zh_CN" value="false" />
+      <lang locale="zh_HK" value="false" />
+      <lang locale="zh_TW" value="false" />
+    </rs>
+    <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtdormitory].properties.property[visible].value">
+      <lang locale="en_US" value="true" />
+      <lang locale="zh_CN" value="true" />
+      <lang locale="zh_HK" value="true" />
+      <lang locale="zh_TW" value="true" />
+    </rs>
     <rs key="uiObject[com.kingdee.eas.custom.managedormsys.client.WaterPowerMeterReadingEditUI].components.component[prmtmeterReaPerson].alias">
       <lang locale="en_US" value="null" />
       <lang locale="zh_CN" value="抄表人" />

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 23 - 1
metadata/com/kingdee/eas/custom/managedormsys/client/WaterPowerMeterReadingListUI.ui


+ 22 - 0
src/com/kingdee/eas/custom/managedormsys/AbstractWaterPowerMeterReadingInfo.java

@@ -116,6 +116,28 @@ public class AbstractWaterPowerMeterReadingInfo extends com.kingdee.eas.framewor
     {
         setString("remark", item);
     }
+    /**
+     * Object:水电每月抄表信息's 是否取消自动计算当月水电property 
+     */
+    public boolean isCalcInterval()
+    {
+        return getBoolean("calcInterval");
+    }
+    public void setCalcInterval(boolean item)
+    {
+        setBoolean("calcInterval", item);
+    }
+    /**
+     * Object: 水电每月抄表信息 's 宿舍 property 
+     */
+    public com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryInfo getDormitory()
+    {
+        return (com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryInfo)get("dormitory");
+    }
+    public void setDormitory(com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryInfo item)
+    {
+        put("dormitory", item);
+    }
     public BOSObjectType getBOSType()
     {
         return new BOSObjectType("9D3F2402");

+ 4 - 4
src/com/kingdee/eas/custom/managedormsys/AbstractWaterPowerPricingInfo.java

@@ -31,13 +31,13 @@ public class AbstractWaterPowerPricingInfo extends com.kingdee.eas.framework.Cor
     /**
      * Object:水电定价标准's 终止时间property 
      */
-    public String getEndDate()
+    public java.util.Date getEndDate()
     {
-        return getString("endDate");
+        return getDate("endDate");
     }
-    public void setEndDate(String item)
+    public void setEndDate(java.util.Date item)
     {
-        setString("endDate", item);
+        setDate("endDate", item);
     }
     /**
      * Object:水电定价标准's 水费单价property 

+ 67 - 3
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI.java

@@ -63,6 +63,8 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
     protected com.kingdee.bos.ctrl.swing.KDLabelContainer contcurMonthElecDegrees;
     protected com.kingdee.bos.ctrl.swing.KDLabelContainer contmeterReaPerson;
     protected com.kingdee.bos.ctrl.swing.KDLabelContainer contremark;
+    protected com.kingdee.bos.ctrl.swing.KDCheckBox chkcalcInterval;
+    protected com.kingdee.bos.ctrl.swing.KDLabelContainer contdormitory;
     protected com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox prmtCreator;
     protected com.kingdee.bos.ctrl.swing.KDDatePicker kDDateCreateTime;
     protected com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox prmtLastUpdateUser;
@@ -81,6 +83,7 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
     protected com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox prmtmeterReaPerson;
     protected com.kingdee.bos.ctrl.swing.KDScrollPane scrollPaneremark;
     protected com.kingdee.bos.ctrl.swing.KDTextArea txtremark;
+    protected com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox prmtdormitory;
     protected com.kingdee.eas.custom.managedormsys.WaterPowerMeterReadingInfo editData = null;
     /**
      * output class constructor
@@ -162,6 +165,8 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         this.contcurMonthElecDegrees = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
         this.contmeterReaPerson = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
         this.contremark = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
+        this.chkcalcInterval = new com.kingdee.bos.ctrl.swing.KDCheckBox();
+        this.contdormitory = new com.kingdee.bos.ctrl.swing.KDLabelContainer();
         this.prmtCreator = new com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox();
         this.kDDateCreateTime = new com.kingdee.bos.ctrl.swing.KDDatePicker();
         this.prmtLastUpdateUser = new com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox();
@@ -180,6 +185,7 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         this.prmtmeterReaPerson = new com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox();
         this.scrollPaneremark = new com.kingdee.bos.ctrl.swing.KDScrollPane();
         this.txtremark = new com.kingdee.bos.ctrl.swing.KDTextArea();
+        this.prmtdormitory = new com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox();
         this.contCreator.setName("contCreator");
         this.contCreateTime.setName("contCreateTime");
         this.contLastUpdateUser.setName("contLastUpdateUser");
@@ -197,6 +203,8 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         this.contcurMonthElecDegrees.setName("contcurMonthElecDegrees");
         this.contmeterReaPerson.setName("contmeterReaPerson");
         this.contremark.setName("contremark");
+        this.chkcalcInterval.setName("chkcalcInterval");
+        this.contdormitory.setName("contdormitory");
         this.prmtCreator.setName("prmtCreator");
         this.kDDateCreateTime.setName("kDDateCreateTime");
         this.prmtLastUpdateUser.setName("prmtLastUpdateUser");
@@ -215,6 +223,7 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         this.prmtmeterReaPerson.setName("prmtmeterReaPerson");
         this.scrollPaneremark.setName("scrollPaneremark");
         this.txtremark.setName("txtremark");
+        this.prmtdormitory.setName("prmtdormitory");
         // CoreUI		
         this.btnTraceUp.setVisible(false);		
         this.btnTraceDown.setVisible(false);		
@@ -322,6 +331,15 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         this.contremark.setBoundLabelLength(100);		
         this.contremark.setBoundLabelUnderline(true);		
         this.contremark.setVisible(true);
+        // chkcalcInterval		
+        this.chkcalcInterval.setText(resHelper.getString("chkcalcInterval.text"));		
+        this.chkcalcInterval.setVisible(true);		
+        this.chkcalcInterval.setHorizontalAlignment(2);
+        // contdormitory		
+        this.contdormitory.setBoundLabelText(resHelper.getString("contdormitory.boundLabelText"));		
+        this.contdormitory.setBoundLabelLength(100);		
+        this.contdormitory.setBoundLabelUnderline(true);		
+        this.contdormitory.setVisible(true);
         // prmtCreator		
         this.prmtCreator.setEnabled(false);
         // kDDateCreateTime		
@@ -403,7 +421,32 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         this.txtremark.setVisible(true);		
         this.txtremark.setRequired(false);		
         this.txtremark.setMaxLength(2000);
-        this.setFocusTraversalPolicy(new com.kingdee.bos.ui.UIFocusTraversalPolicy(new java.awt.Component[] {pkyears,txtdormCode,txtdormNumber,txttotalWaterTons,txttotalElecDegrees,txtcurMonthWater,txtcurMonthElecDegrees,prmtmeterReaPerson,txtremark}));
+        // prmtdormitory		
+        this.prmtdormitory.setQueryInfo("com.kingdee.eas.custom.dormitorysystem.dormitory.app.DormitoryQuery");		
+        this.prmtdormitory.setVisible(true);		
+        this.prmtdormitory.setEditable(true);		
+        this.prmtdormitory.setDisplayFormat("$RoomNumber$");		
+        this.prmtdormitory.setEditFormat("$number$");		
+        this.prmtdormitory.setCommitFormat("$number$");		
+        this.prmtdormitory.setRequired(false);
+        		prmtdormitory.addSelectorListener(new SelectorListener() {
+			com.kingdee.eas.custom.dormitorysystem.dormitory.client.DormitoryListUI prmtdormitory_F7ListUI = null;
+			public void willShow(SelectorEvent e) {
+				if (prmtdormitory_F7ListUI == null) {
+					try {
+						prmtdormitory_F7ListUI = new com.kingdee.eas.custom.dormitorysystem.dormitory.client.DormitoryListUI();
+					} catch (Exception e1) {
+						e1.printStackTrace();
+					}
+					HashMap ctx = new HashMap();
+					ctx.put("bizUIOwner",javax.swing.SwingUtilities.getWindowAncestor(prmtdormitory_F7ListUI));
+					prmtdormitory_F7ListUI.setF7Use(true,ctx);
+					prmtdormitory.setSelector(prmtdormitory_F7ListUI);
+				}
+			}
+		});
+					
+        this.setFocusTraversalPolicy(new com.kingdee.bos.ui.UIFocusTraversalPolicy(new java.awt.Component[] {pkyears,txtdormCode,txtdormNumber,txttotalWaterTons,txttotalElecDegrees,txtcurMonthWater,txtcurMonthElecDegrees,prmtmeterReaPerson,txtremark,chkcalcInterval,prmtdormitory}));
         this.setFocusCycleRoot(true);
 		//Register control's property binding
 		registerBindings();
@@ -465,6 +508,10 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         this.add(contmeterReaPerson, null);
         contremark.setBounds(new Rectangle(0, 0, 270, 19));
         this.add(contremark, null);
+        chkcalcInterval.setBounds(new Rectangle(0, 0, 270, 19));
+        this.add(chkcalcInterval, null);
+        contdormitory.setBounds(new Rectangle(0, 0, 270, 19));
+        this.add(contdormitory, null);
         //contCreator
         contCreator.setBoundEditor(prmtCreator);
         //contCreateTime
@@ -501,6 +548,8 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         contremark.setBoundEditor(scrollPaneremark);
         //scrollPaneremark
         scrollPaneremark.getViewport().add(txtremark, null);
+        //contdormitory
+        contdormitory.setBoundEditor(prmtdormitory);
 
     }
 
@@ -677,6 +726,7 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
 
 	//Regiester control's property binding.
 	private void registerBindings(){
+		dataBinder.registerBinding("calcInterval", boolean.class, this.chkcalcInterval, "selected");
 		dataBinder.registerBinding("creator", com.kingdee.eas.base.permission.UserInfo.class, this.prmtCreator, "data");
 		dataBinder.registerBinding("createTime", java.sql.Timestamp.class, this.kDDateCreateTime, "value");
 		dataBinder.registerBinding("lastUpdateUser", com.kingdee.eas.base.permission.UserInfo.class, this.prmtLastUpdateUser, "data");
@@ -693,7 +743,8 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
 		dataBinder.registerBinding("curMonthWater", java.math.BigDecimal.class, this.txtcurMonthWater, "value");
 		dataBinder.registerBinding("curMonthElecDegrees", java.math.BigDecimal.class, this.txtcurMonthElecDegrees, "value");
 		dataBinder.registerBinding("meterReaPerson", com.kingdee.eas.basedata.person.PersonInfo.class, this.prmtmeterReaPerson, "data");
-		dataBinder.registerBinding("remark", String.class, this.txtremark, "text");		
+		dataBinder.registerBinding("remark", String.class, this.txtremark, "text");
+		dataBinder.registerBinding("dormitory", com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryInfo.class, this.prmtdormitory, "data");		
 	}
 	//Regiester UI State
 	private void registerUIState(){		
@@ -828,6 +879,7 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
 	 */
 	protected void registerValidator() {
     	getValidateHelper().setCustomValidator( getValidator() );
+		getValidateHelper().registerBindProperty("calcInterval", ValidateHelper.ON_SAVE);    
 		getValidateHelper().registerBindProperty("creator", ValidateHelper.ON_SAVE);    
 		getValidateHelper().registerBindProperty("createTime", ValidateHelper.ON_SAVE);    
 		getValidateHelper().registerBindProperty("lastUpdateUser", ValidateHelper.ON_SAVE);    
@@ -844,7 +896,8 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
 		getValidateHelper().registerBindProperty("curMonthWater", ValidateHelper.ON_SAVE);    
 		getValidateHelper().registerBindProperty("curMonthElecDegrees", ValidateHelper.ON_SAVE);    
 		getValidateHelper().registerBindProperty("meterReaPerson", ValidateHelper.ON_SAVE);    
-		getValidateHelper().registerBindProperty("remark", ValidateHelper.ON_SAVE);    		
+		getValidateHelper().registerBindProperty("remark", ValidateHelper.ON_SAVE);    
+		getValidateHelper().registerBindProperty("dormitory", ValidateHelper.ON_SAVE);    		
 	}
 
 
@@ -872,6 +925,7 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
 		if(StringUtils.isEmpty(selectorAll)){
 			selectorAll = "true";
 		}
+        sic.add(new SelectorItemInfo("calcInterval"));
 		if(selectorAll.equalsIgnoreCase("true"))
 		{
 			sic.add(new SelectorItemInfo("creator.*"));
@@ -921,6 +975,16 @@ public abstract class AbstractWaterPowerMeterReadingEditUI extends com.kingdee.e
         	sic.add(new SelectorItemInfo("meterReaPerson.name"));
 		}
         sic.add(new SelectorItemInfo("remark"));
+		if(selectorAll.equalsIgnoreCase("true"))
+		{
+			sic.add(new SelectorItemInfo("dormitory.*"));
+		}
+		else{
+        	sic.add(new SelectorItemInfo("dormitory.id"));
+        	sic.add(new SelectorItemInfo("dormitory.number"));
+        	sic.add(new SelectorItemInfo("dormitory.name"));
+        	sic.add(new SelectorItemInfo("dormitory.RoomNumber"));
+		}
         return sic;
     }        
     	

+ 2 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI.properties

@@ -16,6 +16,8 @@ contcurMonthWater.boundLabelText=\u5F53\u6708\u6C34\u5428\u6570
 contcurMonthElecDegrees.boundLabelText=\u5F53\u6708\u7535\u5EA6\u6570
 contmeterReaPerson.boundLabelText=\u6284\u8868\u4EBA
 contremark.boundLabelText=\u5907\u6CE8
+chkcalcInterval.text=calcInterval
+contdormitory.boundLabelText=\u5BBF\u820D
 ActionSubmit.SHORT_DESCRIPTION=\u63D0\u4EA4
 ActionSubmit.LONG_DESCRIPTION=\u63D0\u4EA4
 ActionSubmit.NAME=\u63D0\u4EA4

+ 2 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI_l1.properties

@@ -16,6 +16,8 @@ contcurMonthWater.boundLabelText=
 contcurMonthElecDegrees.boundLabelText=
 contmeterReaPerson.boundLabelText=
 contremark.boundLabelText=
+chkcalcInterval.text=
+contdormitory.boundLabelText=
 ActionSubmit.SHORT_DESCRIPTION=
 ActionSubmit.LONG_DESCRIPTION=
 ActionSubmit.NAME=

+ 2 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI_l2.properties

@@ -16,6 +16,8 @@ contcurMonthWater.boundLabelText=\u5F53\u6708\u6C34\u5428\u6570
 contcurMonthElecDegrees.boundLabelText=\u5F53\u6708\u7535\u5EA6\u6570
 contmeterReaPerson.boundLabelText=\u6284\u8868\u4EBA
 contremark.boundLabelText=\u5907\u6CE8
+chkcalcInterval.text=calcInterval
+contdormitory.boundLabelText=\u5BBF\u820D
 ActionSubmit.SHORT_DESCRIPTION=\u63D0\u4EA4
 ActionSubmit.LONG_DESCRIPTION=\u63D0\u4EA4
 ActionSubmit.NAME=\u63D0\u4EA4

+ 2 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingEditUI_l3.properties

@@ -16,6 +16,8 @@ contcurMonthWater.boundLabelText=\u7576\u6708\u6C34\u5678\u6578
 contcurMonthElecDegrees.boundLabelText=\u7576\u6708\u96FB\u5EA6\u6578
 contmeterReaPerson.boundLabelText=\u6284\u8868\u4EBA
 contremark.boundLabelText=\u5099\u8A3B
+chkcalcInterval.text=calcInterval
+contdormitory.boundLabelText=\u5BBF\u820D
 ActionSubmit.SHORT_DESCRIPTION=\u63D0\u4EA4
 ActionSubmit.LONG_DESCRIPTION=\u63D0\u4EA4
 ActionSubmit.NAME=\u63D0\u4EA4

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI.java


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI.properties


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI_l2.properties


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/com/kingdee/eas/custom/managedormsys/client/AbstractWaterPowerMeterReadingListUI_l3.properties


+ 137 - 0
websrc/com/kingdee/eas/custom/managedormsys/handler/WaterPowerMeterReadingEditHandler.java

@@ -0,0 +1,137 @@
+package com.kingdee.eas.custom.managedormsys.handler;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryCollection;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryFactory;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryInfo;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.IDormitory;
+import com.kingdee.eas.custom.managedormsys.*;
+import com.kingdee.eas.custom.managedormsys.utils.WaterPowerUtil;
+import com.kingdee.eas.framework.CoreBaseInfo;
+import com.kingdee.shr.base.syssetting.context.SHRContext;
+import com.kingdee.shr.base.syssetting.exception.SHRWebException;
+import com.kingdee.shr.base.syssetting.web.handler.EditHandler;
+import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
+import org.springframework.ui.ModelMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @author qingwu
+ * @date 2025/4/21
+ * @apiNote 水电每月抄表信息  com.kingdee.eas.custom.managedormsys.app.WaterPowerMeterReading.form
+ */
+public class WaterPowerMeterReadingEditHandler extends EditHandler {
+    Context ctx = SHRContext.getInstance().getContext();
+
+    @Override
+    protected void afterInitModel(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo coreBaseInfo) throws SHRWebException {
+        super.afterInitModel(request, response, coreBaseInfo);
+        WaterPowerMeterReadingInfo waterPowerMeterReadingInfo = (WaterPowerMeterReadingInfo) coreBaseInfo;
+        String dormNumber = waterPowerMeterReadingInfo.getDormNumber();
+        try {
+            IDormitory iDormitory = DormitoryFactory.getLocalInstance(ctx);
+            DormitoryCollection dormitoryCollection = iDormitory.getDormitoryCollection("where number ='" + dormNumber + "'");
+            DormitoryInfo dormitoryInfo = dormitoryCollection.get(0);
+            DormitoryInfo dormitory = waterPowerMeterReadingInfo.getDormitory();
+            dormitory.setRoomNumber(dormitoryInfo.getRoomNumber());
+        } catch (BOSException e) {
+            e.printStackTrace();
+            throw new RuntimeException(e);
+        }
+    }
+
+    @Override
+    protected void beforeSave(HttpServletRequest request, HttpServletResponse response, CoreBaseInfo model) throws SHRWebException {
+        super.beforeSave(request, response, model);
+        WaterPowerMeterReadingInfo waterPowerMeterReadingInfo = (WaterPowerMeterReadingInfo) model;
+        Date years = waterPowerMeterReadingInfo.getYears();
+        String dormNumber = waterPowerMeterReadingInfo.getDormNumber();
+        WaterPowerUtil.verifyDatEexists(ctx, years, dormNumber, waterPowerMeterReadingInfo.getId() == null ? "" : waterPowerMeterReadingInfo.getId().toString());
+        //try {
+        //    FilterInfo filterInfo = new FilterInfo();
+        //    FilterItemCollection filterItems = filterInfo.getFilterItems();
+        //    filterItems.add(new FilterItemInfo("years", years));
+        //    filterItems.add(new FilterItemInfo("dormNumber", dormNumber));
+        //    filterItems.add(new FilterItemInfo("id", waterPowerMeterReadingInfo.getId(), CompareType.NOTEQUALS));
+        //    IWaterPowerMeterReading iWaterPowerMeterReading = WaterPowerMeterReadingFactory.getLocalInstance(ctx);
+        //    boolean exists = iWaterPowerMeterReading.exists(filterInfo);
+        //    if (exists) {
+        //        throw new ShrWebBizException(dormNumber + "房间已经存在" + formatter.format(years) + "月的抄表信息!");
+        //    }
+        //} catch (Exception e) {
+        //    e.printStackTrace();
+        //    throw new ShrWebBizException(e);
+        //}
+
+    }
+
+    /**
+     * 获取当月用水电吨数
+     *
+     * @param request
+     * @param response
+     * @param modelMap
+     */
+    public void getThisMonthWaterPowerTonsAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws BOSException, SHRWebException {
+        String years = request.getParameter("years");//年月
+        String totalWaterTonsStr = request.getParameter("totalWaterTons") == "" ? "0" : request.getParameter("totalWaterTons");
+        BigDecimal totalWaterTons = new BigDecimal(totalWaterTonsStr);//用水总吨数
+        String totalElecDegreesStr = request.getParameter("totalElecDegrees") == "" ? "0" : request.getParameter("totalElecDegrees");
+        BigDecimal totalElecDegrees = new BigDecimal(totalElecDegreesStr);//用电总吨数
+        String dormNumber = request.getParameter("dormNumber");//宿舍编码
+        boolean calcInterval = request.getParameter("calcInterval").isEmpty();//是否取消自动计算当月水电
+        Map result = WaterPowerUtil.getThisMonthWaterPowerTons(ctx, years, dormNumber, totalWaterTons, totalElecDegrees);
+        JSONUtils.writeJson(response, result);
+    }
+
+
+    ///**
+    // * 获取上月用水电吨数
+    // *
+    // * @param date
+    // * @param dormNumber
+    // * @return
+    // * @throws BOSException
+    // */
+    //private Map getWaterPower(String date, String dormNumber) throws BOSException {
+    //    Map<String, BigDecimal> map = new HashMap();
+    //    FilterInfo filterInfo = new FilterInfo();
+    //    FilterItemCollection filterItems = filterInfo.getFilterItems();
+    //    //上个月:previousMonth   上上个月:
+    //    filterItems.add(new FilterItemInfo("years", date + "-01 00:00:00"));
+    //    filterItems.add(new FilterItemInfo("dormNumber", dormNumber));
+    //    EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, null, null);
+    //    //水电每月抄表信息
+    //    IWaterPowerMeterReading iWaterPowerMeterReading = WaterPowerMeterReadingFactory.getLocalInstance(ctx);
+    //    WaterPowerMeterReadingCollection waterPowerMeterReadingCollection = iWaterPowerMeterReading.getWaterPowerMeterReadingCollection(entityViewInfo);
+    //
+    //    for (int i = 0; i < waterPowerMeterReadingCollection.size(); i++) {
+    //        WaterPowerMeterReadingInfo waterPowerMeterReadingInfo = waterPowerMeterReadingCollection.get(i);
+    //        map.put("water", waterPowerMeterReadingInfo.getTotalWaterTons());
+    //        map.put("power", waterPowerMeterReadingInfo.getTotalElecDegrees());
+    //    }
+    //    return map;
+    //}
+    //
+    //public Map getDate(String dateStr) {
+    //    Map map = new HashMap();
+    //    // 定义日期格式
+    //    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
+    //    // 将字符串转换为 YearMonth 对象
+    //    YearMonth targetDate = YearMonth.parse(dateStr, formatter);
+    //    // 获取上个月
+    //    YearMonth previousMonth = targetDate.minusMonths(1);
+    //    map.put("previousMonth", formatter.format(previousMonth));
+    //    // 获取上上个月
+    //    YearMonth twoMonthsAgo = targetDate.minusMonths(2);
+    //    map.put("twoMonthsAgo", formatter.format(twoMonthsAgo));
+    //    return map;
+    //
+    //}
+}

+ 84 - 0
websrc/com/kingdee/eas/custom/managedormsys/importService/WaterPowerMeterReadingImportService.java

@@ -0,0 +1,84 @@
+package com.kingdee.eas.custom.managedormsys.importService;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.*;
+import com.kingdee.eas.custom.managedormsys.WaterPowerMeterReadingInfo;
+import com.kingdee.eas.custom.managedormsys.utils.WaterPowerUtil;
+import com.kingdee.eas.framework.CoreBaseInfo;
+import com.kingdee.shr.base.syssetting.app.io.fileImport.BaseImportService;
+import com.kingdee.shr.base.syssetting.app.io.fileImport.BaseRowInfo;
+import com.kingdee.shr.base.syssetting.app.io.fileImport.ImportException;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @author qingwu
+ * @date 2025/4/22
+ * @apiNote 水电每月抄表
+ */
+public class WaterPowerMeterReadingImportService extends BaseImportService {
+    @Override
+    protected void verifyRow(BaseRowInfo row) throws ImportException {
+        super.verifyRow(row);
+        String dormNumber = row.getValueOfString("dormNumber");//房间房号
+        String years = row.getValueOfString("years");//年月
+        String totalWaterTons = row.getValueOfString("totalWaterTons");//用水总吨数
+        String totalElecDegrees = row.getValueOfString("totalElecDegrees");//用电总度数
+        Map dataMap = WaterPowerUtil.getDate(years.substring(0, years.lastIndexOf("-")));
+        String previousMonth = (String) dataMap.get("previousMonth");
+        try {
+            Map<String, BigDecimal> waterPowerMap = WaterPowerUtil.getWaterPower(this.getContext(), previousMonth, dormNumber);
+            if (waterPowerMap.size() > 0) {
+                BigDecimal water = waterPowerMap.get("water");//上月总水费
+                BigDecimal power = waterPowerMap.get("power");//上月总电费
+                BigDecimal waterTons = new BigDecimal(totalWaterTons);
+                BigDecimal elecDegrees = new BigDecimal(totalElecDegrees);
+                //用水总吨数:水表累计读数,≥上月总吨数,且≥0;
+                //用电总度数:电表累计读数,≥上月总度数,且≥0;
+                if ((waterTons.compareTo(BigDecimal.ZERO) > 0 && elecDegrees.compareTo(BigDecimal.ZERO) > 0) &&
+                        (elecDegrees.compareTo(power) < 0 && elecDegrees.compareTo(water) < 0)
+                ) {
+                    throw new ImportException("本月水电总吨数不可小于上月水电总吨数!");
+                }
+            }
+            IDormitory iDormitory = DormitoryFactory.getLocalInstance(this.getContext());
+            boolean exists = iDormitory.exists("where number ='" + dormNumber + "'");
+            if (!exists) {
+                throw new ImportException(dormNumber + "该房间不存在!");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new ImportException(e);
+        }
+        //throw new ImportException(housePlace + roomNumber + "房间不存在,请在员工信息人才房信息进行维护!!");
+    }
+
+    @Override
+    protected void beforeSubmitData(CoreBaseInfo coreBaseInfo) throws ImportException {
+        Context ctx = this.getContext();
+        WaterPowerMeterReadingInfo wpmrinfo = (WaterPowerMeterReadingInfo) coreBaseInfo;
+        BigDecimal totalWaterTons = wpmrinfo.getTotalWaterTons();
+        BigDecimal totalElecDegrees = wpmrinfo.getTotalElecDegrees();
+        Date years = wpmrinfo.getYears();
+        String dormNumber = wpmrinfo.getDormNumber();
+        try {
+            IDormitory iDormitory = DormitoryFactory.getLocalInstance(ctx);
+            DormitoryCollection dormitoryCollection = iDormitory.getDormitoryCollection("where number ='" + dormNumber + "'");
+            if (dormitoryCollection.size() > 0) {
+                DormitoryInfo dormitoryInfo = dormitoryCollection.get(0);
+                wpmrinfo.setDormitory(dormitoryInfo);
+            }
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
+            Map<String, BigDecimal> result = WaterPowerUtil.getThisMonthWaterPowerTons(ctx, formatter.format(years), dormNumber, totalWaterTons, totalElecDegrees);
+            wpmrinfo.setCurMonthWater(result.get("curMonthWater"));
+            wpmrinfo.setCurMonthElecDegrees(result.get("curMonthElecDegrees"));
+        } catch (BOSException e) {
+            throw new RuntimeException(e);
+        }
+        super.beforeSubmitData(coreBaseInfo);
+    }
+}

+ 134 - 0
websrc/com/kingdee/eas/custom/managedormsys/utils/WaterPowerUtil.java

@@ -0,0 +1,134 @@
+package com.kingdee.eas.custom.managedormsys.utils;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.metadata.entity.EntityViewInfo;
+import com.kingdee.bos.metadata.entity.FilterInfo;
+import com.kingdee.bos.metadata.entity.FilterItemCollection;
+import com.kingdee.bos.metadata.entity.FilterItemInfo;
+import com.kingdee.bos.metadata.query.util.CompareType;
+import com.kingdee.eas.custom.managedormsys.IWaterPowerMeterReading;
+import com.kingdee.eas.custom.managedormsys.WaterPowerMeterReadingCollection;
+import com.kingdee.eas.custom.managedormsys.WaterPowerMeterReadingFactory;
+import com.kingdee.eas.custom.managedormsys.WaterPowerMeterReadingInfo;
+import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
+
+import java.math.BigDecimal;
+import java.text.SimpleDateFormat;
+import java.time.YearMonth;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author qingwu
+ * @date 2025/4/22
+ * @apiNote
+ */
+public class WaterPowerUtil {
+    static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM");
+
+    public static void verifyDatEexists(Context ctx, Date years, String dormNumber, String id) throws ShrWebBizException {
+        try {
+            FilterInfo filterInfo = new FilterInfo();
+            FilterItemCollection filterItems = filterInfo.getFilterItems();
+            filterItems.add(new FilterItemInfo("years", years));
+            filterItems.add(new FilterItemInfo("dormNumber", dormNumber));
+            if (id != "") {
+                filterItems.add(new FilterItemInfo("id", id, CompareType.NOTEQUALS));
+            }
+            IWaterPowerMeterReading iWaterPowerMeterReading = WaterPowerMeterReadingFactory.getLocalInstance(ctx);
+            boolean exists = iWaterPowerMeterReading.exists(filterInfo);
+            if (exists) {
+                throw new ShrWebBizException(dormNumber + "房间已经存在" + formatter.format(years) + "月的抄表信息!");
+            }
+        } catch (
+                Exception e) {
+            e.printStackTrace();
+            throw new ShrWebBizException(e);
+        }
+
+    }
+
+    public static Map getThisMonthWaterPowerTons(Context ctx, String years, String dormNumber, BigDecimal totalWaterTons, BigDecimal totalElecDegrees) throws BOSException {
+        Map<String, String> dateMap = getDate(years);
+        String previousMonth = dateMap.get("previousMonth");
+        String twoMonthsAgo = dateMap.get("twoMonthsAgo");
+        //获取上个月的水电总吨数
+        //水总吨数
+        BigDecimal water = BigDecimal.ZERO;
+        //电总吨数
+        BigDecimal power = BigDecimal.ZERO;
+        //当月水吨数 ?本月实际用水量,计算(本月-上月,如上月无数据-上上月,如还无数据则直接显示“用水总吨数”);
+        BigDecimal curMonthWater = BigDecimal.ZERO;
+        //当月电度数 ?本月实际用电量,计算(本月-上月,如上月无数据-上上月,如还无数据则直接显示“用电总度数”);
+        BigDecimal curMonthElecDegrees = BigDecimal.ZERO;
+        Map<String, BigDecimal> previousMonthMap = getWaterPower(ctx, previousMonth, dormNumber);
+        if (previousMonthMap.size() > 0) {
+            water = previousMonthMap.get("water");
+            power = previousMonthMap.get("power");
+            curMonthWater = totalWaterTons.subtract(water);
+            curMonthElecDegrees = totalElecDegrees.subtract(power);
+        } else {
+            //获取上上个月的水电总吨数
+            previousMonthMap = getWaterPower(ctx, twoMonthsAgo, dormNumber);
+            if (previousMonthMap.size() > 0) {
+                water = previousMonthMap.get("water");
+                power = previousMonthMap.get("power");
+                curMonthWater = totalWaterTons.subtract(water);
+                curMonthElecDegrees = totalElecDegrees.subtract(power);
+            }
+            curMonthWater = totalWaterTons;
+            curMonthElecDegrees = totalElecDegrees;
+        }
+        Map result = new HashMap();
+        result.put("curMonthWater", curMonthWater.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : curMonthWater);//当月水吨数
+        result.put("curMonthElecDegrees", curMonthElecDegrees.compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : curMonthElecDegrees);//当月电度数
+        return result;
+    }
+
+    /**
+     * 获取上月用水电吨数
+     *
+     * @param date
+     * @param dormNumber
+     * @return
+     * @throws BOSException
+     */
+    public static Map getWaterPower(Context ctx, String date, String dormNumber) throws BOSException {
+        Map<String, BigDecimal> map = new HashMap();
+        FilterInfo filterInfo = new FilterInfo();
+        FilterItemCollection filterItems = filterInfo.getFilterItems();
+        //上个月:previousMonth   上上个月:
+        filterItems.add(new FilterItemInfo("years", date + "-01 00:00:00"));
+        filterItems.add(new FilterItemInfo("dormNumber", dormNumber));
+        EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, null, null);
+        //水电每月抄表信息
+        IWaterPowerMeterReading iWaterPowerMeterReading = WaterPowerMeterReadingFactory.getLocalInstance(ctx);
+        WaterPowerMeterReadingCollection waterPowerMeterReadingCollection = iWaterPowerMeterReading.getWaterPowerMeterReadingCollection(entityViewInfo);
+
+        for (int i = 0; i < waterPowerMeterReadingCollection.size(); i++) {
+            WaterPowerMeterReadingInfo waterPowerMeterReadingInfo = waterPowerMeterReadingCollection.get(i);
+            map.put("water", waterPowerMeterReadingInfo.getTotalWaterTons());
+            map.put("power", waterPowerMeterReadingInfo.getTotalElecDegrees());
+        }
+        return map;
+    }
+
+    public static Map getDate(String dateStr) {
+        Map map = new HashMap();
+        // 定义日期格式
+        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
+        // 将字符串转换为 YearMonth 对象
+        YearMonth targetDate = YearMonth.parse(dateStr, formatter);
+        // 获取上个月
+        YearMonth previousMonth = targetDate.minusMonths(1);
+        map.put("previousMonth", formatter.format(previousMonth));
+        // 获取上上个月
+        YearMonth twoMonthsAgo = targetDate.minusMonths(2);
+        map.put("twoMonthsAgo", formatter.format(twoMonthsAgo));
+        return map;
+
+    }
+}

Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio