|
@@ -1,12 +1,18 @@
|
|
|
package com.ruoyi.web.controller.subsidy;
|
|
package com.ruoyi.web.controller.subsidy;
|
|
|
|
|
|
|
|
-import java.util.HashMap;
|
|
|
|
|
-import java.util.List;
|
|
|
|
|
-import java.util.Arrays;
|
|
|
|
|
-import java.util.Map;
|
|
|
|
|
-
|
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
+
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
|
|
|
+import com.ruoyi.common.excel.ExcelResult;
|
|
|
|
|
+import com.ruoyi.common.excel.ImportMessage;
|
|
|
|
|
+import com.ruoyi.subsidy.SubsidyQueueImportListener;
|
|
|
|
|
+import com.ruoyi.subsidy.domain.bo.SubsidyQueueImportBo;
|
|
|
import com.ruoyi.subsidy.domain.bo.SubsidyQueueMoveBo;
|
|
import com.ruoyi.subsidy.domain.bo.SubsidyQueueMoveBo;
|
|
|
import com.ruoyi.subsidy.enums.SubsidyCountType;
|
|
import com.ruoyi.subsidy.enums.SubsidyCountType;
|
|
|
|
|
+import com.ruoyi.system.domain.vo.SysUserImportVo;
|
|
|
|
|
+import com.ruoyi.system.listener.SysUserImportListener;
|
|
|
|
|
+import io.swagger.annotations.*;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
import javax.validation.constraints.*;
|
|
import javax.validation.constraints.*;
|
|
@@ -27,9 +33,7 @@ import com.ruoyi.subsidy.domain.vo.SubsidyQueueVo;
|
|
|
import com.ruoyi.subsidy.domain.bo.SubsidyQueueBo;
|
|
import com.ruoyi.subsidy.domain.bo.SubsidyQueueBo;
|
|
|
import com.ruoyi.subsidy.service.ISubsidyQueueService;
|
|
import com.ruoyi.subsidy.service.ISubsidyQueueService;
|
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
import com.ruoyi.common.core.page.TableDataInfo;
|
|
|
-import io.swagger.annotations.Api;
|
|
|
|
|
-import io.swagger.annotations.ApiParam;
|
|
|
|
|
-import io.swagger.annotations.ApiOperation;
|
|
|
|
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 补贴排队Controller
|
|
* 补贴排队Controller
|
|
@@ -175,4 +179,46 @@ public class SubsidyQueueController extends BaseController {
|
|
|
ExcelUtil.exportExcel(list, "排队订单", SubsidyQueueVo.class, response);
|
|
ExcelUtil.exportExcel(list, "排队订单", SubsidyQueueVo.class, response);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ @ApiOperation("导入补贴列表")
|
|
|
|
|
+ @ApiImplicitParams({
|
|
|
|
|
+ @ApiImplicitParam(name = "file", value = "导入文件", dataType = "java.io.File", required = true),
|
|
|
|
|
+ })
|
|
|
|
|
+ @Log(title = "导入补贴列表", businessType = BusinessType.IMPORT)
|
|
|
|
|
+ @SaCheckPermission("subsidy:subsidyQueue:import")
|
|
|
|
|
+ @PostMapping("/importData/{businessId}")
|
|
|
|
|
+ public R<ImportMessage> importData(@RequestPart("file") MultipartFile file, @ApiParam("主键串") @NotNull(message = "主键不能为空")
|
|
|
|
|
+ @PathVariable Long businessId) throws Exception {
|
|
|
|
|
+ ExcelResult<SubsidyQueueImportBo> result = ExcelUtil.importExcel(file.getInputStream(), SubsidyQueueImportBo.class, new SubsidyQueueImportListener(businessId));
|
|
|
|
|
+ List<SubsidyQueueImportBo> list = result.getList();
|
|
|
|
|
+ List<SubsidyQueueImportBo> validList = list.stream().filter(item -> "正排队".equals(item.getQueueStatus())).sorted(Comparator.comparing(SubsidyQueueImportBo::getQueueOrder)).collect(Collectors.toList());
|
|
|
|
|
+ List<SubsidyQueueImportBo> noValidList = list.stream().filter(item -> "已完成".equals(item.getQueueStatus())).collect(Collectors.toList());
|
|
|
|
|
+
|
|
|
|
|
+ int failureNum = 0;
|
|
|
|
|
+ int successNum = 0;
|
|
|
|
|
+ StringBuilder successMsg = new StringBuilder();
|
|
|
|
|
+ StringBuilder failureMsg = new StringBuilder();
|
|
|
|
|
+
|
|
|
|
|
+ ImportMessage importMessage = new ImportMessage();
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(noValidList))
|
|
|
|
|
+ {
|
|
|
|
|
+ for (SubsidyQueueImportBo bo : noValidList) {
|
|
|
|
|
+ failureNum++;
|
|
|
|
|
+ failureMsg.append("<br/>").append(failureNum).append("、订单编号:").append(bo.getOrderNo()).append(" 导入失败:").append("已完成");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ List<SubsidyQueueImportBo> errorList = iSubsidyQueueService.importData(businessId,validList);
|
|
|
|
|
+
|
|
|
|
|
+ if (failureNum > 0) {
|
|
|
|
|
+ failureMsg.insert(0, "数据导入成功共 " + successNum + " 条! 导入失败共 " + failureNum + " 条!数据格式不正确,错误如下:");
|
|
|
|
|
+ List failureList = Arrays.asList(failureMsg.toString().split("<br/>"));
|
|
|
|
|
+ importMessage.setMessageList(failureList);
|
|
|
|
|
+ importMessage.setMessage(failureMsg.toString());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ successMsg.insert(0, "恭喜您,数据导入成功!共" + successNum + " 条");
|
|
|
|
|
+ importMessage.setMessage(successMsg.toString());
|
|
|
|
|
+ }
|
|
|
|
|
+ return R.ok(importMessage);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
}
|
|
}
|