소스 검색

机车 增删改查 详情 导入

sunhh 2 년 전
부모
커밋
53ab1d579b

+ 4 - 6
business-service/src/main/java/com/ozs/entity/BaseVehicle.java

@@ -2,6 +2,7 @@ package com.ozs.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.ozs.common.annotation.Excel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -25,17 +26,19 @@ public class BaseVehicle implements Serializable {
     /**
      * 主键ID
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
      * 机车编码
      */
+    @Excel(name = "机车编码")
     private String vehicleCode;
 
     /**
      * 机车名称
      */
+    @Excel(name = "机车名称")
     private String vehicleName;
 
     /**
@@ -62,9 +65,4 @@ public class BaseVehicle implements Serializable {
      * 备注
      */
     private String remark;
-
-    /**
-     * 挂载终端ID terminal_id
-     */
-    private long terminalId;
 }

+ 6 - 0
business-service/src/main/java/com/ozs/service/BaseVehicleService.java

@@ -6,6 +6,8 @@ import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.entity.BaseVehicle;
 import com.ozs.entity.vo.BaseVehicleVo;
 
+import java.util.List;
+
 /**
  * <p>
  * 机车信息表 服务类
@@ -21,4 +23,8 @@ public interface BaseVehicleService extends IService<BaseVehicle> {
     AjaxResult vehicleAdd(BaseVehicle baseVehicle, String userId);
 
     AjaxResult vehicleUpdate(BaseVehicle baseVehicle, String userId);
+
+    String importBaseVehicle(List<BaseVehicle> accountManageList, boolean updateSupport, String userId);
+
+    AjaxResult vehicleDetails(BaseVehicle baseVehicle);
 }

+ 76 - 0
business-service/src/main/java/com/ozs/service/impl/BaseVehicleServiceImpl.java

@@ -5,14 +5,19 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.pagehelper.PageHelper;
 import com.ozs.common.core.domain.AjaxResult;
+import com.ozs.common.exception.ServiceException;
 import com.ozs.common.utils.StringUtils;
+import com.ozs.common.utils.bean.BeanUtils;
+import com.ozs.common.utils.bean.BeanValidators;
 import com.ozs.entity.BaseVehicle;
 import com.ozs.entity.vo.BaseVehicleVo;
 import com.ozs.mapper.BaseVehicleMapper;
+import com.ozs.mapper.BaseVehicleTerminalMapper;
 import com.ozs.service.BaseVehicleService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.validation.Validator;
 import java.util.Date;
 import java.util.List;
 
@@ -29,6 +34,10 @@ public class BaseVehicleServiceImpl extends ServiceImpl<BaseVehicleMapper, BaseV
 
     @Autowired
     private BaseVehicleMapper baseVehicleMapper;
+    @Autowired
+    private BaseVehicleTerminalMapper baseVehicleTerminalMapper;
+    @Autowired
+    protected Validator validator;
 
     @Override
     public IPage<BaseVehicle> vehicleList(BaseVehicleVo baseVehicle) {
@@ -92,4 +101,71 @@ public class BaseVehicleServiceImpl extends ServiceImpl<BaseVehicleMapper, BaseV
             return AjaxResult.error();
         }
     }
+
+    @Override
+    public String importBaseVehicle(List<BaseVehicle> accountManageList, boolean updateSupport, String userId) {
+        int successNum = 0;
+        int failureNum = 0;
+        StringBuilder successMsg = new StringBuilder();
+        StringBuilder failureMsg = new StringBuilder();
+        for (BaseVehicle baseVehicle2 : accountManageList) {
+            try {
+                BaseVehicle baseVehicle = new BaseVehicle();
+                BeanUtils.copyProperties(baseVehicle2, baseVehicle);
+                // 判断机车编码是否存在
+                LambdaQueryWrapper<BaseVehicle> lw = new LambdaQueryWrapper<BaseVehicle>();
+                if (!StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
+                    lw.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
+                }
+                BaseVehicle baseVehicle1 = baseVehicleMapper.selectOne(lw);
+                if (StringUtils.isEmptySunhh(baseVehicle1)) {
+                    BeanValidators.validateWithException(validator, baseVehicle);
+                    baseVehicle.setUpdateBy(userId);
+                    baseVehicle.setCreateBy(userId);
+                    Date date = new Date();
+                    baseVehicle.setCreateTime(date);
+                    baseVehicle.setUpdateTime(date);
+                    int insert = baseVehicleMapper.insert(baseVehicle);
+                    successNum++;
+                    successMsg.append(successNum + "、机车编码 " + baseVehicle.getVehicleCode() + " 导入成功");
+                } else if (updateSupport) {
+                    BeanValidators.validateWithException(validator, baseVehicle);
+                    LambdaQueryWrapper<BaseVehicle> lambdaQueryWrapper = new LambdaQueryWrapper<BaseVehicle>();
+                    if (!StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
+                        lambdaQueryWrapper.eq(BaseVehicle::getVehicleCode, baseVehicle.getVehicleCode());
+                    }
+                    BaseVehicle baseVehicle4 = baseVehicleMapper.selectOne(lambdaQueryWrapper);
+                    if (StringUtils.isEmptySunhh(baseVehicle4)) {
+                        baseVehicle.setUpdateBy(userId);
+                        baseVehicle.setUpdateTime(new Date());
+                        baseVehicle.setId(baseVehicle4.getId());
+                        baseVehicleMapper.updateById(baseVehicle);
+                        successNum++;
+                        successMsg.append(successNum + "、机车编码 " + baseVehicle.getVehicleCode() + " 更新成功");
+                    } else {
+                        failureNum++;
+                        failureMsg.append(failureNum + "、机车编码 " + baseVehicle.getVehicleCode() + "不存在");
+                    }
+                }
+            } catch (Exception e) {
+                failureNum++;
+                String msg = failureNum + "、机车编码 " + baseVehicle2.getVehicleCode() + " 导入失败:";
+                failureMsg.append(msg);
+                log.error(msg, e);
+            }
+        }
+        if (failureNum > 0) {
+            failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
+            throw new ServiceException(failureMsg.toString());
+        } else {
+            successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。");
+        }
+        return successMsg.toString();
+    }
+
+    @Override
+    public AjaxResult vehicleDetails(BaseVehicle baseVehicle) {
+        BaseVehicle baseVehicle1 = baseVehicleMapper.selectById(baseVehicle.getId());
+        return AjaxResult.success(baseVehicle1);
+    }
 }

+ 17 - 17
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -584,23 +584,23 @@ public class BaseCameraManagementController extends BaseController {
         return success();
     }
 
-    @ApiOperation("播放回放")
-    @PostMapping("/api/play")
-    @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
-    public AjaxResult play(@Validated @RequestBody BaseCameraResVo vo) {
-        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
-        lw.eq(BaseCameraManagement::getCameraCode, vo.getCameraCode());
-        BaseCameraManagement one = baseCameraManagementService.getOne(lw);
-        if (ObjectUtils.isEmpty(one)) {
-            throw new BaseException("相机编号【" + vo.getCameraCode() + "】不存在");
-        }
-        String path = CameraUtil.historyPlayListStr(one.getChannel(), vo.getStartTime(), vo.getEntTime());
-        if (org.apache.commons.lang3.StringUtils.isBlank(path)) {
-            throw new BaseException("当前相机无视频录像");
-        }
-        return new AjaxResult(200, "ok", serverConfig.getUrl() + path);
-//        return success(CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime()));
-    }
+//    @ApiOperation("播放回放")
+//    @PostMapping("/api/play")
+//    @Log(title = "相机台账管理", businessType = BusinessType.OTHER)
+//    public AjaxResult play(@Validated @RequestBody BaseCameraResVo vo) {
+//        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+//        lw.eq(BaseCameraManagement::getCameraCode, vo.getCameraCode());
+//        BaseCameraManagement one = baseCameraManagementService.getOne(lw);
+//        if (ObjectUtils.isEmpty(one)) {
+//            throw new BaseException("相机编号【" + vo.getCameraCode() + "】不存在");
+//        }
+//        String path = CameraUtil.historyPlayListStr(one.getChannel(), vo.getStartTime(), vo.getEntTime());
+//        if (org.apache.commons.lang3.StringUtils.isBlank(path)) {
+//            throw new BaseException("当前相机无视频录像");
+//        }
+//        return new AjaxResult(200, "ok", serverConfig.getUrl() + path);
+////        return success(CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime()));
+//    }
 
     @ApiOperation("视频服务设备数量")
     @GetMapping("/totalNumberOfDevices")

+ 0 - 2
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java

@@ -284,7 +284,5 @@ public class BaseRailwayManagementController extends BaseController {
     public AjaxResult query() {
         return AjaxResult.success(baseRailwayManagementService.list());
     }
-
-
 }
 

+ 35 - 12
vehicle-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseVehicleController.java

@@ -6,6 +6,7 @@ import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.StringUtils;
+import com.ozs.common.utils.poi.ExcelUtil;
 import com.ozs.entity.BaseVehicle;
 import com.ozs.entity.vo.BaseVehicleVo;
 import com.ozs.service.BaseVehicleService;
@@ -13,6 +14,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
 import java.util.Date;
 import java.util.List;
@@ -45,12 +47,28 @@ public class BaseVehicleController extends BaseController {
      */
     @ApiOperation(value = "机车信息表 分页查询")
     @PostMapping("/vehicleList")
