From add402ec68d150cd8b13c231ce991cf49889259c Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 21 十月 2025 14:03:53 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/devlop_whxrwms' into devlop_whxrwms
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/DeliveryController.java | 87 +++++++++++++++++++++++++++++++++++++++++--
1 files changed, 83 insertions(+), 4 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 261413d..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,25 +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.*;
@@ -29,6 +41,8 @@
@Autowired
private DeliveryService deliveryService;
+ @Autowired
+ private DeliveryItemService deliveryItemService;
@PreAuthorize("hasAuthority('manager:delivery:list')")
@PostMapping("/delivery/page")
@@ -98,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')")
@@ -121,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