|
@@ -6,21 +6,27 @@ import com.gyee.wisdom.alarm.sharding.entity.Alertrule2;
|
|
|
import com.gyee.wisdom.alarm.sharding.entity.Scadabj;
|
|
|
import com.gyee.wisdom.alarm.sharding.service.Alertrule2Service;
|
|
|
import com.gyee.wisdom.alarm.sharding.service.ScadabjService;
|
|
|
-import com.gyee.wisdom.alarm.sharding.util.TokenUtil;
|
|
|
-import com.gyee.wisdom.alarm.sharding.util.UserLoginToken;
|
|
|
-import com.gyee.wisdom.alarm.sharding.util.ResponseWrapper;
|
|
|
+import com.gyee.wisdom.alarm.sharding.util.*;
|
|
|
import io.jsonwebtoken.Claims;
|
|
|
+import io.swagger.annotations.Api;
|
|
|
+import io.swagger.annotations.ApiOperation;
|
|
|
+import io.swagger.annotations.ApiParam;
|
|
|
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 javax.servlet.http.HttpServletRequest;
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
|
|
|
@Slf4j
|
|
|
@RestController
|
|
|
@RequestMapping("/scadabj")
|
|
|
@CrossOrigin
|
|
|
+@Api(tags = {"scadabj接口"})
|
|
|
public class ScadabjController {
|
|
|
|
|
|
@Autowired
|
|
@@ -104,6 +110,76 @@ public class ScadabjController {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation("Scadabj批量导入")
|
|
|
+ @PostMapping(value = "/import")
|
|
|
+ @ResponseBody
|
|
|
+ @UserLoginToken
|
|
|
+ public ResponseWrapper<Scadabj> saveScadabjImport(@ApiParam(value = "导入文件") @RequestParam("file") MultipartFile file, HttpServletRequest request) {
|
|
|
+ String token=request.getHeader("token");
|
|
|
+ Claims claims = TokenUtil.parseJWT(token);
|
|
|
+ String userName=claims.get("jti").toString();
|
|
|
+ ResponseWrapper<Scadabj> wrapper = null;
|
|
|
+ boolean allCheck = true;
|
|
|
+ if (!file.isEmpty()) {
|
|
|
+ try {
|
|
|
+ String originalFilename = file.getOriginalFilename();
|
|
|
+ String fileType = originalFilename.substring(originalFilename.lastIndexOf(".") + 1, originalFilename.length());
|
|
|
+ Integer startRows = 1;
|
|
|
+ InputStream is = file.getInputStream();
|
|
|
+ List<Scadabj> bindingList = new ArrayList<>();
|
|
|
+ List<String[]> strings = ExcelUtil.readData(fileType, startRows, true, is);
|
|
|
+ for (String[] str : strings) {
|
|
|
+ Scadabj scadabj = new Scadabj();
|
|
|
+ if (str[0] == null || str[0].equals("")){
|
|
|
+ scadabj.setId(SnowflakeGenerator.generateId());
|
|
|
+ }else {
|
|
|
+ scadabj.setId(Long.valueOf(str[0]));
|
|
|
+ }
|
|
|
+ scadabj.setStationId(str[1]);
|
|
|
+ scadabj.setPointKey(str[2]);
|
|
|
+ scadabj.setDescription(str[3]);
|
|
|
+ scadabj.setCategory1(str[4]);
|
|
|
+ scadabj.setCategory2(str[5]);
|
|
|
+ scadabj.setCategory3(str[6]);
|
|
|
+ scadabj.setCategory4(str[7]);
|
|
|
+ scadabj.setRank(str[8]);
|
|
|
+ scadabj.setAlarmType(Integer.parseInt(str[9]));
|
|
|
+ scadabj.setEnabled(Integer.parseInt(str[10]));
|
|
|
+ if(str.length==12){
|
|
|
+ scadabj.setDeviceId(str[11]);
|
|
|
+ }
|
|
|
+ bindingList.add(scadabj);
|
|
|
+ }
|
|
|
+ for (Scadabj scadabj : bindingList) {
|
|
|
+ wrapper = dataCheck(scadabj);
|
|
|
+ if (wrapper.getSuccess() != true) {
|
|
|
+ allCheck = false;
|
|
|
+ String msg = wrapper.getMsg();
|
|
|
+ wrapper.setMsg(scadabj.getDescription() + ":" + msg);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (allCheck) {
|
|
|
+ for (Scadabj scadabj : bindingList) {
|
|
|
+ int result = scadabjService.saveAndUpdateScadabj(scadabj, userName);
|
|
|
+ if (result <= 0) {
|
|
|
+ wrapper.setMsg(scadabj.getDescription() + ":" + "操作数据库失败");
|
|
|
+ wrapper.setSuccess(false);
|
|
|
+ break;
|
|
|
+ }else {
|
|
|
+ wrapper.setMsg("批量导入成功");
|
|
|
+ wrapper.setSuccess(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (IOException e) {
|
|
|
+ wrapper.setMsg("操作数据库失败");
|
|
|
+ wrapper.setSuccess(false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return wrapper;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
private ResponseWrapper<Scadabj> dataCheck(Scadabj scadabj) {
|
|
|
|