From 9fe1ec3afe8696c628d076d1f76686c4efc3012e Mon Sep 17 00:00:00 2001
From: zc <zyzc>
Date: 星期二, 21 十月 2025 10:49:55 +0800
Subject: [PATCH] 容器初始化功能优化
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryController.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 92 insertions(+), 6 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryController.java
index 0df7a00..111d74b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryController.java
@@ -1,24 +1,37 @@
package com.vincent.rsf.server.manager.controller;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
+import com.vincent.rsf.framework.exception.CoolException;
+import com.vincent.rsf.server.common.exception.BusinessException;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.entity.Delivery;
+import com.vincent.rsf.server.manager.entity.DeliveryItem;
+import com.vincent.rsf.server.manager.entity.excel.DeliveryTemplate;
+import com.vincent.rsf.server.manager.enums.AsnExceStatus;
+import com.vincent.rsf.server.manager.enums.OrderType;
+import com.vincent.rsf.server.manager.enums.OrderWorkType;
+import com.vincent.rsf.server.manager.service.CompanysService;
+import com.vincent.rsf.server.manager.service.DeliveryItemService;
import com.vincent.rsf.server.manager.service.DeliveryService;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.service.SerialRuleService;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
+import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@@ -28,7 +41,8 @@
@Autowired
private DeliveryService deliveryService;
-
+ @Autowired
+ private DeliveryItemService deliveryItemService;
@PreAuthorize("hasAuthority('manager:delivery:list')")
@PostMapping("/delivery/page")
@@ -81,6 +95,13 @@
public R update(@RequestBody Delivery delivery) {
delivery.setUpdateBy(getLoginUserId());
delivery.setUpdateTime(new Date());
+ if (Objects.isNull(delivery.getCode()) || StringUtils.isBlank(delivery.getCode())) {
+ String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_DELIVERY_RULE_CODE, delivery);
+ if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) {
+ return R.error("缂栫爜瑙勫垯閿欒锛氱紪鐮併�孲YS_DELIVERY_RULE_CODE銆嶆槸鏈缃垚鍔燂紒锛�");
+ }
+ delivery.setCode(ruleCode);
+ }
if (!deliveryService.updateById(delivery)) {
return R.error("Update Fail");
}
@@ -91,10 +112,11 @@
@OperationLog("Delete 缁煎悎鍗曟嵁鏄庣粏")
@PostMapping("/delivery/remove/{ids}")
public R remove(@PathVariable Long[] ids) {
- if (!deliveryService.removeByIds(Arrays.asList(ids))) {
- return R.error("Delete Fail");
+ List<Long> list = Arrays.asList(ids);
+ if (list.isEmpty()) {
+ return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒");
}
- return R.ok("Delete Success").add(ids);
+ return R.ok("鎿嶄綔鎴愬姛").add(deliveryService.removeDo(list));
}
@PreAuthorize("hasAuthority('manager:delivery:list')")
@@ -114,7 +136,71 @@
@PreAuthorize("hasAuthority('manager:delivery:list')")
@PostMapping("/delivery/export")
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
- ExcelUtil.build(ExcelUtil.create(deliveryService.list(), Delivery.class), response);
+ if (!Cools.isEmpty(map) && !Cools.isEmpty(map.get("ids"))) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ List<Delivery> orders = new ArrayList<>();
+ if (!Objects.isNull(map.get("ids"))) {
+ List<Long> ids = JSONArray.parseArray(JSONObject.toJSONString(map.get("ids")), Long.class);
+ if (!ids.isEmpty()) {
+ orders = deliveryService.list(new LambdaQueryWrapper<Delivery>().in(Delivery::getId, ids));
+ } else {
+ orders = deliveryService.list(new LambdaQueryWrapper<>());
+ }
+ } else {
+ orders = deliveryService.list();
+ }
+ List<DeliveryTemplate> orderTemplates = new ArrayList<>();
+ for (Delivery order : orders) {
+ List<DeliveryItem> orderItems = deliveryItemService.list(new LambdaQueryWrapper<DeliveryItem>().eq(DeliveryItem::getDeliveryId, order.getId()));
+ for (DeliveryItem item : orderItems) {
+ if (Objects.isNull(item)) {
+ continue;
+ }
+ DeliveryTemplate template = new DeliveryTemplate();
+ template.setDoCode(order.getCode())
+ .setType(OrderType.getValType(order.getType()))
+ .setWkType(OrderWorkType.getWorkDesc(order.getWkType()))
+ .setAnfme(item.getAnfme() + "")
+ .setMaktx(item.getMaktx())
+ .setMemo(item.getMemo())
+ .setMatnrCode(item.getMatnrCode())
+ .setPlatItemId(item.getPlatItemId())
+ .setSplrBatch(item.getSplrBatch())
+ .setSplrName(item.getSplrName())
+ .setSplrCode(item.getSplrCode());
+ orderTemplates.add(template);
+ }
+ }
+ ExcelUtil.build(ExcelUtil.create(orderTemplates, DeliveryTemplate.class), response);
}
-}
+ @PostMapping("/delivery/import")
+ @ApiOperation("DO鍗曞鍏ユ帴鍙�")
+ @PreAuthorize("hasAuthority('manager:delivery:update')")
+ public R importExcel(@RequestParam(value = "file") MultipartFile file) throws Exception {
+ if (Objects.isNull(file)) {
+ return R.error("鏂囦欢涓嶈兘涓虹┖锛侊紒");
+ }
+ Map<String, Object> hashMap = new HashMap<>();
+ return R.ok("瀵煎叆鎴愬姛").add(deliveryItemService.excelImport(file, hashMap, getLoginUserId()));
+
+ }
+
+ /**
+ * @author Ryan
+ * @description 涓嬭浇妯℃澘
+ * @param
+ * @return
+ * @time 2025/4/18 08:17
+ */
+ @PostMapping("/delivery/template/download")
+ @ApiOperation("涓嬭浇鏀惰揣鍗曟ā鏉�")
+ @PreAuthorize("hasAuthority('manager:delivery:update')")
+ public void downloadTemplate(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
+ DeliveryTemplate template = ExcelUtil.mockData(DeliveryTemplate.class);
+ List<DeliveryTemplate> list = Arrays.asList(template);
+ ExcelUtil.build(ExcelUtil.create(list, DeliveryTemplate.class, true), response);
+ }
+
+}
\ No newline at end of file
--
Gitblit v1.9.1