Browse Source

1、修改显示页面解析均为imei解析
2、throw 出批量导入时批次号重复的及其他异常
3、完成设备详情及详情搜索页
4、入库页面后端开发完成

lmstack 3 years ago
parent
commit
36c4842b38

+ 6 - 1
pom.xml

@@ -18,7 +18,7 @@
         <version>2.1.4.RELEASE</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
-    
+
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
@@ -222,6 +222,11 @@
             <id>nexus-snapshots</id>
             <url>http://nexus.fast-fun.cn:92/repository/maven-snapshots/</url>
         </repository>
+        <repository>
+            <id>nexus</id>
+            <name>Spring Milestones</name>
+            <url>http://nexus.it5000.com:82/repository/maven-public/</url>
+        </repository>
     </repositories>
 
     <pluginRepositories>

+ 37 - 23
src/main/java/cn/fastfun/controller/api/ApiAppDeviceController.java

@@ -1,9 +1,8 @@
 package cn.fastfun.controller.api;
 
 import cn.fastfun.controller.dto.DevicePageStatDTO;
-import cn.fastfun.controller.param.DeviceBathQueryParam;
-import cn.fastfun.controller.param.DeviceFormParam;
-import cn.fastfun.controller.param.DeviceQueryParam;
+import cn.fastfun.controller.param.*;
+import cn.fastfun.service.AppDeviceLogService;
 import cn.fastfun.service.AppDeviceService;
 import cn.fastfun.service.SysExcelFieldService;
 import cn.fastfun.service.entity.AppDevice;
