Quellcode durchsuchen

日期边界修改

9060 vor 3 Wochen
Ursprung
Commit
42fe48cc84

+ 23 - 21
websrc/com/kingdee/eas/custom/dormitorysystem/waterelectricity/handler/WaterElectricityBatchListHandler.java

@@ -1,3 +1,4 @@
+
 package com.kingdee.eas.custom.dormitorysystem.waterelectricity.handler;
 
 import com.google.common.collect.Maps;
@@ -53,7 +54,7 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
         this.successMessage = successMessage;
     }
     /**
-     * 璁$畻姘寸數璐圭敤
+     * 计算水电费用
      *
      * @param waterElectricityInfo
      * @param map
@@ -62,21 +63,21 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
      */
     protected CoreBillBaseInfo calculateWaterElectricity(CoreBillBaseInfo waterElectricityInfo, Map<String, Object> map,
                                                              Map<String, Object> occupants) {
-        BigDecimal waterprice = (BigDecimal) waterElectricityInfo.get("waterprice");//姘磋垂鍗曚环
-        BigDecimal electricityprice = (BigDecimal) waterElectricityInfo.get("electricityprice");//鐢佃垂鍗曚环
+        BigDecimal waterprice = (BigDecimal) map.get("waterprice");//水费单价
+        BigDecimal electricityprice = (BigDecimal) map.get("electricityprice");//电费单价
         BigDecimal curMonthWater = (BigDecimal) map.get("curMonthWater");
         BigDecimal curMonthElecDegrees = (BigDecimal) map.get("curMonthElecDegrees");
 
         LocalDate startPeriodDate = (LocalDate) map.get("startPeriodDate");
         LocalDate endPeriodDate = (LocalDate) map.get("endPeriodDate");
 
-        Date checkInDate = (Date) map.get("checkInDate");//鍏ヤ綇鏃ユ湡
+        Date checkInDate = (Date) map.get("checkInDate");//入住日期
 
-        Date checkOutDate = (Date) map.get("checkOutDate");//绂诲�鏃ユ湡
+        Date checkOutDate = (Date) map.get("checkOutDate");//离宿日期
 
         waterElectricityInfo.put("waterTotalCost",(waterprice.multiply(curMonthWater)));
         waterElectricityInfo.put("electricityTotalCost",(electricityprice.multiply(curMonthElecDegrees)));
-        //澶勭悊褰撴湀鍏ヤ綇澶╂暟
+        //处理当月入住天数
         LocalDate checkInDateLocal = (new Date(checkInDate.getTime())).toInstant()
                 .atZone(ZoneId.systemDefault()).toLocalDate();
         checkInDateLocal = (checkInDateLocal.compareTo(startPeriodDate) > 0 ? checkInDateLocal : startPeriodDate);
@@ -85,16 +86,16 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
                 .atZone(ZoneId.systemDefault()).toLocalDate();
         checkOutDateLocal = (checkOutDateLocal.compareTo(endPeriodDate) < 0 ? checkOutDateLocal : endPeriodDate);
 
-        long daysBetween = ChronoUnit.DAYS.between(checkInDateLocal, checkOutDateLocal);
+        long daysBetween = ChronoUnit.DAYS.between(checkInDateLocal, checkOutDateLocal)+1;
         BigDecimal days = new BigDecimal((long) occupants.get("days"));
         waterElectricityInfo.put("allMonthDays",(days));
         waterElectricityInfo.put("monthDays",(new BigDecimal(daysBetween)));
-        //?	褰撴湀姘磋垂锛氬�鑸嶇敤姘存€昏垂鐢�/瀹胯垗鍐呮墍鏈変汉鍛樺綋鏈堟€诲叆浣忓ぉ鏁�*璇ヤ汉鍛樺綋鍓嶅�鑸嶇殑鍏ヤ綇澶╂暟锛�
+        //?	当月水费:宿舍用水总费用/宿舍内所有人员当月总入住天数*该人员当前宿舍的入住天数;
         BigDecimal monthWaterAmount = waterElectricityInfo.getBigDecimal("waterTotalCost")
                 .divide(days, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)
                 .multiply(waterElectricityInfo.getBigDecimal("MonthDays"));
         waterElectricityInfo.put("monthWaterAmount",monthWaterAmount.setScale(2,BigDecimal.ROUND_HALF_UP));
-        //?	褰撴湀鐢佃垂锛氬�鑸嶇敤鐢垫€昏垂鐢�/瀹胯垗鍐呮墍鏈変汉鍛樺綋鏈堟€诲叆浣忓ぉ鏁�*璇ヤ汉鍛樺綋鍓嶅�鑸嶇殑鍏ヤ綇澶╂暟锛�
+        //?	当月电费:宿舍用电总费用/宿舍内所有人员当月总入住天数*该人员当前宿舍的入住天数;
         BigDecimal monthElectricityAmount = waterElectricityInfo.getBigDecimal("ElectricityTotalCost")
                 .divide(days, BigDecimal.ROUND_HALF_UP, BigDecimal.ROUND_HALF_UP)
                 .multiply(waterElectricityInfo.getBigDecimal("MonthDays"));
@@ -124,16 +125,16 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
         billids.removeAll(sess);
         request.setAttribute("billId", convertListToString(sess.toArray()));
         if (null != errs && (!errs.isEmpty())) {
-            this.addBatchMessageTips(errs, "涓洪攣瀹氱姸鎬佷笉鑳芥洿鏂�", batchMessageTipsHeader);
+            this.addBatchMessageTips(errs, "为锁定状态不能更新", batchMessageTipsHeader);
         }
         billids.removeAll(errs);
         if (null != billids && (!billids.isEmpty())) {
-            this.addBatchMessageTips(errs, "涓洪攣瀹氱姸鎬佷笉鑳芥洿鏂�", batchMessageTipsHeader);
+            this.addBatchMessageTips(errs, "为锁定状态不能更新", batchMessageTipsHeader);
         }
     }
     /**
-     * 鑾峰彇褰撳墠瀹胯垗鐨勬€诲叆浣忓ぉ鏁�
-     * 瀹胯垗鍐呮墍鏈変汉鍛樺綋鏈堟€诲叆浣忓ぉ鏁�
+     * 获取当前宿舍的总入住天数
+     * 宿舍内所有人员当月总入住天数
      *
      * @param ctx
      * @param dormitorys
@@ -147,12 +148,12 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
                                                                       Collection<String> dormitorys, LocalDate startPeriodDate, LocalDate endPeriodDate
     ) throws BOSException, SQLException {
 
-        //鑾峰彇寮€濮嬫椂闂达紝缁撴潫鏃堕棿
+        //获取开始时间,结束时间
         String startPeriodDateStr = startPeriodDate.format(DateTimeFormatter.ISO_LOCAL_DATE);
         String endPeriodDateStr = endPeriodDate.format(DateTimeFormatter.ISO_LOCAL_DATE);
 
         Map<String, Map<String, Object>> occupantsMap = Maps.newHashMap();
-        //澶勭悊褰撴湀鍏ヤ綇澶╂暟
+        //处理当月入住天数
         StringBuilder selCunt = new StringBuilder();
         selCunt.append(" select CFDormitoryID,CFPersonPositionID,CFCheckOutDate,CFCheckInDate from CT_OCC_Occupants ");
         selCunt.append(" where to_char(CFCheckOutDate ,'yyyy-MM-dd') >= '" + startPeriodDateStr + "' ");
@@ -182,14 +183,14 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
                     .atZone(ZoneId.systemDefault()).toLocalDate();
             InDate = (InDate.compareTo(startPeriodDate) > 0 ? InDate : startPeriodDate);
             OutDate = (OutDate.compareTo(endPeriodDate) < 0 ? OutDate : endPeriodDate);
-            long daysBetween = ChronoUnit.DAYS.between(InDate, OutDate);
+            long daysBetween = ChronoUnit.DAYS.between(InDate, OutDate)+1;
             long days = (long) occupants.get("days");
             occupants.put("days", days + daysBetween);
         }
         return occupantsMap;
     }
     /**
-     * 閿佸畾
+     * 锁定
      *
      * @param request
      * @param response
@@ -219,7 +220,7 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
                 while (rs.next()) {
                     String id = rs.getString("fid");
                     errs.add(id);
-                    this.addBatchMessageTip(id, "宸茬粡閿佸畾锛屼笉鑳藉啀娆¢攣瀹氥€�", batchMessageTipsHeader);
+                    this.addBatchMessageTip(id, "已经锁定,不能再次锁定。", batchMessageTipsHeader);
                 }
                 sess.removeAll(errs);
                 for (String id : sess) {
@@ -247,7 +248,7 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
     }
 
     /**
-     * 瑙i攣
+     * 解锁
      *
      * @param request
      * @param response
@@ -277,7 +278,7 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
                 while (rs.next()) {
                     String id = rs.getString("fid");
                     errs.add(id);
-                    this.addBatchMessageTip(id, "钖�祫鏁版嵁宸茬粡閿佸畾锛屼笉鑳借В閿併€�", batchMessageTipsHeader);
+                    this.addBatchMessageTip(id, "薪资数据已经锁定,不能解锁。", batchMessageTipsHeader);
                 }
                 sess.removeAll(errs);
                 for (String id : sess) {
@@ -336,7 +337,7 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
             conn = EJBFactory.getQueryConnection(ctx);
             state = conn.createStatement();
             if ("enable".equals(math)) {
-                //閿佸畾
+                //锁定
                 state.execute("update "+this.getTableName()+" set CFStutas='Lock' where fid='" + uuid + "'");
 
             } else if ("disable".equals(math)) {
@@ -430,4 +431,5 @@ public abstract class WaterElectricityBatchListHandler extends CommonBatchListHa
         }
     }
 
+
 }