-    @Log(title = "机车信息表 分页查询", businessType = BusinessType.SELECT)
+    @Log(title = "机车信息台账", businessType = BusinessType.SELECT)
     public AjaxResult vehicleList(@RequestBody BaseVehicleVo baseVehicle) {
         IPage<BaseVehicle> baseVehicleList = baseVehicleService.vehicleList(baseVehicle);
         return AjaxResult.success(baseVehicleList);
     }
 
+    /**
+     * 机车信息表 详情
+     *
+     * @param baseVehicle
+     * @return
+     */
+    @ApiOperation(value = "机车信息表 详情")
+    @PostMapping("/vehicleDetails")
+    @Log(title = "机车信息台账", businessType = BusinessType.SELECT)
+    public AjaxResult vehicleDetails(@RequestBody BaseVehicle baseVehicle) {
+        if (StringUtils.isEmptySunhh(baseVehicle) || StringUtils.isEmptySunhh(baseVehicle.getId())) {
+            return AjaxResult.error("机车id不能为空!");
+        }
+        return baseVehicleService.vehicleDetails(baseVehicle);
+    }
+
     /**
      * 机车信息表 新增
      *
@@ -59,7 +77,7 @@ public class BaseVehicleController extends BaseController {
      */
     @ApiOperation(value = "机车信息表 新增")
     @PostMapping("/vehicleAdd")
