Browse Source

保存阀控记录修改

wangli 4 years ago
parent
commit
a2cd2d2944

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

@@ -21,5 +21,8 @@ public class PayValveStateInfo {
     private BigInteger meterId;
     private BigInteger customerNo;
     private Integer operation;  //0关阀1开阀
+    private BigInteger siteId;
+    private BigInteger customerId;
+
 
 }

+ 4 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/pay/AmountWaterUsedAmountServiceImpl.java

@@ -233,6 +233,8 @@ public class AmountWaterUsedAmountServiceImpl implements AmountWaterUsedAmountSe
                         for(PayControlRule payControlRule :payControlRules){
                             if(payValveStateInfo.getDebt() != null && payControlRule.checkCondition(payValveStateInfo.getDebt())){
                                 payValveStateInfo.setOperation(payControlRule.getAction());
+                                payValveStateInfo.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
+                                payValveStateInfo.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
                                 payFeeService.sendValveCommond(payValveStateInfo);
                             }
                         }
@@ -243,6 +245,8 @@ public class AmountWaterUsedAmountServiceImpl implements AmountWaterUsedAmountSe
                         for(PayControlRule payControlRule :payControlRules){
                             if(payValveStateInfo.getDebt() != null && payControlRule.checkCondition(payValveStateInfo.getDebt())){
                                 payValveStateInfo.setOperation(payControlRule.getAction());
+                                payValveStateInfo.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
+                                payValveStateInfo.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
                                 payFeeService.sendValveCommond(payValveStateInfo);
                             }
                         }

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

@@ -318,6 +318,8 @@ public class PayFeeServiceImp implements PayFeeService {
                     && payValveStateInfo.getDebt()!= null && payValveStateInfo.getDebt().compareTo(BigDecimal.ZERO) ==1
                     && payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0")){
                 payValveStateInfo.setOperation(1);
+                payValveStateInfo.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
+                payValveStateInfo.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
                 Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
                 if(!sendValveCommondResult){
 //                    result+="; 开阀异常:"+String.format("%.2f", transAmount)+"元";
@@ -582,6 +584,8 @@ public class PayFeeServiceImp implements PayFeeService {
                    && payValveStateInfo.getDebt()!= null && payValveStateInfo.getDebt().compareTo(BigDecimal.ZERO) ==1
                    && payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0")){
                payValveStateInfo.setOperation(1);
+               payValveStateInfo.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
+               payValveStateInfo.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
                Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
                if(!sendValveCommondResult){
 //                    result+="; 开阀异常:"+String.format("%.2f", transAmount)+"元";
@@ -1251,6 +1255,8 @@ public class PayFeeServiceImp implements PayFeeService {
                     && payValveStateInfo.getDebt()!= null && payValveStateInfo.getDebt().compareTo(BigDecimal.ZERO) ==1
                     && payValveStateInfo.getValveState()!= null && payValveStateInfo.getValveState().equals("0")){
                 payValveStateInfo.setOperation(1);
+                payValveStateInfo.setSiteId(BigInteger.valueOf(siteId));
+                payValveStateInfo.setCustomerId(BigInteger.valueOf(customerId));
                 Boolean sendValveCommondResult = this.sendValveCommond(payValveStateInfo);
                 if(!sendValveCommondResult){    //关阀失败
 //                    result+="; 开阀异常:"+String.format("%.2f", transAmount)+"元";
@@ -1350,6 +1356,12 @@ public class PayFeeServiceImp implements PayFeeService {
     //缴费开阀
     public Boolean sendValveCommond(PayValveStateInfo payValveStateInfo){
         LoginUser loginUser =UserUtil.getCurrentUser();
+           BigInteger userId;
+        if(loginUser == null || loginUser.getId() == null){
+            userId= new BigInteger("1");
+        }else{
+            userId = BigInteger.valueOf(loginUser.getId());
+        }
 //        JSONObject parmJson= new JSONObject();
 //        parmJson.put("meterNo",payValveStateInfo.getMeterCode());
 //        parmJson.put("type",payValveStateInfo.getOperation());    //1开0关
@@ -1376,13 +1388,13 @@ public class PayFeeServiceImp implements PayFeeService {
                 payControlRecord.setState(0);//状态为关阀
                 payControlRecord.setType(1);//开阀操作
 
-                payControlRecord.setCreateBy(BigInteger.valueOf(loginUser.getId()));
+                payControlRecord.setCreateBy(userId);
                 payControlRecord.setCreateDate(LocalDateTime.now());
-                payControlRecord.setUpdateBy(BigInteger.valueOf(loginUser.getId()));
+                payControlRecord.setUpdateBy(userId);
                 payControlRecord.setUpdateDate(LocalDateTime.now());
                 payControlRecord.setDelFlag("0");
-                payControlRecord.setCustomerId(BigInteger.valueOf(loginUser.getCustomerId()));
-                payControlRecord.setSiteId(BigInteger.valueOf(loginUser.getSiteId()));
+                payControlRecord.setCustomerId(payValveStateInfo.getCustomerId());
+                payControlRecord.setSiteId(payValveStateInfo.getSiteId());
                 payControlRecordMapper.add(payControlRecord);
                 return true;
             }

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

@@ -467,6 +467,8 @@
             ,d.control_status as "valveState"
             ,cs.customer_no as "customerNo"
             ,v.control_state as "operation"
+            ,d.site_id as "siteId"
+            ,d.customer_id as "customerId"
         from pay_control_valve v
         left join sc_device d on d.id=v.device_id
         left join pay_base_customerandmeterrela c on c.watermeter_id =d.id