Browse Source

换表登记更新用户表换表字段

huangpeng 3 months ago
parent
commit
fdfa73e355

+ 52 - 46
zhsw-common/src/main/java/com/rongwei/zhsw/system/service/impl/SwMeterExchangeRegisterServiceImpl.java

@@ -1,5 +1,6 @@
 package com.rongwei.zhsw.system.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwe.zhsw.system.domain.SwMeterExchangeRegisterDo;
 import com.rongwe.zhsw.system.domain.SwUserManagementDo;
@@ -12,19 +13,13 @@ import com.rongwei.zhsw.system.dao.SwWaterUsageEntryDao;
 import com.rongwei.zhsw.system.service.SwMeterExchangeRegisterService;
 import com.rongwei.zhsw.system.service.SwUserManagementService;
 import org.apache.commons.lang3.StringUtils;
-import lombok.Getter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.context.request.RequestContextHolder;
-import org.springframework.web.context.request.ServletRequestAttributes;
 
-import java.util.Collections;
 import java.util.List;
-import java.util.UUID;
-import java.util.concurrent.CompletableFuture;
 
 /**
 * @author rongwei
@@ -66,7 +61,7 @@ public class SwMeterExchangeRegisterServiceImpl extends ServiceImpl<SwMeterExcha
         // 2. 生成账单,
         billGenerationService.generateBill(oldEntry.getId());
 
-        updateUserMeterInfo(newEntry);
+        updateUserMeterInfo(newEntry,registerDo);
 
         // 3. 插入新表数据
         if (newEntry != null) {
@@ -76,50 +71,61 @@ public class SwMeterExchangeRegisterServiceImpl extends ServiceImpl<SwMeterExcha
             swWaterUsageEntryDao.insert(newEntry);
         }
 
-        String accountuserno = registerDo.getAccountuserno();
-        String oldsmeterno = registerDo.getOldsmeterno();
-        QueryWrapper<SwWaterMeterManagementDo> queryWrapper = new QueryWrapper<>();
-        if (!StringUtils.isBlank(oldsmeterno)) {
-            queryWrapper.eq("WATERMETERNO", oldsmeterno);
-        }
-        queryWrapper.eq("deleted", "0");
-        queryWrapper.eq("meterstatus", "enable");
-        queryWrapper.eq("accountuserno", accountuserno);
-        SwWaterMeterManagementDo managementDo = swWaterMeterManagementDao.selectOne(queryWrapper);
-        if (managementDo != null) {
-            managementDo.setWatermeterno(registerDo.getNewmeterno());
-            managementDo.setSpecificationmodel(registerDo.getNewmetermodel());
-            managementDo.setManufacturer(registerDo.getManufacturer());
-            swWaterMeterManagementDao.updateById(managementDo);
-        } else {
-            SwWaterMeterManagementDo newManagementDo = new SwWaterMeterManagementDo();
-
-            newManagementDo.setId(SecurityUtil.getUUID());
-            newManagementDo.setWatermeterno(registerDo.getNewmeterno());
-            newManagementDo.setSpecificationmodel(registerDo.getNewmetermodel());
-            newManagementDo.setManufacturer(registerDo.getManufacturer());
-            newManagementDo.setDeleted("0");
-            newManagementDo.setMeterstatus("enable");
-            newManagementDo.setAccountuserno(accountuserno);
-            newManagementDo.setUserid(registerDo.getUserid());
-            newManagementDo.setUsername(registerDo.getUsername());
-            newManagementDo.setVolumeno(registerDo.getVolumeno());
-            newManagementDo.setStartdate(registerDo.getMeterchangedate());
-            newManagementDo.setManufacturedate(registerDo.getManufacturedate());
-            newManagementDo.setCommunityname(registerDo.getVillagename());
-            newManagementDo.setWaterusetype(registerDo.getWatertype());
-            newManagementDo.setWatermetertype("1");
-            swWaterMeterManagementDao.insert(newManagementDo);
-        }
+//        String accountuserno = registerDo.getAccountuserno();
+//        String oldsmeterno = registerDo.getOldsmeterno();
+//        QueryWrapper<SwWaterMeterManagementDo> queryWrapper = new QueryWrapper<>();
+//        if (!StringUtils.isBlank(oldsmeterno)) {
+//            queryWrapper.eq("WATERMETERNO", oldsmeterno);
+//        }
+//        queryWrapper.eq("deleted", "0");
+//        queryWrapper.eq("meterstatus", "enable");
+//        queryWrapper.eq("accountuserno", accountuserno);
+//        SwWaterMeterManagementDo managementDo = swWaterMeterManagementDao.selectOne(queryWrapper);
+//        if (managementDo != null) {
+//            managementDo.setWatermeterno(registerDo.getNewmeterno());
+//            managementDo.setSpecificationmodel(registerDo.getNewmetermodel());
+//            managementDo.setManufacturer(registerDo.getManufacturer());
+//            swWaterMeterManagementDao.updateById(managementDo);
+//        } else {
+//            SwWaterMeterManagementDo newManagementDo = new SwWaterMeterManagementDo();
+//
+//            newManagementDo.setId(SecurityUtil.getUUID());
+//            newManagementDo.setWatermeterno(registerDo.getNewmeterno());
+//            newManagementDo.setSpecificationmodel(registerDo.getNewmetermodel());
+//            newManagementDo.setManufacturer(registerDo.getManufacturer());
+//            newManagementDo.setDeleted("0");
+//            newManagementDo.setMeterstatus("enable");
+//            newManagementDo.setAccountuserno(accountuserno);
+//            newManagementDo.setUserid(registerDo.getUserid());
+//            newManagementDo.setUsername(registerDo.getUsername());
+//            newManagementDo.setVolumeno(registerDo.getVolumeno());
+//            newManagementDo.setStartdate(registerDo.getMeterchangedate());
+//            newManagementDo.setManufacturedate(registerDo.getManufacturedate());
+//            newManagementDo.setCommunityname(registerDo.getVillagename());
+//            newManagementDo.setWaterusetype(registerDo.getWatertype());
+//            newManagementDo.setWatermetertype("1");
+//            swWaterMeterManagementDao.insert(newManagementDo);
+//        }
     }
 
-    private void updateUserMeterInfo(SwWaterUsageEntryDo entry) {
+    private void updateUserMeterInfo(SwWaterUsageEntryDo entry, SwMeterExchangeRegisterDo registerDo) {
         String userid = entry.getUserid();
         SwUserManagementDo user = swUserManagementService.getById(userid);
         if (user != null) {
-            user.setLastmeterreaddate(entry.getCurrentreadingdate());
-            user.setLastmeterreading(entry.getThisreading());
-            swUserManagementService.updateById(user);
+//            user.setLastmeterreaddate(entry.getCurrentreadingdate());
+//            user.setLastmeterreading(entry.getThisreading());
+//            swUserManagementService.updateById(user);
+
+            LambdaUpdateWrapper<SwUserManagementDo> lambdaUpdateWrapper = new LambdaUpdateWrapper<SwUserManagementDo>()
+                    .eq(SwUserManagementDo::getId, user.getId())
+                    .set(SwUserManagementDo::getLastmeterreaddate, entry.getCurrentreadingdate())
+                    .set(SwUserManagementDo::getLastmeterreading, entry.getThisreading())
+                    .set(SwUserManagementDo::getWatermeterno, registerDo.getNewmeterno())
+                    .set(SwUserManagementDo::getWatermetertype, registerDo.getNewmtrtype())
+                    .set(SwUserManagementDo::getSpecificationmodel, registerDo.getNewmetermodel())
+                    .set(SwUserManagementDo::getManufacturer, registerDo.getManufacturer());
+            swUserManagementService.update(lambdaUpdateWrapper);
+
         } else {
             throw new IllegalArgumentException("未查询到用户信息");
         }

+ 18 - 0
zhsw-entity/src/main/java/com/rongwe/zhsw/system/domain/SwUserManagementDo.java

@@ -126,4 +126,22 @@ public class SwUserManagementDo extends BaseDo  implements Serializable {
      * 减免金额
      */
     private BigDecimal exemptionamount;
+
+    /**
+     * 水表编号
+     */
+    private String watermeterno;
+
+    /**
+     * 水表类型
+     */
+    private String watermetertype;
+    /**
+     * 规格型号
+     */
+    private String specificationmodel;
+    /**
+     * 生产厂家
+     */
+    private String manufacturer;
 }