-    @Log(title = "机车信息表 新增", businessType = BusinessType.SELECT)
+    @Log(title = "机车信息台账", businessType = BusinessType.INSERT)
     public AjaxResult vehicleAdd(@RequestBody BaseVehicle baseVehicle) {
         if (StringUtils.isEmptySunhh(baseVehicle) || StringUtils.isEmptySunhh(baseVehicle.getVehicleName())
                 || StringUtils.isEmptySunhh(baseVehicle.getVehicleCode())) {
@@ -76,7 +94,7 @@ public class BaseVehicleController extends BaseController {
      */
     @ApiOperation(value = "机车信息表 修改")
     @PostMapping("/vehicleUpdate")
-    @Log(title = "机车信息表 修改", businessType = BusinessType.SELECT)
+    @Log(title = "机车信息台账", businessType = BusinessType.UPDATE)
     public AjaxResult vehicleUpdate(@RequestBody BaseVehicle baseVehicle) {
         if (StringUtils.isEmptySunhh(baseVehicle) || StringUtils.isEmptySunhh(baseVehicle.getId())) {
             return AjaxResult.error("修改ID不能为空!");
@@ -91,8 +109,8 @@ public class BaseVehicleController extends BaseController {
      * @return
      */
     @ApiOperation(value = "机车信息表 删除")
-    @PostMapping("/vehicleDelete")
-    @Log(title = "机车信息表 删除", businessType = BusinessType.SELECT)
+    @DeleteMapping("/vehicleDelete/{ids}")
+    @Log(title = "机车信息台账", businessType = BusinessType.DELETE)
     public AjaxResult vehicleDelete(@PathVariable List<Long> ids) {
         if (StringUtils.isEmptySunhh(ids)) {
             return AjaxResult.error("删除ID不能为空!");
@@ -106,16 +124,21 @@ public class BaseVehicleController extends BaseController {
     }
 
     /**
-     * 机车信息表 查询
+     * 机车信息导入
      *
+     * @param file
+     * @param updateSupport
      * @return
+     * @throws Exception
      */
-    @ApiOperation(value = "机车信息表 查询")
-    @PostMapping("/vehicleAll")
-    @Log(title = "机车信息表 查询", businessType = BusinessType.SELECT)
-    public AjaxResult vehicleAll() {
-        List<BaseVehicle> list = baseVehicleService.list();
-        return AjaxResult.success(list);
+    @ApiOperation("机车信息导入")
+    @PostMapping("/importBaseVehicle")
+    @Log(title = "机车信息台账", businessType = BusinessType.IMPORT)
+    public AjaxResult importBaseVehicle(MultipartFile file, boolean updateSupport) throws Exception {
+        ExcelUtil<BaseVehicle> util = new ExcelUtil<BaseVehicle>(BaseVehicle.class);
+        List<BaseVehicle> accountManageList = util.importExcel(file.getInputStream());
+        String message = baseVehicleService.importBaseVehicle(accountManageList, updateSupport, getUserId());
+        return AjaxResult.success(message);
     }
 }