From da13bea76b64183790ab17775f04d43d8c7f6607 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 26 十二月 2025 14:36:44 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/HalfBarcodeController.java |   84 +++++++++++++++++++++++++++++++++--------
 1 files changed, 67 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/HalfBarcodeController.java b/src/main/java/com/zy/asrs/controller/HalfBarcodeController.java
index 2733663..7ce864f 100644
--- a/src/main/java/com/zy/asrs/controller/HalfBarcodeController.java
+++ b/src/main/java/com/zy/asrs/controller/HalfBarcodeController.java
@@ -1,5 +1,7 @@
 package com.zy.asrs.controller;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.annotations.ManagerAuth;
@@ -8,52 +10,100 @@
 import com.core.common.R;
 import com.zy.asrs.entity.HalfBarcode;
 import com.zy.asrs.entity.MatBarcode;
+import com.zy.asrs.mapper.MatBarcodeMapper;
 import com.zy.asrs.service.HalfBarcodeService;
 import com.zy.asrs.service.MatBarcodeService;
 import com.zy.common.web.BaseController;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping
 public class HalfBarcodeController extends BaseController {
     @Autowired
     private HalfBarcodeService halfBarcodeService;
+    @Autowired
+    private MatBarcodeService matBarcodeService;
+
     /*
      * 鐗╂枡鎵樼洏缁戝畾鍒嗛〉鏌ヨ
      * */
+//    @RequestMapping(value = "/halfBarcode/list/auth")
+//    @ManagerAuth
+//    public R list(@RequestParam(defaultValue = "1")Integer curr,
+//                  @RequestParam(defaultValue = "10")Integer limit,
+//                  @RequestParam(required = false)String orderByField,
+//                  @RequestParam(required = false)String orderByType,
+//                  @RequestParam Map<String, Object> param) {
+//        excludeTrash(param);
+//        EntityWrapper<HalfBarcode> wrapper = new EntityWrapper<>();
+//        convert(param, wrapper);
+//        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
+//        else {
+//            wrapper.orderBy("modi_time", false);
+//        }
+//        return R.ok(halfBarcodeService.selectPage(new Page<>(curr, limit), wrapper));
+//    }
+
     @RequestMapping(value = "/halfBarcode/list/auth")
-    @ManagerAuth
-    public R list(@RequestParam(defaultValue = "1")Integer curr,
-                  @RequestParam(defaultValue = "10")Integer limit,
-                  @RequestParam(required = false)String orderByField,
-                  @RequestParam(required = false)String orderByType,
-                  @RequestParam Map<String, Object> param) {
+    // @ManagerAuth
+    public R list2(@RequestParam(defaultValue = "1") Integer curr,
+            @RequestParam(defaultValue = "10") Integer limit,
+            @RequestParam(required = false) String orderByField,
+            @RequestParam(required = false) String orderByType,
+            @RequestParam Map<String, Object> param) {
         excludeTrash(param);
-        EntityWrapper<HalfBarcode> wrapper = new EntityWrapper<>();
-        convert(param, wrapper);
-        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
-        else {
-            wrapper.orderBy("modi_time", false);
+        HalfBarcode halfBarcode = JSONObject.parseObject(JSON.toJSONString(param),HalfBarcode.class);
+        Page<HalfBarcode> page1 = new Page<>(curr, limit);
+
+        Page<HalfBarcode> page = halfBarcodeService.getPage(halfBarcode, page1);
+        for (HalfBarcode halfBarcode1 : page.getRecords()) {
+            List<MatBarcode> matBarcodes = matBarcodeService
+                    .selectList(new EntityWrapper<MatBarcode>().eq("zpallet", halfBarcode1.getZpallet()));
+            // 璁$畻鎵�鏈塻pecs瀛楁涓�*鍚庨潰鐨勬暟瀛椾箣鍜�
+            int specsSum = 0;
+            for (MatBarcode matBarcode : matBarcodes) {
+                String specs = matBarcode.getSpecs();
+                if (specs != null && specs.contains("*")) {
+                    try {
+                        String afterStar = specs.substring(specs.indexOf("*") + 1);
+                        specsSum += Integer.parseInt(afterStar.trim());
+                    } catch (NumberFormatException e) {
+                        // 蹇界暐鏃犳硶瑙f瀽鐨剆pecs
+                    }
+                }
+            }
+            int thickness = 0;
+            if (Integer.parseInt(halfBarcode1.getZpallet().substring(0,1))==6){
+                thickness = 2650;
+            }else if(Integer.parseInt(halfBarcode1.getZpallet().substring(0,1))==7){
+                thickness = 1750;
+            }else if(Integer.parseInt(halfBarcode1.getZpallet().substring(0,1))==8){
+                thickness = 800;
+            }
+            halfBarcode1.setPrice(thickness - specsSum);
         }
-        return R.ok(halfBarcodeService.selectPage(new Page<>(curr, limit), wrapper));
+        return R.ok(page);
     }
 
-    private void convert(Map<String, Object> map, EntityWrapper wrapper){
-        for (Map.Entry<String, Object> entry : map.entrySet()){
+    private void convert(Map<String, Object> map, EntityWrapper wrapper) {
+        for (Map.Entry<String, Object> entry : map.entrySet()) {
             String val = String.valueOf(entry.getValue());
-            if (val.contains(RANGE_TIME_LINK)){
+            if (val.contains(RANGE_TIME_LINK)) {
                 String[] dates = val.split(RANGE_TIME_LINK);
                 wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                 wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
             } else {
-                if (!entry.getKey().equals("price")){
+                if (!entry.getKey().equals("price")) {
                     wrapper.like(entry.getKey(), val);
-                }else {
+                } else {
                     wrapper.ge(entry.getKey(), val);
                 }
             }

--
Gitblit v1.9.1