浏览代码

换表管理

lin 4 年之前
父节点
当前提交
2b735e8ec2

+ 9 - 6
smart-city-platform/src/main/java/com/bz/smart_city/dto/WaterMeterReplaceInputDto.java

@@ -8,23 +8,26 @@ public class WaterMeterReplaceInputDto {
     @ApiModelProperty(value = "设备id", position = 1)
     private Long deviceId;
 
-    @ApiModelProperty(value = "新表设备编号", position = 1)
+    @ApiModelProperty(value = "新表设备编号", position = 2)
     private String newDeviceNo;
 
-    @ApiModelProperty(value = "新表电子号", position = 2)
+    @ApiModelProperty(value = "新表电子号", position = 3)
     private String newElectronicNo;
 
-    @ApiModelProperty(value = "新表设备类型id", position = 3)
+    @ApiModelProperty(value = "新表设备类型id", position = 4)
     private Integer newDeviceTypeId;
 
-    @ApiModelProperty(value = "新表起度", position = 4)
+    @ApiModelProperty(value = "新表起度", position = 5)
     private String newBeginWsv;
 
-    @ApiModelProperty(value = "旧表止度", position = 5)
+    @ApiModelProperty(value = "旧表止度", position = 6)
     private String oldEndWsv;
 
-    @ApiModelProperty(value = "更换方案,1 更换模块,2:更换整表", position = 6)
+    @ApiModelProperty(value = "更换方案,1 更换模块,2:更换整表", position = 7)
     private Integer replaceMethod;
 
+    @ApiModelProperty(value = "图片", position = 8)
+    private String imageUrl;
+
 
 }

+ 34 - 13
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/WaterMeterReplaceLogServiceImpl.java

@@ -4,17 +4,20 @@ import com.alibaba.fastjson.JSON;
 import com.bz.smart_city.commom.exception.ServiceException;
 import com.bz.smart_city.commom.model.Pagination;
 import com.bz.smart_city.commom.model.ResultStatus;
+import com.bz.smart_city.commom.util.AssistantUserUtil;
 import com.bz.smart_city.commom.util.ExcelUtil;
 import com.bz.smart_city.commom.util.UserUtil;
 import com.bz.smart_city.dao.DeviceMapper;
 import com.bz.smart_city.dao.DeviceTypeMapper;
 import com.bz.smart_city.dto.*;
+import com.bz.smart_city.dto.assistant.LoginAssistantUser;
 import com.bz.smart_city.entity.Device;
 import com.bz.smart_city.service.BuildingService;
 import com.bz.smart_city.service.udip.UdipUnitService;
 import com.github.pagehelper.PageHelper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.kafka.clients.ClientUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
@@ -25,6 +28,7 @@ import java.util.List;
 import com.bz.smart_city.entity.WaterMeterReplaceLog;
 import com.bz.smart_city.dao.WaterMeterReplaceLogMapper;
 import com.bz.smart_city.service.WaterMeterReplaceLogService;
+import org.springframework.transaction.annotation.Transactional;
 
 import static com.google.common.collect.Lists.newArrayList;
 
@@ -128,30 +132,47 @@ public class WaterMeterReplaceLogServiceImpl implements WaterMeterReplaceLogServ
 
 
     @Override