@@ -20,7 +19,6 @@ import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.data.domain.Page;
-import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -43,17 +41,22 @@ public class ApiAppDeviceController {
     @Resource(name = "appDeviceService")
     AppDeviceService appDeviceService;
 
+    @Resource
+    AppDeviceLogService appDeviceLogService;
+
     @Resource
     SysExcelFieldService sysExcelFieldService;
 
     /**
      * 数据保存
      */
-    @ApiOperation(value = "单个电池保存")
+
+    @ApiOperation(value = "新增电池")
     @RequestMapping(value = "save", method = RequestMethod.POST)
     public ApiDTO save(@RequestBody @ApiParam(name = "设备信息对象", value = "传入json格式", required = true) DeviceFormParam param) {
         // 此处定义的sn实际上是指的表中的imei,也就是实体类的属性imei
-        String checkSnResult = VerifyUtil.checkSn(param.getImei());
+        String checkSnResult = VerifyUtil.checkImei(param.getImei());
+
         List<AppDevice> checkDuplicatedResultOnImei = appDeviceService.findAll(
                 QueryParamExp.eq("imei", param.getImei()));
         if (!checkDuplicatedResultOnImei.isEmpty()) {
@@ -82,14 +85,15 @@ public class ApiAppDeviceController {
         return ApiDTO.ok("查询成功!", appDevicesOnOneBatch);
     }
 
-    @ApiOperation(value = "设备分页搜索")
-    @RequestMapping(value = "pageQuery", method = RequestMethod.POST)
-    public ApiPageDTO pageQuery(@RequestBody DeviceQueryParam param) {
-        Page<AppDevice> devicePage = appDeviceService.findByParam(param);
-        devicePage.getContent().forEach(p -> appDeviceService.addSnTitle(p));
-        return new ApiPageDTO(null, devicePage);
-    }
-
+//    @ApiOperation(value = "设备分页搜索")
+//    @RequestMapping(value = "pageQuery", method = RequestMethod.POST)
+//    public ApiPageDTO pageQuery(@RequestBody DeviceQueryParam param) {
+//
+//        Page<AppDeviceLog> byParam = appDeviceLogService.findByParam(param);
+//        Page<AppDevice> devicePage = appDeviceService.findByParam(param);
+//        devicePage.getContent().forEach(p -> appDeviceService.addSnTitle(p));
+//        return new ApiPageDTO(null, devicePage);
+//    }
 
 
     @ApiOperation(value = "导入模板下载")
@@ -99,7 +103,7 @@ public class ApiAppDeviceController {
         sysExcelFieldService.outExcelFile(workbook, response, name);
     }
 
-    @ApiOperation(value = "设备数据导入")
+    @ApiOperation(value = "批量新增电池")
     @RequestMapping(value = "excelImport", method = RequestMethod.POST)
     public ApiDTO excelImport(MultipartFile file) {
         appDeviceService.importDevice(sysExcelFieldService.importExcel("invoice", file));
@@ -117,12 +121,12 @@ public class ApiAppDeviceController {
         return ApiDTO.ok(dto);
     }
 
-    @ApiOperation(value = "设备批次分页搜索列表")
-    @RequestMapping(value = "batchNum/pageQuery", method = RequestMethod.POST)
-    public ApiPageDTO batchNumPageQuery(@RequestBody DeviceBathQueryParam param) {
-        //@ToDo: 添加各种状态
+    @ApiOperation(value = "搜索 & 重置")
+    @RequestMapping(value = "pageQuery", method = RequestMethod.POST)
+    public ApiPageDTO batchNumPageQuery(@RequestBody DeviceBatchQueryParam param) {
+
         StringBuffer sql = new StringBuffer();
-        sql.append("select t1.batch_num,t1.sn,t1.deliver_time,count(0) as total,count(if(status = 1,true,null)) as in_storage,count(if(status = 2,true,null)) as transfer,");
+        sql.append("select t1.batch_num,t1.sn,t1.imei,t1.deliver_time,count(0) as total,count(if(status = 1,true,null)) as in_storage,count(if(status = 2,true,null)) as transfer,");
         sql.append("count(if(status = 3,true,null)) as out_storage,count(if(status = 4,true,null)) as handle,");
         sql.append("t1.add_time,t1.received_place from app_device t1");
 
@@ -138,13 +142,13 @@ public class ApiAppDeviceController {
 
 
         ApiPageDTO page = appDeviceService.getListBySQL(sql.toString(), new HashMap<>(), param);
-        if(null != page.getData()) {
+        if (null != page.getData()) {
             // 组装数据
             List<Map<String, Object>> list = (List<Map<String, Object>>) page.getData();
             for (Map<String, Object> p : list) {
                 AppDevice device = new AppDevice();
-                device.setSn(ObjectUtil.obj2String(p.get("sn")));
-                appDeviceService.addSnTitle(device);
+                device.setImei(ObjectUtil.obj2String(p.get("imei")));
+                appDeviceService.addImeiTitle(device);
 
                 p.put("type_title", device.getTypeTitle());
                 p.put("pack_title", device.getPackTitle());
@@ -157,4 +161,14 @@ public class ApiAppDeviceController {
         return page;
     }
 
+    @ApiOperation(value = "查看详情 --> 搜索 & 重置")
+    @RequestMapping(value = "pageQuery/detail", method = RequestMethod.POST)
+    public ApiPageDTO devicePageQueryDetial(@RequestBody DeviceBatchQueryDetailParam param) {
+
+        Page<AppDevice> devicePage = appDeviceService.findByParam(param);
+        devicePage.getContent().forEach(p -> appDeviceService.addImeiTitle(p));
+        return new ApiPageDTO(null, devicePage);
+    }
+
+
 }

+ 91 - 7
src/main/java/cn/fastfun/controller/api/ApiAppDeviceLogController.java

@@ -21,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -40,22 +41,103 @@ public class ApiAppDeviceLogController {
     @Resource
     AppDeviceLogService deviceLogService;
 
-    @ApiOperation(value = "入库")
+    @ApiOperation(value = "新增入库 单个 or 批次")
     @RequestMapping(value = "instorage", method = RequestMethod.POST)
-    public ApiDTO inStorage(@RequestBody @ApiParam(name = "入库参数", value = "传入json格式", required = true) LibraryInFormParam param) {
+    public ApiDTO inStorage(@RequestBody @ApiParam(name = "入库参数", value = "指定sn", required = true) LibraryInFormParam param) {
         deviceLogService.putInStorage(param);
         return ApiDTO.ok();
     }
 
+    @ApiOperation(value = "批次入库 搜索 & 重置")
+    @RequestMapping(value = "instorage/batch/Query", method = RequestMethod.POST)
+    public ApiPageDTO inStorageBatchQuery(@RequestBody DeviceBatchQueryParam param) {
+
+        StringBuffer sql = new StringBuffer();
+        sql.append("select t1.batch_num,t1.sn,t1.imei,t1.deliver_time,count(0) as total,count(if(status = 1,true,null)) as in_storage,count(if(status = 2,true,null)) as transfer,");
+        sql.append("count(if(status = 3,true,null)) as out_storage,count(if(status = 4,true,null)) as handle,");
+        sql.append("t1.add_time,t1.received_place from app_device t1");
+
+        if (!StringUtils.isEmpty(param.getBatchNum())) {
+            sql.append(" where t1.batch_num like '%").append(param.getBatchNum()).append("%'");
+        }
+        sql.append(" group by t1.batch_num");
+        if (!StringUtils.isEmpty(param.getOrderBy())) {
+            sql.append(param.getOrderBy());
+        }
+        log.info("SQL: {}", sql.toString());
+
+
+        ApiPageDTO page = appDeviceService.getListBySQL(sql.toString(), new HashMap<>(), param);
+        if (null != page.getData()) {
+            // 组装数据
+            List<Map<String, Object>> list = (List<Map<String, Object>>) page.getData();
+            for (Map<String, Object> p : list) {
+                AppDevice device = new AppDevice();
+                device.setImei(ObjectUtil.obj2String(p.get("imei")));
+                appDeviceService.addImeiTitle(device);
+
+                p.put("type_title", device.getTypeTitle());
+                p.put("pack_title", device.getPackTitle());
+                p.put("deliver_time", DateUtils.toString(ObjectUtil.obj2Date(p.get("deliver_time")), DateUtils.YMD));
+                p.put("add_time", DateUtils.toString(ObjectUtil.obj2Date(p.get("add_time")), DateUtils.YMDHMS));
+                p.put("operator", "admin");
+            }
+            page.setData(list);
+        }
+        return page;
+    }
+
+    @ApiOperation(value = "入库设备 搜索 & 重置")
+    @RequestMapping(value = "instorage/pageQuery", method = RequestMethod.POST)
+    public ApiPageDTO inStoragePageQuery(@RequestBody LibraryInQueryParam param) {
+
+        StringBuffer sql = new StringBuffer();
+        if(CollectionUtils.isEmpty(param.getCheckStatus())){
+            sql.append("SELECT * FROM app_device_log WHERE type=1");
+        }
+        else{
+            sql.append("SELECT * FROM app_device_log WHERE type=1 AND sn IN(SELECT sn FROM app_device WHERE check_status="+
+                    param.getCheckStatus().get(0).toString()+")");
+        }
+
+        log.info("SQL: {}", sql.toString());
+
+        ApiPageDTO page = appDeviceService.getListBySQL(sql.toString(), new HashMap<>(), param);
+        if (null != page.getData()) {
+            // 组装数据
+            List<Map<String, Object>> list = (List<Map<String, Object>>) page.getData();
+            List<Map<String, Object>> listRes = new ArrayList<>();
+            for (Map<String, Object> p : list) {
+                Map<String, Object> pTemp = new HashMap<>();
+                AppDevice device = new AppDevice();
+                device.setImei(ObjectUtil.obj2String(p.get("imei")));
+                appDeviceService.addImeiTitle(device);
+                AppDevice appDevice = appDeviceService.getOne(QueryParamExp.eq("sn", p.get("sn")));
+                pTemp.put("sn", p.get("sn"));
+                pTemp.put("add_time", DateUtils.toString(ObjectUtil.obj2Date(p.get("add_time")), DateUtils.YMDHMS));
+                pTemp.put("type_title", device.getTypeTitle());
+                pTemp.put("pack_title", device.getPackTitle());
+                pTemp.put("batch_num", appDevice.getBatchNum());
+                pTemp.put("status", device.getStatus());
+                pTemp.put("received_place", appDevice.getReceivedPlace());
+                pTemp.put("operator", "admin");
+                listRes.add(pTemp);
+            }
+            page.setData(listRes);
+        }
+        return page;
+    }
+
     @ApiOperation(value = "划拨")
     @RequestMapping(value = "transfer", method = RequestMethod.POST)
     public ApiDTO transfer(@RequestBody @ApiParam(name = "划拨参数", value = "传入json格式", required = true) TransferFormParam param) {
         if (CollectionUtils.isEmpty(param.getBatchNum()) && CollectionUtils.isEmpty(param.getSn()))
-            return ApiDTO.error("未设定批次号和设备号");
+            return ApiDTO.error("未设定设备号或sn");
         deviceLogService.transfer(param);
         return ApiDTO.ok();
     }
 
+
     @ApiOperation(value = "出库")
     @RequestMapping(value = "outstorage", method = RequestMethod.POST)
     public ApiDTO outStorage(@RequestBody @ApiParam(name = "出库参数", value = "传入json格式", required = true) LibraryOutFormParam param) {
@@ -63,6 +145,8 @@ public class ApiAppDeviceLogController {
         return ApiDTO.ok();
     }
 
+
+
     @ApiOperation(value = "出库详细分页搜索")
     @RequestMapping(value = "outstorage/pageQuery", method = RequestMethod.POST)
     public ApiPageDTO outPageQuery(@RequestBody OutQueryParam param) {
@@ -70,8 +154,8 @@ public class ApiAppDeviceLogController {
         Page<AppDeviceLog> deviceLogPage = deviceLogService.findByParam(param);
         deviceLogPage.getContent().forEach(p -> {
             AppDevice device = new AppDevice();
-            device.setSn(p.getSn());
-            appDeviceService.addSnTitle(device);
+            device.setImei(p.getImei());
+            appDeviceService.addImeiTitle(device);
             p.appendFormDevice(device);
         });
         return new ApiPageDTO(null, deviceLogPage);
@@ -98,8 +182,8 @@ public class ApiAppDeviceLogController {
 
         deviceLogPage.getContent().forEach(p -> {
             AppDevice device = new AppDevice();
-            device.setSn(p.getSn());
-            appDeviceService.addSnTitle(device);
+            device.setImei(p.getImei());
+            appDeviceService.addImeiTitle(device);
             p.appendFormDevice(device);
         });
         return new ApiPageDTO(null, deviceLogPage);

+ 1 - 1
src/main/java/cn/fastfun/controller/api/SnController.java

@@ -28,7 +28,7 @@ public class SnController {
     @ApiOperation(value = "对提交的sn进行解析")
     @PostMapping("/api/v1/sn")
     public ApiDTO save(@RequestBody @ApiParam(name = "SN字符串", value = "传入String格式", required = true) Sn sn) {
-        Map<String,String> snSplitResult = ResolveUtil.splitSn(sn.getNumber());
+        Map<String,String> snSplitResult = ResolveUtil.splitImei(sn.getNumber());
 
         Product productTypeCheckResult =  productService.getOne(
                 Arrays.asList(QueryParamExp.eq("snTypeCode",snSplitResult.get("产品类型代码")),

+ 43 - 0
src/main/java/cn/fastfun/controller/param/DeviceBatchQueryDetailParam.java

@@ -0,0 +1,43 @@
+package cn.fastfun.controller.param;
+
+import com.bridge.dto.QueryParam;
+import com.bridge.dto.QueryParamExp;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+@Setter
+@Getter
+public class DeviceBatchQueryDetailParam extends QueryParam {
+
+
+    @ApiModelProperty(value = "批次号", name = "batchNum", required = true)
+    public void setBatchNum(String batchNum) {
+        if (!StringUtils.isEmpty(batchNum))
+            addParam(QueryParamExp.eq("batchNum", batchNum));
+    }
+
+    @ApiModelProperty(value = "SN", name = "sn", required = true)
+    public void setSn(String sn) {
+        if (!StringUtils.isEmpty(sn))
+            addParam(QueryParamExp.eq("sn", sn));
+    }
+
+    @ApiModelProperty(value = "IMEI", name = "imei", required = true)
+    public void setImei(String imei) {
+        if (!StringUtils.isEmpty(imei))
+            addParam(QueryParamExp.eq("imei", imei));
+    }
+
+    @ApiModelProperty(value = "设备状态", name = "status", example = "[], 0:未入库,1:已入库,2:已调拨,3:已出库,4:已处置")
+    public void setStatus(List<Integer> status) {
+        if (!CollectionUtils.isEmpty(status)) {
+            addParam(QueryParamExp.in("status", status.toArray(new Integer[]{})));
+        }
+    }
+
+}

+ 3 - 1
src/main/java/cn/fastfun/controller/param/DeviceBathQueryParam.java → src/main/java/cn/fastfun/controller/param/DeviceBatchQueryParam.java

@@ -2,13 +2,15 @@ package cn.fastfun.controller.param;
 
 import com.bridge.dto.QueryParam;
 
+import com.bridge.dto.QueryParamExp;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Getter;
 import lombok.Setter;
+import org.springframework.util.StringUtils;
 
 @Setter
 @Getter
-public class DeviceBathQueryParam extends QueryParam {
+public class DeviceBatchQueryParam extends QueryParam {
 
     @ApiModelProperty(value = "批次号", name = "batchNum", required = true)
     private String batchNum;

+ 1 - 1
src/main/java/cn/fastfun/controller/param/DeviceFormParam.java

@@ -24,7 +24,7 @@ public class DeviceFormParam {
     @ApiModelProperty(value = "批次号", name = "batchNum", required = true, example = "")
     private String batchNum;
 
-    @ApiModelProperty(value = "收货地", name = "received_place", required = true, example = "")
+    @ApiModelProperty(value = "收货地", name = "receivedPlace", required = true, example = "")
     private String receivedPlace;
 
 

+ 1 - 4
src/main/java/cn/fastfun/controller/param/LibraryInFormParam.java

@@ -13,9 +13,6 @@ import java.util.List;
 @Getter
 public class LibraryInFormParam {
 
-    @ApiModelProperty(value = "批次号", name = "batchNum", required = false)
-    private List<String> batchNum;
-
-    @ApiModelProperty(value = "设备编号", name = "sn", required = false)
+    @ApiModelProperty(value = "设备编号", name = "sn", required = true)
     private List<String> sn;
 }

+ 26 - 0
src/main/java/cn/fastfun/controller/param/LibraryInQueryParam.java

@@ -0,0 +1,26 @@
+package cn.fastfun.controller.param;
+
+import com.bridge.dto.QueryParam;
+import com.bridge.dto.QueryParamExp;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.models.auth.In;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+@Getter
+@Setter
+public class LibraryInQueryParam extends QueryParam{
+
+
+    @ApiModelProperty(value = "设备编号", name = "sn", required = false)
+    private String sn;
+
+    @ApiModelProperty(value = "自检状态", name = "checkStatus", example = "[], 0:未通过 ; 1:已通过;  空:全部")
+    private List<Integer> checkStatus;
+
+
+}

+ 2 - 4
src/main/java/cn/fastfun/service/AppDeviceLogService.java

@@ -1,9 +1,6 @@
 package cn.fastfun.service;
 
-import cn.fastfun.controller.param.HandelFormParam;
-import cn.fastfun.controller.param.LibraryInFormParam;
-import cn.fastfun.controller.param.LibraryOutFormParam;
-import cn.fastfun.controller.param.TransferFormParam;
+import cn.fastfun.controller.param.*;
 import cn.fastfun.service.entity.AppDeviceLog;
 import com.bridge.service.JpaService;
 
@@ -19,6 +16,7 @@ public interface AppDeviceLogService extends JpaService<AppDeviceLog, String> {
      */
     void putInStorage(LibraryInFormParam param);
 
+
     /**
      * 设备划拨
      *

+ 2 - 2
src/main/java/cn/fastfun/service/AppDeviceService.java

@@ -25,9 +25,9 @@ public interface AppDeviceService extends JpaService<AppDevice, String> {
     AppDeviceRepository getRepository();
 
     /**
-     * SN号分拆赋值
+     * imei号分拆赋值
      */
-    void addSnTitle(AppDevice device);
+    void addImeiTitle(AppDevice device);
 
     ApiPageDTO batchNumPageQuery();
 

+ 8 - 7
src/main/java/cn/fastfun/service/entity/AppDevice.java

@@ -111,32 +111,33 @@ public class AppDevice extends DateEntity {
         setImei(ObjectUtil.obj2String(param.get("imei")));
         setDeliverTime(ObjectUtil.obj2Date(param.get("deliverTime")));
         setReceivedPlace(ObjectUtil.obj2String(param.get("receivedPlace")));
-        setStatus(1);
+        setCheckStatus(0);
+        setStatus(0);
     }
 
     // 类型
     public String getType() {
-        return sn.substring(0, 1);
+        return imei.substring(0, 1);
     }
 
     public String getPack() {
-        return sn.substring(1, 3);
+        return imei.substring(1, 3);
     }
 
     public String getChemistry() { // 化学体系
-        return sn.substring(5, 6);
+        return imei.substring(5, 6);
     }
 
     public String getPlatform() { // 电池平台
-        return sn.substring(6, 7);
+        return imei.substring(6, 7);
     }
 
     public String getCapacity() {// 容量
-        return sn.substring(7, 9);
+        return imei.substring(7, 9);
     }
 
     public String getExpand() {// 容量
-        return sn.substring(9, 10);
+        return imei.substring(9, 10);
     }
     // 显示名称
     @Transient

+ 4 - 10
src/main/java/cn/fastfun/service/impl/AppDeviceLogServiceImpl.java

@@ -1,15 +1,11 @@
 package cn.fastfun.service.impl;
 
-import cn.fastfun.controller.param.HandelFormParam;
-import cn.fastfun.controller.param.LibraryInFormParam;
-import cn.fastfun.controller.param.LibraryOutFormParam;
-import cn.fastfun.controller.param.TransferFormParam;
+import cn.fastfun.controller.param.*;
 import cn.fastfun.service.AppDeviceLogService;
 import cn.fastfun.service.AppDeviceService;
 import cn.fastfun.service.entity.AppDevice;
 import cn.fastfun.service.entity.AppDeviceLog;
 import cn.fastfun.service.entity.AppImeiHistory;
-import cn.fastfun.service.entity.SysUserRole;
 import com.bridge.dto.QueryParamExp;
 import com.bridge.exception.ApiRuntimeException;
 import com.bridge.service.JpaService;
@@ -40,11 +36,9 @@ public class AppDeviceLogServiceImpl extends JpaServiceImp<AppDeviceLog, String>
     @Override
     @Transactional
     public void putInStorage(LibraryInFormParam param) {
-        if (StringUtils.isEmpty(param.getSn()) && !StringUtils.isEmpty(param.getBatchNum())) {
-            List<AppDevice> deviceList = appDeviceService.findAll(QueryParamExp.in("batchNum", param.getBatchNum().toArray(new String[]{})));
-            param.setSn(new ArrayList<>());
-            deviceList.forEach(p -> param.getSn().add(p.getSn()));
-        }
+        List<AppDevice> deviceList = appDeviceService.findAll(QueryParamExp.in("sn", param.getSn().toArray(new String[]{})));
+        param.setSn(new ArrayList<>());
+        deviceList.forEach(p -> param.getSn().add(p.getSn()));
         if (!CollectionUtils.isEmpty(param.getSn())) {
             Date time = new Date();
             String batchNum = UUID.randomUUID().toString();

+ 4 - 4
src/main/java/cn/fastfun/service/impl/AppDeviceServiceImp.java

@@ -48,12 +48,12 @@ public class AppDeviceServiceImp extends JpaServiceImp<AppDevice, String> implem
             DeviceAttrDTO temp = new DeviceAttrDTO(device.getBatchNum(), device.getSn());
             temp.setReceivedPlace(device.getReceivedPlace());
             if (!temp.getBatchNum().equals(diffAttrDTO.getBatchNum()))
-                new ApiRuntimeException("存在不同的批次号");
+                throw new ApiRuntimeException("存在不同的批次号");
             if (!temp.getPack().equals(diffAttrDTO.getPack()))
-                new ApiRuntimeException("存在不同的PACK厂");
+                throw new ApiRuntimeException("存在不同的PACK厂");
             if (!temp.getType().equals(diffAttrDTO.getType())) new ApiRuntimeException("存在不同的电池类型");
             if (!temp.getReceivedPlace().equals(diffAttrDTO.getReceivedPlace()))
-                new ApiRuntimeException("存在不同的收货地");
+                throw new ApiRuntimeException("存在不同的收货地");
             devices.add(device);
         }
         save(devices);
@@ -65,7 +65,7 @@ public class AppDeviceServiceImp extends JpaServiceImp<AppDevice, String> implem
     }
 
     @Override
-    public void addSnTitle(AppDevice device) {
+    public void addImeiTitle(AppDevice device) {
         device.setTypeTitle(getProductTitle("产品类型", device.getType()));
         device.setExpandTitle(getProductTitle("产品扩展", device.getExpand()));
         device.setPackTitle(getProductTitle("PACK制造商", device.getPack()));

+ 10 - 10
src/main/java/cn/fastfun/util/ResolveUtil.java

@@ -11,17 +11,17 @@ import java.util.Map;
 public class ResolveUtil {
 
     // 对SN进行切片
-    public static Map<String,String> splitSn(String sn){
+    public static Map<String,String> splitImei(String imei){
         Map<String,String> snMap = new HashMap<>();
-        snMap.put("产品类型代码",sn.substring(0,1));
-        snMap.put("pack制造商代码",sn.substring(1,3));
-        snMap.put("电芯厂家代码",sn.substring(3,5));
-        snMap.put("化学体系代码",sn.substring(5,6));
-        snMap.put("电池平台代码",sn.substring(6,7));
-        snMap.put("容量代码",sn.substring(7,9));
-        snMap.put("产品扩展代码",sn.substring(9,10));
-        snMap.put("生产日期代码",sn.substring(10,14));
-        snMap.put("序列号代码",sn.substring(14,17));
+        snMap.put("产品类型代码",imei.substring(0,1));
+        snMap.put("pack制造商代码",imei.substring(1,3));
+        snMap.put("电芯厂家代码",imei.substring(3,5));
+        snMap.put("化学体系代码",imei.substring(5,6));
+        snMap.put("电池平台代码",imei.substring(6,7));
+        snMap.put("容量代码",imei.substring(7,9));
+        snMap.put("产品扩展代码",imei.substring(9,10));
+        snMap.put("生产日期代码",imei.substring(10,14));
+        snMap.put("序列号代码",imei.substring(14,17));
         return snMap;
     }
 

+ 3 - 3
src/main/java/cn/fastfun/util/VerifyUtil.java

@@ -115,13 +115,13 @@ public class VerifyUtil {
     }
 
     // 校验输入的sn
-    public static String checkSn(String sn) {
+    public static String checkImei(String imei) {
 
-        if(sn.length() != 17) {
+        if(imei.length() != 17) {
             return "sn的编号长度必须为17";
         }
 
-        Map<String,String> splitSnResult = ResolveUtil.splitSn(sn);
+        Map<String,String> splitSnResult = ResolveUtil.splitImei(imei);
 
         if(!(Pattern.matches("[MCP]",splitSnResult.get("产品类型代码")))){
             return "产品类型的编号不符合规则,必须是M,C,P的一种";