Browse Source

包租车位

guoshuai 2 weeks ago
parent
commit
ea6a9cbe1d

+ 14 - 2
src/main/java/com/qmrb/system/service/impl/VirtualParkingSlotServiceImpl.java

@@ -210,11 +210,23 @@ public class VirtualParkingSlotServiceImpl extends ServiceImpl<VirtualParkingSlo
 		}
 	}
 
-	public void updateSlotType(List<VirtualParkingSlot> list,Contract contract){
+	public void updateSlotType(List<VirtualParkingSlot> virtualParkingSlots,Contract contract){
+		Integer samllOccupy = 0;
+		List<VirtualParkingSlot> list = new ArrayList<>();
+		for (VirtualParkingSlot virtualParkingSlot : virtualParkingSlots) {
+			if(StrUtil.equals(virtualParkingSlot.getStatus(),"0")){
+				list.add(virtualParkingSlot);
+			}else if(StrUtil.equals(virtualParkingSlot.getStatus(),"1") && StrUtil.equals(virtualParkingSlot.getSlotType(),"small")){
+				samllOccupy = samllOccupy + 1;
+			}
+		}
+		log.info("小型车占用数:{},总车位数:{}",samllOccupy,list.size());
 		for (int i = 0; i < list.size(); i++) {
 			// 更新非停用得
 			if(!StrUtil.equals(list.get(i).getStatus(),"2")){
-				if(i < contract.getMaxParkingLotNum() - contract.getSmallParkingLotNum()){
+				// 大型车位数 = 所有虚拟车位 + 小型车已占用的车位数 - 小型车位
+				// if(i < (contract.getMaxParkingLotNum() + samllOccupy - contract.getSmallParkingLotNum())){
+				if(i < (list.size() + samllOccupy - contract.getSmallParkingLotNum())){
 					list.get(i).setSlotType("large");
 				}else{
 					list.get(i).setSlotType("small");

+ 4 - 7
src/main/resources/mapper/ContractPlaceNumberRelMapper.xml

@@ -27,8 +27,8 @@
                 AND c.contract_name like concat('%', #{queryParams.contractName}, '%')
             </if>
             <if test="queryParams.startTimeBegin != null and queryParams.startTimeBegin != '' and queryParams.startTimeEnd != null and queryParams.startTimeEnd != ''">
-                AND cpnr.start_time &lt;= #{queryParams.startTimeEnd}
-                AND cpnr.end_time &gt;= #{queryParams.endTime}
+                AND cpnr.start_time &lt;= now()
+                AND cpnr.end_time &gt;= now()
             </if>
 
             <!--<if test="queryParams.currentTime != null and queryParams.currentTime != ''">-->
@@ -48,11 +48,8 @@
         WHERE contract_id = #{contractId} 
         and(
         -- 开始时间和结束时间都在指定时间段内
-        start_time &lt;= #{startTime}
-        AND end_time &gt;= #{endOfDay}
-        ) OR (
-        -- 开始时间为查询时间开始的当天
-        DATE(start_time) = DATE_FORMAT(#{startTime}, '%Y-%m-%d')
+        start_time &lt;= now()
+        AND end_time &gt;= now()
         )
     </select>
 </mapper>