+    @Transactional
     public void submitWaterMeterReplace(WaterMeterReplaceInputDto waterMeterReplaceInputDto) {
         log.info("begin submitWaterMeterReplace waterMeterReplaceInputDto:{}", JSON.toJSON(waterMeterReplaceInputDto));
         LoginUser loginUser = UserUtil.getCurrentUser();
+        LoginAssistantUser loginAssistantUser = AssistantUserUtil.getCurrentUser();
+
+        String username = null;
+        String userPhone = null;
+        if(loginUser != null){
+            username = loginUser.getName();
+            userPhone = loginUser.getMobilePhone();
+        }
+        if(loginAssistantUser != null){
+            username = loginAssistantUser.getUsername();
+            userPhone = loginAssistantUser.getPhoneNumber();
+        }
+
         Device device = deviceMapper.findByDeviceId(waterMeterReplaceInputDto.getDeviceId());
 
         //判断设备编号和电子号是否已经存在
-        int resultDeviceNo = deviceMapper.findByDeviceNoUnique(waterMeterReplaceInputDto.getDeviceId(), waterMeterReplaceInputDto.getNewDeviceNo());
-        if (resultDeviceNo > 0) {
-            throw new ServiceException(ResultStatus.DEVICE_NO_NOT_EXISTED);
-        }
+        if (loginUser != null) {
+            int resultDeviceNo = deviceMapper.findByDeviceNoUnique(waterMeterReplaceInputDto.getDeviceId(), waterMeterReplaceInputDto.getNewDeviceNo());
+            if (resultDeviceNo > 0) {
+                throw new ServiceException(ResultStatus.DEVICE_NO_NOT_EXISTED);
+            }
 
-        if (waterMeterReplaceInputDto.getNewElectronicNo() != null && !StringUtils.equals("",waterMeterReplaceInputDto.getNewElectronicNo())) {
-            int resultWaterMeterNo = deviceMapper.findByWaterMeterNoUnique(waterMeterReplaceInputDto.getDeviceId(), waterMeterReplaceInputDto.getNewElectronicNo());
-            if (resultWaterMeterNo > 0) {
-                throw new ServiceException(ResultStatus.DEVICE_ELECTRONIC_NO_NOT_EXISTED);
+            if (waterMeterReplaceInputDto.getNewElectronicNo() != null && !StringUtils.equals("",waterMeterReplaceInputDto.getNewElectronicNo())) {
+                int resultWaterMeterNo = deviceMapper.findByWaterMeterNoUnique(waterMeterReplaceInputDto.getDeviceId(), waterMeterReplaceInputDto.getNewElectronicNo());
+                if (resultWaterMeterNo > 0) {
+                    throw new ServiceException(ResultStatus.DEVICE_ELECTRONIC_NO_NOT_EXISTED);
+                }
             }
         }
 
+
         Integer deviceTypeId = waterMeterReplaceInputDto.getNewDeviceTypeId()!=null?waterMeterReplaceInputDto.getNewDeviceTypeId():device.getDeviceType();
 
         //1、换表记录
         WaterMeterReplaceLog waterMeterReplaceLog = new WaterMeterReplaceLog();
         //waterMeterReplaceLog.setMainLogId(waterMeterMaintenanceLog.getId());
-        waterMeterReplaceLog.setSiteId(loginUser.getSiteId());
+        waterMeterReplaceLog.setSiteId(device.getSiteId());
         waterMeterReplaceLog.setDeviceId(waterMeterReplaceInputDto.getDeviceId());
         waterMeterReplaceLog.setReplaceMethod(waterMeterReplaceInputDto.getReplaceMethod());
         waterMeterReplaceLog.setNewDeviceTypeId(deviceTypeId);
@@ -167,12 +188,12 @@ public class WaterMeterReplaceLogServiceImpl implements WaterMeterReplaceLogServ
         //waterMeterReplaceLog.setNewDeviceFlagNo(waterMeterMaintenanceLog.getNewDeviceFlagNo());
         //waterMeterReplaceLog.setOldDeviceFlagNo(waterMeterMaintenanceLog.getOldDeviceFlagNo());
         //waterMeterReplaceLog.setRemark(waterMeterMaintenanceLog.getRemark());
-        waterMeterReplaceLog.setReplaceUsername(loginUser.getName());
-        waterMeterReplaceLog.setReplaceUserPhone(loginUser.getMobilePhone());
+        waterMeterReplaceLog.setReplaceUsername(username);
+        waterMeterReplaceLog.setReplaceUserPhone(userPhone);
         waterMeterReplaceLog.setStatus(1);
-        waterMeterReplaceLog.setCreateBy(UserUtil.getCurrentUser().getUsername());
+        waterMeterReplaceLog.setCreateBy(username);
         waterMeterReplaceLog.setDateCreate(LocalDateTime.now());
-        waterMeterReplaceLog.setUpdateBy(UserUtil.getCurrentUser().getUsername());
+        waterMeterReplaceLog.setUpdateBy(username);
         waterMeterReplaceLog.setDateUpdate(LocalDateTime.now());
         waterMeterReplaceLogMapper.insertSelective(waterMeterReplaceLog);