From c924d59a94fc17d570610cbf2b691481dd0b2e4d Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期五, 16 一月 2026 17:50:09 +0800
Subject: [PATCH] Merge branch 'dev_New' of http://114.132.189.42:9002/r/product-inventory-management-after into dev_New
---
src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java | 124 ++++++++++++-----------------------------
1 files changed, 37 insertions(+), 87 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java b/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
index 8b172c7..2d5231d 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
@@ -2,13 +2,20 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductProcessRouteItemDto;
-import com.ruoyi.production.mapper.ProductWorkOrderMapper;
-import com.ruoyi.production.pojo.ProductProcessRouteItem;
-import com.ruoyi.production.pojo.ProductWorkOrder;
+import com.ruoyi.production.mapper.*;
+import com.ruoyi.production.pojo.*;
import com.ruoyi.production.service.ProductProcessRouteItemService;
+import com.ruoyi.production.service.ProductProcessRouteService;
import com.ruoyi.production.service.ProductWorkOrderService;
+import com.ruoyi.quality.mapper.QualityInspectMapper;
+import com.ruoyi.quality.pojo.QualityInspect;
+import com.ruoyi.sales.mapper.SalesLedgerMapper;
+import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
+import com.ruoyi.sales.pojo.SalesLedger;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -23,106 +30,49 @@
import java.util.Map;
import java.util.stream.Collectors;
-@RequestMapping("productProcessRoute")
+@RequestMapping("/productProcessRoute")
@RestController
@AllArgsConstructor
@Api(tags = "鐢熶骇宸ヨ壓璺嚎")
public class ProductProcessRouteItemController {
+
private ProductProcessRouteItemService productProcessRouteItemService;
-
- private ProductWorkOrderService productWorkOrderService;
-
- private ProductWorkOrderMapper productWorkOrderMapper;
+ private ProductProcessRouteService productProcessRouteService;
@GetMapping("list")
- @ApiOperation("鏍规嵁Id鏌ヨ宸ヨ壓椤圭洰")
+ @ApiOperation("鏍规嵁Id鏌ヨ宸ヨ壓璺嚎瀛愯〃")
public R list(Long orderId) {
return R.ok(productProcessRouteItemService.listItem(orderId));
}
+ @GetMapping("listMain")
+ @ApiOperation("鏍规嵁Id鏌ヨ宸ヨ壓璺嚎涓昏〃")
+ public R listMain(Long orderId) {
+ return R.ok(productProcessRouteService.listMain(orderId));
+ }
+
+ @PostMapping("/addRouteItem")
+ @ApiOperation("鏂板鐢熶骇璁㈠崟鐨勫伐鑹鸿矾绾胯鎯�")
+ public R addRouteItem(@RequestBody ProductProcessRouteItem productProcessRouteItem) {
+ return productProcessRouteItemService.addRouteItem(productProcessRouteItem);
+ }
+
@PostMapping("/updateRouteItem")
- @ApiOperation("鎵归噺鏂板淇敼")
- @Transactional(rollbackFor = Exception.class)
- public R addOrUpdate(@RequestBody ProductProcessRouteItemDto processRouteItemDto) {
- List<ProductProcessRouteItem> items = processRouteItemDto.getProcessRouteItem();
- if (CollectionUtils.isEmpty(items)) {
- return R.ok();
- }
-
- Map<Boolean, List<ProductProcessRouteItem>> partitioned = items.stream()
- .collect(Collectors.partitioningBy(
- item -> item.getId() != null && item.getId() > 0
- ));
-
- List<ProductProcessRouteItem> toUpdate = partitioned.get(true);
- List<ProductProcessRouteItem> toInsert = partitioned.get(false);
- // 鎵归噺澶勭悊
- boolean result = true;
- if (!toInsert.isEmpty()) {
- result = productProcessRouteItemService.saveBatch(toInsert);
- if (result) {
- // 鐢熸垚宸ュ崟鍙�
- String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd"));
- // 鏌ヨ浠婃棩鏈�澶у伐鍗曞彿
- QueryWrapper<ProductWorkOrder> queryWrapper = new QueryWrapper<>();
- queryWrapper.likeRight("work_order_no", datePrefix)
- .select("MAX(work_order_no) as maxNo");
-
- List<Map<String, Object>> maxNoList = productWorkOrderMapper.selectMaps(queryWrapper);
- String maxWorkOrderNo = null;
- if (!maxNoList.isEmpty() && maxNoList.get(0).get("maxNo") != null) {
- maxWorkOrderNo = maxNoList.get(0).get("maxNo").toString();
- }
- int startSequence = 1;
- if (maxWorkOrderNo != null && maxWorkOrderNo.startsWith(datePrefix)) {
- try {
- String seqStr = maxWorkOrderNo.substring(datePrefix.length());
- startSequence = Integer.parseInt(seqStr) + 1;
- } catch (NumberFormatException e) {
- startSequence = 1;
- }
- }
- // 鎵归噺鐢熸垚宸ュ崟
- List<ProductWorkOrder> workOrders = new ArrayList<>();
- for (int i = 0; i < toInsert.size(); i++) {
- ProductProcessRouteItem item = toInsert.get(i);
- String workOrderNoStr = String.format("%s%03d", datePrefix, startSequence + i);
- ProductWorkOrder workOrder = new ProductWorkOrder();
- workOrder.setProductProcessRouteItemId(item.getId());
- workOrder.setWorkOrderNo(workOrderNoStr);
- workOrder.setStatus(1);
- workOrders.add(workOrder);
- }
- result = productWorkOrderService.saveBatch(workOrders);
- }
- }
- if (!toUpdate.isEmpty()) {
- result = productProcessRouteItemService.updateBatchById(toUpdate) && result;
- }
- return R.ok(result);
+ @ApiOperation("淇敼鐢熶骇璁㈠崟鐨勫伐鑹鸿矾绾胯鎯�")
+ public R updateRouteItem(@RequestBody ProductProcessRouteItem productProcessRouteItem) {
+ return R.ok(productProcessRouteItemService.updateById(productProcessRouteItem));
}
- @DeleteMapping("/deleteRouteItem")
+ @DeleteMapping("/deleteRouteItem/{id}")
@ApiOperation("鍒犻櫎鐢熶骇宸ヨ壓璺嚎")
- @Transactional(rollbackFor = Exception.class)
- public R deleteRouteItem(@RequestBody ProductProcessRouteItemDto processRouteItemDto) {
- if (processRouteItemDto == null || processRouteItemDto.getId() == null) {
- return R.fail("鍙傛暟閿欒锛孖D涓嶈兘涓虹┖");
- }
-
- try {
- // 鍏堝垹闄ゅ叧鑱旂殑宸ュ崟鏁版嵁
- LambdaQueryWrapper<ProductWorkOrder> wrapper = new LambdaQueryWrapper<>();
- wrapper.eq(ProductWorkOrder::getProductProcessRouteItemId, processRouteItemDto.getId());
- productWorkOrderMapper.delete(wrapper);
-
- // 鍒犻櫎涓昏〃鏁版嵁
- productProcessRouteItemService.removeById(processRouteItemDto.getId());
- return R.ok();
- } catch (Exception e) {
- throw new RuntimeException("鍒犻櫎澶辫触锛�" + e.getMessage());
- }
+ public R deleteRouteItem(@PathVariable("id") Long id) {
+ return productProcessRouteItemService.deleteRouteItem(id);
}
+ @PostMapping ("/sortRouteItem")
+ @ApiOperation("鎺掑簭")
+ public R sortRouteItem(@RequestBody ProductProcessRouteItem productProcessRouteItem) {
+ return R.ok(productProcessRouteItemService.sortRouteItem(productProcessRouteItem));
+ }
}
--
Gitblit v1.9.3