From b60b39fc30384a1fa75765e8e10f9ad3bffe9480 Mon Sep 17 00:00:00 2001
From: sfd <sun.sunshine@163.com>
Date: 星期五, 23 五月 2025 15:15:34 +0800
Subject: [PATCH] Update ApsStandardProcessController.java
---
aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java | 130 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 109 insertions(+), 21 deletions(-)
diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java
index 396f46a..32552bc 100644
--- a/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java
+++ b/aps-modules/aps-core/src/main/java/com/aps/core/controller/basicData/ApsStandardProcessController.java
@@ -7,20 +7,39 @@
import com.aps.common.log.annotation.Log;
import com.aps.common.log.enums.BusinessType;
import com.aps.common.security.annotation.RequiresPermissions;
+import com.aps.common.security.utils.DictUtils;
+import com.aps.core.domain.ApsShop;
import com.aps.core.domain.ApsStandardProcess;
+import com.aps.core.service.IApsShopService;
import com.aps.core.service.IApsStandardProcessService;
+import com.aps.system.api.domain.SysDictData;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
+import lombok.SneakyThrows;
+import org.apache.commons.io.IOUtils;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.core.io.ByteArrayResource;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
/**
* 鏍囧噯宸ュ簭Controller
- *
+ *
* @author hjy
* @date 2025-04-23
*/
@@ -29,10 +48,12 @@
@Tag(name = "鏍囧噯宸ュ簭", description = "鏍囧噯宸ュ簭鎺ュ彛")
@RestController
@RequestMapping("/standardProcess")
-public class ApsStandardProcessController extends BaseController
-{
+public class ApsStandardProcessController extends BaseController {
@Autowired
private IApsStandardProcessService apsStandardProcessService;
+
+ @Autowired
+ IApsShopService apsShopService;
/**
* 鏌ヨ鏍囧噯宸ュ簭鍒楄〃
@@ -40,10 +61,19 @@
@Operation(summary = "鏌ヨ鏍囧噯宸ュ簭鍒楄〃", description = "鍒嗛〉鏌ヨ")
@RequiresPermissions("aps:standardProcess:list")
@GetMapping("/list")
- public TableDataInfo list(ApsStandardProcess apsStandardProcess)
- {
+ public TableDataInfo list(ApsStandardProcess apsStandardProcess) {
startPage();
List<ApsStandardProcess> list = apsStandardProcessService.selectApsStandardProcessList(apsStandardProcess);
+ List<ApsShop> apsShops = apsShopService.findShopByCodes(list.stream().map(ApsStandardProcess::getWorkShop)
+ .filter(Objects::nonNull)
+ .collect(Collectors.toSet()));
+ list.forEach(temp -> {
+ temp.setWorkShop(apsShops.stream()
+ .filter(tempShop -> Objects.equals(tempShop.getShopCode(), temp.getWorkShop()))
+ .map(ApsShop::getShopName)
+ .findFirst()
+ .orElse(null));
+ });
return getDataTable(list);
}
@@ -54,8 +84,7 @@
@RequiresPermissions("aps:standardProcess:export")
@Log(title = "鏍囧噯宸ュ簭", businessType = BusinessType.EXPORT)
@PostMapping("/export")
- public void export(HttpServletResponse response, ApsStandardProcess apsStandardProcess)
- {
+ public void export(HttpServletResponse response, ApsStandardProcess apsStandardProcess) {
List<ApsStandardProcess> list = apsStandardProcessService.selectApsStandardProcessList(apsStandardProcess);
ExcelUtil<ApsStandardProcess> util = new ExcelUtil<ApsStandardProcess>(ApsStandardProcess.class);
util.exportExcel(response, list, "鏍囧噯宸ュ簭鏁版嵁");
@@ -67,8 +96,7 @@
@Operation(summary = "鑾峰彇鏍囧噯宸ュ簭璇︾粏淇℃伅", description = "鏍规嵁id鑾峰彇")
@RequiresPermissions("aps:standardProcess:query")
@GetMapping(value = "/{id}")
- public AjaxResult getInfo(@PathVariable("id") Long id)
- {
+ public AjaxResult getInfo(@PathVariable("id") Long id) {
return success(apsStandardProcessService.selectApsStandardProcessById(id));
}
@@ -79,8 +107,7 @@
@RequiresPermissions("aps:standardProcess:add")
@Log(title = "鏍囧噯宸ュ簭", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@RequestBody ApsStandardProcess apsStandardProcess)
- {
+ public AjaxResult add(@RequestBody ApsStandardProcess apsStandardProcess) {
return toAjax(apsStandardProcessService.insertApsStandardProcess(apsStandardProcess));
}
@@ -91,8 +118,7 @@
@RequiresPermissions("aps:standardProcess:edit")
@Log(title = "鏍囧噯宸ュ簭", businessType = BusinessType.UPDATE)
@PutMapping
- public AjaxResult edit(@RequestBody ApsStandardProcess apsStandardProcess)
- {
+ public AjaxResult edit(@RequestBody ApsStandardProcess apsStandardProcess) {
return toAjax(apsStandardProcessService.updateApsStandardProcess(apsStandardProcess));
}
@@ -102,9 +128,8 @@
@Operation(summary = "鍒犻櫎鏍囧噯宸ュ簭", description = "鎵归噺鍒犻櫎")
@RequiresPermissions("aps:standardProcess:remove")
@Log(title = "鏍囧噯宸ュ簭", businessType = BusinessType.DELETE)
- @DeleteMapping("/{ids}")
- public AjaxResult remove(@PathVariable Long[] ids)
- {
+ @DeleteMapping("/{ids}")
+ public AjaxResult remove(@PathVariable Long[] ids) {
return toAjax(apsStandardProcessService.deleteApsStandardProcessByIds(ids));
}
@@ -112,7 +137,7 @@
* 瀵煎叆鏍囧噯宸ュ簭鏁版嵁
*/
@Operation(summary = "瀵煎叆鏍囧噯宸ュ簭鏁版嵁", description = "澧為噺瀵煎叆")
- @RequiresPermissions("aps:standardProcess:importData")
+// @RequiresPermissions("aps:standardProcess:importData")
@PostMapping("/importData")
public AjaxResult importData(MultipartFile file) throws Exception {
ExcelUtil<ApsStandardProcess> util = new ExcelUtil<>(ApsStandardProcess.class);
@@ -120,9 +145,9 @@
//鍒ゆ柇瀵煎叆鏁版嵁鏄惁涓虹┖
if (!tempList.isEmpty()) {
Boolean res = apsStandardProcessService.importData(tempList);
- if(res){
+ if (res) {
return AjaxResult.success("瀵煎叆鎴愬姛锛�");
- }else{
+ } else {
return AjaxResult.error("瀵煎叆澶辫触锛�");
}
} else {
@@ -136,9 +161,72 @@
@Operation(summary = "鏍规嵁杞﹂棿鏌ヨ鏍囧噯宸ュ簭鍒楄〃", description = "鍏ㄩ噺鏌ヨ")
@RequiresPermissions("aps:standardProcess:listByWorkShop")
@GetMapping("/listByWorkShop")
- public TableDataInfo listByWorkShop(ApsStandardProcess apsStandardProcess)
- {
+ public TableDataInfo listByWorkShop(ApsStandardProcess apsStandardProcess) {
List<ApsStandardProcess> list = apsStandardProcessService.selectApsStandardProcessList(apsStandardProcess);
return getDataTable(list);
}
+
+ /**
+ * 涓嬭浇鏍囧噯宸ュ簭鏁版嵁瀵煎叆妯℃澘
+ */
+ @SneakyThrows
+ @Operation(summary = "涓嬭浇鏍囧噯宸ュ簭鏁版嵁瀵煎叆妯℃澘", description = "涓嬭浇鏍囧噯宸ュ簭鏁版嵁瀵煎叆妯℃澘")
+// @RequiresPermissions("gasPipeline:prediction:template")
+// @Log(title = "涓嬭浇姘斾綋棰勬祴鏁版嵁瀵煎叆妯℃澘", businessType = BusinessType.EXPORT)
+ @GetMapping("/template")
+ public ResponseEntity<ByteArrayResource> exportTemplate() {
+ byte[] file = IOUtils.resourceToByteArray("/templates/鏍囧噯宸ュ簭鏁版嵁妯℃澘v1.0.xlsx");
+ Workbook workbook = WorkbookFactory.create(new ByteArrayInputStream(file));
+ Sheet sheet = workbook.getSheet("瀛楀吀-宸ュ巶");
+ List<SysDictData> sysDictDataList = DictUtils.getDictCache("aps_factory");
+ boolean changed = false;
+ if (sysDictDataList != null) {
+ for (int i = 0; i < sysDictDataList.size(); i++) {
+ Row row = sheet.createRow(i + 1);
+ row.createCell(0).setCellValue(sysDictDataList.get(i).getDictValue());
+ row.createCell(1).setCellValue(sysDictDataList.get(i).getDictLabel());
+ }
+
+ sheet = workbook.getSheet("瀛楀吀-杞﹂棿");
+ List<ApsShop> shops = apsShopService.findAllShops();
+ for (int i = 0; i < shops.size(); i++) {
+ Row row = sheet.createRow(i + 1);
+ ApsShop shop = shops.get(i);
+ row.createCell(0).setCellValue(sysDictDataList
+ .stream()
+ .filter(d -> d.getDictValue().equals(shop.getPlantCode()))
+ .map(SysDictData::getDictLabel)
+ .findFirst()
+ .orElse(null));
+ row.createCell(1).setCellValue(shops.get(i).getShopCode());
+ row.createCell(2).setCellValue(shops.get(i).getShopName());
+ }
+ changed = true;
+ }
+ sheet = workbook.getSheet("瀛楀吀-涓撲笟");
+ sysDictDataList = DictUtils.getDictCache("aps_domain");
+ if (sysDictDataList != null) {
+ for (int i = 0; i < sysDictDataList.size(); i++) {
+ Row row = sheet.createRow(i + 1);
+ row.createCell(0).setCellValue(sysDictDataList.get(i).getDictValue());
+ row.createCell(1).setCellValue(sysDictDataList.get(i).getDictLabel());
+ }
+
+ changed = true;
+ }
+ if (changed) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ workbook.write(baos);
+ file = baos.toByteArray();
+ }
+ workbook.close();
+ ByteArrayResource resource = new ByteArrayResource(file);
+ return ResponseEntity.ok()
+ .header("Access-Control-Expose-Headers", HttpHeaders.CONTENT_DISPOSITION)
+ .header(HttpHeaders.CONTENT_DISPOSITION,
+ String.format("attachment;filename=%s", URLEncoder.encode("姘斾綋棰勬祴鏁版嵁妯℃澘.xlsx", StandardCharsets.UTF_8)))
+ .header(HttpHeaders.CONTENT_TYPE, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
+ .contentLength(file.length)
+ .body(resource);
+ }
}
--
Gitblit v1.9.3