From 5466af6a44f22552d0040adfe63ac2a574b66c74 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期二, 05 八月 2025 14:22:42 +0800
Subject: [PATCH] 库存调单明细保存
---
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLog.java | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/ReviseLogController.java | 30 ++++++++++----
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/ReviseLogService.java | 4 ++
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java | 44 ++++++++++++++++++++++
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/ReviseLogParams.java | 26 +++++++++++++
5 files changed, 98 insertions(+), 9 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/ReviseLogController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/ReviseLogController.java
index 0f46aea..064997b 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/ReviseLogController.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/ReviseLogController.java
@@ -4,11 +4,13 @@
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.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.controller.params.ReviseLogParams;
import com.vincent.rsf.server.manager.entity.ReviseLog;
import com.vincent.rsf.server.manager.service.ReviseLogService;
import com.vincent.rsf.server.system.controller.BaseController;
@@ -25,7 +27,7 @@
@Autowired
private ReviseLogService reviseLogService;
- @PreAuthorize("hasAuthority('manager:reviseLog:list')")
+ @PreAuthorize("hasAuthority('manager:locRevise:list')")
@PostMapping("/reviseLog/page")
public R page(@RequestBody Map<String, Object> map) {
BaseParam baseParam = buildParam(map, BaseParam.class);
@@ -33,25 +35,25 @@
return R.ok().add(reviseLogService.page(pageParam, pageParam.buildWrapper(true)));
}
- @PreAuthorize("hasAuthority('manager:reviseLog:list')")
+ @PreAuthorize("hasAuthority('manager:locRevise:list')")
@PostMapping("/reviseLog/list")
public R list(@RequestBody Map<String, Object> map) {
return R.ok().add(reviseLogService.list());
}
- @PreAuthorize("hasAuthority('manager:reviseLog:list')")
+ @PreAuthorize("hasAuthority('manager:locRevise:list')")
@PostMapping({"/reviseLog/many/{ids}", "/reviseLogs/many/{ids}"})
public R many(@PathVariable Long[] ids) {
return R.ok().add(reviseLogService.listByIds(Arrays.asList(ids)));
}
- @PreAuthorize("hasAuthority('manager:reviseLog:list')")
+ @PreAuthorize("hasAuthority('manager:locRevise:list')")
@GetMapping("/reviseLog/{id}")
public R get(@PathVariable("id") Long id) {
return R.ok().add(reviseLogService.getById(id));
}
- @PreAuthorize("hasAuthority('manager:reviseLog:save')")
+ @PreAuthorize("hasAuthority('manager:locRevise:save')")
@OperationLog("Create 搴撲綅璋冩暣鍘嗗彶")
@PostMapping("/reviseLog/save")
public R save(@RequestBody ReviseLog reviseLog) {
@@ -65,7 +67,7 @@
return R.ok("Save Success").add(reviseLog);
}
- @PreAuthorize("hasAuthority('manager:reviseLog:update')")
+ @PreAuthorize("hasAuthority('manager:locRevise:update')")
@OperationLog("Update 搴撲綅璋冩暣鍘嗗彶")
@PostMapping("/reviseLog/update")
public R update(@RequestBody ReviseLog reviseLog) {
@@ -77,7 +79,17 @@
return R.ok("Update Success").add(reviseLog);
}
- @PreAuthorize("hasAuthority('manager:reviseLog:remove')")
+ @PreAuthorize("hasAuthority('manager:locRevise:update')")
+ @OperationLog("save 搴撳瓨璋冩暣鏄庣粏")
+ @PostMapping("/reviseLog/items/save")
+ public R update(@RequestBody ReviseLogParams reviseLog) {
+ if (Objects.isNull(reviseLog)) {
+ throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return R.ok().add(reviseLogService.reviseLoc(reviseLog, getLoginUserId()));
+ }
+
+ @PreAuthorize("hasAuthority('manager:locRevise:remove')")
@OperationLog("Delete 搴撲綅璋冩暣鍘嗗彶")
@PostMapping("/reviseLog/remove/{ids}")
public R remove(@PathVariable Long[] ids) {
@@ -87,7 +99,7 @@
return R.ok("Delete Success").add(ids);
}
- @PreAuthorize("hasAuthority('manager:reviseLog:list')")
+ @PreAuthorize("hasAuthority('manager:locRevise:list')")
@PostMapping("/reviseLog/query")
public R query(@RequestParam(required = false) String condition) {
List<KeyValVo> vos = new ArrayList<>();
@@ -101,7 +113,7 @@
return R.ok().add(vos);
}
- @PreAuthorize("hasAuthority('manager:reviseLog:list')")
+ @PreAuthorize("hasAuthority('manager:locRevise:list')")
@PostMapping("/reviseLog/export")
public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
ExcelUtil.build(ExcelUtil.create(reviseLogService.list(), ReviseLog.class), response);
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/ReviseLogParams.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/ReviseLogParams.java
new file mode 100644
index 0000000..39d8cf5
--- /dev/null
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/ReviseLogParams.java
@@ -0,0 +1,26 @@
+package com.vincent.rsf.server.manager.controller.params;
+
+import com.vincent.rsf.server.manager.entity.ReviseLog;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "ReviseLogParams", description = "搴撳瓨鍘嗗彶鍙傛暟")
+public class ReviseLogParams implements Serializable {
+
+ @ApiModelProperty("搴撳瓨璋冩暣鍗旾D")
+ private Long reviseId;
+
+ @ApiModelProperty("搴撳瓨璋冩暣鍗曠紪鐮�")
+ private String reviseCode;
+
+ @ApiModelProperty("搴撳瓨璋冩暣鏄庣粏")
+ private List<ReviseLog> items;
+
+}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLog.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLog.java
index c647f1d..a2e0647 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLog.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/ReviseLog.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
+
+import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -22,6 +24,7 @@
import java.util.Date;
@Data
+@Accessors(chain = true)
@TableName("man_revise_log")
public class ReviseLog implements Serializable {
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/ReviseLogService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/ReviseLogService.java
index 41baa0d..4ca6f62 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/ReviseLogService.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/ReviseLogService.java
@@ -1,8 +1,12 @@
package com.vincent.rsf.server.manager.service;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.vincent.rsf.server.manager.controller.params.ReviseLogParams;
import com.vincent.rsf.server.manager.entity.ReviseLog;
+
+import java.util.List;
public interface ReviseLogService extends IService<ReviseLog> {
+ List<ReviseLog> reviseLoc(ReviseLogParams reviseLog, Long loginUserId);
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
index c34ab3d..d8d00e7 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/ReviseLogServiceImpl.java
@@ -1,12 +1,56 @@
package com.vincent.rsf.server.manager.service.impl;
+import com.vincent.rsf.server.manager.controller.params.ReviseLogParams;
+import com.vincent.rsf.server.manager.entity.LocRevise;
+import com.vincent.rsf.server.manager.entity.ReviseLogItem;
import com.vincent.rsf.server.manager.mapper.ReviseLogMapper;
import com.vincent.rsf.server.manager.entity.ReviseLog;
+import com.vincent.rsf.server.manager.service.LocReviseService;
import com.vincent.rsf.server.manager.service.ReviseLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+
+import java.util.List;
+import java.util.Objects;
@Service("reviseLogService")
public class ReviseLogServiceImpl extends ServiceImpl<ReviseLogMapper, ReviseLog> implements ReviseLogService {
+ @Autowired
+ private LocReviseService locReviseService;
+
+ @Autowired
+ private ReviseLogService reviseLogService;
+
+ /**
+ * 搴撳瓨璋冩暣鍗曟槑缁嗘坊鍔�
+ * @param revise
+ * @param loginUserId
+ * @return
+ */
+ @Override
+ public List<ReviseLog> reviseLoc(ReviseLogParams revise, Long loginUserId) {
+ LocRevise locRevise = locReviseService.getById(revise.getReviseId());
+ if (Objects.isNull(locRevise)) {
+ throw new RuntimeException("璋冩暣鍗曟嵁涓嶅瓨鍦紒锛�");
+ }
+ List<ReviseLog> items = revise.getItems();
+ if (items.isEmpty()) {
+ throw new RuntimeException("璋冩暣鍗曟槑缁嗗弬鏁颁负绌猴紒锛�");
+ }
+ items.forEach(item -> {
+ ReviseLog reviseLog = new ReviseLog();
+ BeanUtils.copyProperties(item, reviseLog);
+ reviseLog.setAreaId(locRevise.getAreaId())
+ .setReviseId(locRevise.getId())
+ .setReviseCode(locRevise.getCode()) ;
+ if (!reviseLogService.save(reviseLog)) {
+ throw new RuntimeException("璋冩暣鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�");
+ }
+ });
+
+ return items;
+ }
}
--
Gitblit v1.9.1