wangli преди 4 години
родител
ревизия
ec806d422b

+ 16 - 11
smart-city-platform/src/main/java/com/bz/smart_city/quartz/job/OpenAccountValveInspection.java

@@ -17,6 +17,7 @@ import org.springframework.stereotype.Component;
 import javax.annotation.Resource;
 import java.io.Serializable;
 import java.math.BigInteger;
+import java.time.LocalDateTime;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -45,19 +46,23 @@ public class OpenAccountValveInspection  implements InitializingBean, Job, Seria
 
     @Override
     public void execute(JobExecutionContext context) throws JobExecutionException {
-        try {
-            List<PayValveStateInfoDto> payValveStateInfos = payFeeMapper.getDeviceValveStateByRecord();
-            if(payValveStateInfos.size() > 0){
-                List<BigInteger> devices = payValveStateInfos.stream().map(d ->{
-                            payFeeService.sendValveCommond(d);
-                            return d.getMeterId();
-                        }
-                ).collect(Collectors.toList());
-                payFeeMapper.deleteControlValveInfoByDevice(devices);
+        log.info("巡检开户开阀操作开始:"+ LocalDateTime.now());
+        synchronized (this){
+            try {
+                List<PayValveStateInfoDto> payValveStateInfos = payFeeMapper.getDeviceValveStateByRecord();
+                if(payValveStateInfos.size() > 0){
+                    List<BigInteger> devices = payValveStateInfos.stream().map(d ->{
+                                payFeeService.sendValveCommond(d);
+                                return d.getMeterId();
+                            }
+                    ).collect(Collectors.toList());
+                    payFeeMapper.deleteControlValveInfoByDevice(devices);
+                }
+            } catch (Exception e){
+                e.printStackTrace();
             }
-        } catch (Exception e){
-            e.printStackTrace();
         }
+        log.info("巡检开户开阀操作结束:"+ LocalDateTime.now());
     }
 
     //巡检中间表下发开关阀操作(开户开阀)

+ 1 - 1
smart-city-platform/src/main/resources/mapper/pay/payFeeMapper.xml

@@ -595,7 +595,7 @@
             <if test="searchType != null and searchType == 4">and rh.balance &lt;= #{beginDebtFee}</if>
         </if>
 
-        and (r.debt > 0 and rh.balance &lt; 0
+        and (r.debt > 0 or rh.balance &lt; 0
             <if test="payControlRules != null and payControlRules.size() != 0">
                 <foreach collection="payControlRules" item="rule" open=" or " separator=" or ">
                     ( concat(',',c.valve_rule_id,',') like concat('%,',${rule.id},',%')