Browse Source

划拨Bug

jaikuai 3 years ago
parent
commit
e512b949fc

+ 3 - 0
src/main/java/cn/fastfun/controller/api/ApiAppDeviceLogController.java

@@ -13,6 +13,7 @@ import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.data.domain.Page;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -49,6 +50,8 @@ public class ApiAppDeviceLogController {
     @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("未设定批次号和设备号");
         deviceLogService.transfer(param);
         return ApiDTO.ok();
     }

+ 11 - 2
src/main/java/cn/fastfun/service/impl/AppDeviceLogServiceImpl.java

@@ -21,7 +21,9 @@ import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import javax.transaction.Transactional;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 import java.util.UUID;
 
 @Slf4j
@@ -38,8 +40,10 @@ public class AppDeviceLogServiceImpl extends JpaServiceImp<AppDeviceLog, String>
     @Override
     @Transactional
     public void putInStorage(LibraryInFormParam param) {
-        if (!StringUtils.isEmpty(param.getBatchNum())) {
-
+        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()));
         }
         if (!CollectionUtils.isEmpty(param.getSn())) {
             Date time = new Date();
@@ -59,6 +63,11 @@ public class AppDeviceLogServiceImpl extends JpaServiceImp<AppDeviceLog, String>
     @Override
     @Transactional
     public void transfer(TransferFormParam 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()));
+        }
         if (!CollectionUtils.isEmpty(param.getSn())) {
             Date time = new Date();
             String batchNum = UUID.randomUUID().toString();