From 71ca7c6fb00de749b2ba2180f1cc04e35574eb19 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期一, 21 七月 2025 15:44:12 +0800
Subject: [PATCH] 1

---
 src/main/java/com/zy/asrs/controller/OpenController.java |  112 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 74 insertions(+), 38 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 2a6e41d..ab2c05a 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -1,22 +1,31 @@
 package com.zy.asrs.controller;
 
 import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.annotations.AppAuth;
 import com.core.common.BaseRes;
 import com.core.common.Cools;
 import com.core.common.R;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.param.*;
+import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
 import com.zy.asrs.service.OpenService;
 import com.zy.common.web.BaseController;
 import com.zy.system.entity.Config;
 import com.zy.system.service.ConfigService;
+import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -38,6 +47,12 @@
 
     @Autowired
     private ConfigService configService;
+
+    @Autowired
+    private LocMastService locMastService;
+
+    @Autowired
+    private LocDetlService locDetlService;
 
     @Deprecated
     @PostMapping("/grouping")
@@ -210,6 +225,65 @@
         return R.ok().add(openService.queryStock());
     }
 
+
+    /**
+     * 杩斿洖搴撳瓨鍒╃敤鐜�
+     */
+    @Synchronized
+    @PostMapping("/stock/used/v1")
+    public R getRate(@RequestHeader(required = false) String appkey,
+                     @RequestBody(required = false) OpenOrderCompleteParam param,
+                     HttpServletRequest request) {
+        auth(appkey, param, request);
+        int i = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", "O"));
+//        int i1 = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", Arrays.asList("D", "F", "P", "Q", "R", "S")));
+//        BigDecimal dividend = new BigDecimal(i1 - i);
+//        BigDecimal divisor = new BigDecimal(i1);
+//        BigDecimal quotient = dividend.divide(divisor,4, BigDecimal.ROUND_HALF_UP);
+        // 鍦ㄥ簱鐜�=(鎬绘暟-绌哄簱浣嶆暟)/鎬绘暟
+        BigDecimal quotient = BigDecimal.valueOf(1200 - i)
+                .divide(BigDecimal.valueOf(1200), 4, RoundingMode.HALF_UP);
+        return R.ok().add(quotient);
+    }
+
+
+    @Synchronized
+    @PostMapping("/stock/used/v3")
+    public R getRate2(@RequestHeader(required = false) String appkey,
+                      @RequestBody(required = false) LocMast param,
+                      HttpServletRequest request) {
+        auth(appkey, param, request);
+        if (param.getRow1() != null) {
+            int i = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", "O").eq("row1", param.getRow1()));
+            int i2 = locMastService.selectCount(new EntityWrapper<LocMast>().eq("row1", param.getRow1()));
+            // 鍦ㄥ簱鐜�=(鎬绘暟-绌哄簱浣嶆暟)/鎬绘暟
+            BigDecimal quotient = BigDecimal.valueOf(i2 - i)
+                    .divide(BigDecimal.valueOf(i2), 4, RoundingMode.HALF_UP);
+            return R.ok().add(quotient);
+        } else {
+            int i = locMastService.selectCount(new EntityWrapper<LocMast>().in("loc_sts", "O"));
+            int i2 = locMastService.selectCount(new EntityWrapper<LocMast>());
+            // 鍦ㄥ簱鐜�=(鎬绘暟-绌哄簱浣嶆暟)/鎬绘暟
+            BigDecimal quotient = BigDecimal.valueOf(i2 - i)
+                    .divide(BigDecimal.valueOf(i2), 4, RoundingMode.HALF_UP);
+            return R.ok().add(quotient);
+        }
+    }
+
+
+    @PostMapping(value = "/loc/info")
+    @Synchronized
+    public R list(@RequestHeader(required = false) String appkey, @RequestBody(required = false) LocMast param) {
+        auth(appkey, param, request);
+        LocMast locMast = locMastService.selectById(param.getLocNo());
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+        HashMap<String, Object> map = new HashMap<>();
+        map.put("status", locMast.getLocSts());
+        map.put("data", locDetls);
+        return R.ok(map);
+    }
+
+
     private void auth(String appkey, Object obj, HttpServletRequest request) {
         log.info("{}鎺ュ彛琚闂紱appkey:{}锛涜姹傛暟鎹細{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
         request.setAttribute("cache", obj);
@@ -224,43 +298,5 @@
         }
     }
 
-//    public static void main(String[] args) {
-//        // 1
-//        System.out.println("======================================");
-//        OpenOrderPakinParam param = new OpenOrderPakinParam();
-//        param.setOrderNo(String.valueOf(new SnowflakeIdWorker().nextId()));
-//        param.setOrderType("鎵撳寘涓婄嚎鍗�");
-//        param.setOrderTime(DateUtils.convert(new Date()));
-//        List<DetlDto> orderDetails = new ArrayList<>();
-//        param.setOrderDetails(orderDetails);
-//        for (int i = 0; i < 3; i++) {
-//            DetlDto detlDto = new DetlDto(locDto);
-//            switch (i) {
-//                case 0:
-//                    detlDto.setMatnr("MDH020030530");
-//                    detlDto.setBatch("500");
-//                    detlDto.setAnfme(18.0);
-//                    break;
-//                case 1:
-//                    detlDto.setMatnr("MDH020016416");
-//                    detlDto.setBatch("500");
-//                    detlDto.setAnfme(32.0);
-//                    break;
-//                case 2:
-//                    detlDto.setMatnr("LSH90152025");
-//                    detlDto.setAnfme(50.0);
-//                    break;
-//                default:
-//                    break;
-//            }
-//            orderDetails.add(detlDto);
-//        }
-//        System.out.println(JSON.toJSONString(param));
-//        // 2
-//        System.out.println("======================================");
-//        OpenOrderCompleteParam param1 = new OpenOrderCompleteParam();
-//        param1.setOrderNo("963001846497017856");
-//        System.out.println(JSON.toJSONString(param1));
-//    }
 
 }

--
Gitblit v1.9.1