Parcourir la source

阀门操作修改

wangli il y a 4 ans
Parent
commit
03a0457967

+ 1 - 1
smart-city-platform/src/main/java/com/bz/smart_city/dto/pay/payfee/PayValveStateInfo.java

@@ -15,7 +15,7 @@ public class PayValveStateInfo {
 
     private String meterCode;
     private String eleno;
-    private String valveState;
+    private Integer valveState;
     private BigDecimal debt;
     private BigDecimal remaining;
     private BigInteger accountId;

+ 11 - 3
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/pay/PayFeeServiceImp.java

@@ -335,7 +335,7 @@ public class PayFeeServiceImp implements PayFeeService {
 
         for(PayValveStateInfo payValveStateInfo : payValveStateInfos){
             if(payValveStateInfo != null && payValveStateInfo.getDebt()!= null
-                    && ((payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0"))
+                    && ((payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState() == 0)
                             || payValveStateInfo.getValveState() == null)){
 
                 for(PayControlRule payControlRule : payControlRules){
@@ -1358,6 +1358,14 @@ public class PayFeeServiceImp implements PayFeeService {
 
     //缴费开阀
     public Boolean sendValveCommond(PayValveStateInfo payValveStateInfo){
+
+        PayControlRecord lastPayControlRecord = payControlRecordMapper.findControlRecordByMetercode(payValveStateInfo.getMeterCode());
+        if(lastPayControlRecord != null && lastPayControlRecord.getResult() == null){
+            if(lastPayControlRecord.getType().equals(payValveStateInfo.getOperation())){ //操作相同不再添加
+                return true;
+            }
+        }
+
         LoginUser loginUser =UserUtil.getCurrentUser();
            BigInteger userId;
         if(loginUser == null || loginUser.getId() == null){
@@ -1388,8 +1396,8 @@ public class PayFeeServiceImp implements PayFeeService {
                 payControlRecord.setMeterId(payValveStateInfo.getMeterId());
                 payControlRecord.setRemarks("缴费开阀");
                 payControlRecord.setResult(0);//进行中
-                payControlRecord.setState(0);//状态为关阀
-                payControlRecord.setType(1);//开阀操作
+                payControlRecord.setState(payValveStateInfo.getValveState());
+                payControlRecord.setType(payValveStateInfo.getOperation());//开阀操作
 
                 payControlRecord.setControlRuleId(payValveStateInfo.getControlRuleId());