From 3f21b9181b250de317761128771fa551e355a609 Mon Sep 17 00:00:00 2001
From: zhang <zc857179121@qq.com>
Date: 星期日, 25 五月 2025 18:11:22 +0800
Subject: [PATCH] 13

---
 src/main/java/com/zy/asrs/controller/MatController.java |  125 ++++++++++++++++++++++++++++++++---------
 1 files changed, 98 insertions(+), 27 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index a9932c6..257417f 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -15,6 +15,11 @@
 import com.zy.asrs.entity.OrderDetl;
 import com.zy.asrs.entity.result.KeyValueVo;
 import com.zy.asrs.service.MatService;
+import com.zy.asrs.service.MobileService;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.third.CodeDataParam;
+import com.zy.asrs.third.CodeParam;
+import com.zy.asrs.third.TokenUtils;
 import com.zy.asrs.utils.MatExcelListener;
 import com.zy.common.CodeRes;
 import com.zy.common.config.AdminInterceptor;
@@ -23,6 +28,7 @@
 import com.zy.common.utils.QrCode;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -39,17 +45,27 @@
 
     @Autowired
     private MatService matService;
+
+    @Autowired
+    private OrderDetlService orderDetlService;
+
+    @Autowired
+    private MobileService mobileService;
+
     @Autowired
     private SnowflakeIdWorker snowflakeIdWorker;
 
+    @Value("mes.url")
+    private String url;
+
     @RequestMapping(value = "/mat/auto/matnr/auth")
-    public R autoMatnr(){
+    public R autoMatnr() {
         return R.ok().add("YJ" + DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss).substring(0, 16));
     }
 
     @RequestMapping(value = "/mat/list/pda/auth")
     @ManagerAuth
-    public R pdaList(@RequestParam(required = true)Long tagId){
+    public R pdaList(@RequestParam(required = true) Long tagId) {
         EntityWrapper<Mat> wrapper = new EntityWrapper<>();
         wrapper.eq("tag_id", tagId);
         wrapper.orderBy("create_time", false);
@@ -59,7 +75,7 @@
 
     @RequestMapping(value = "/mat/search/pda/auth")
     @ManagerAuth
-    public R pdaSearch(@RequestParam(required = false)String condition){
+    public R pdaSearch(@RequestParam(required = false) String condition) {
         EntityWrapper<Mat> wrapper = new EntityWrapper<>();
         if (!Cools.isEmpty(condition)) {
 //            wrapper.like("matnr", condition).or().like("maktx", condition);
@@ -82,29 +98,52 @@
         return R.ok(matService.selectOne(new EntityWrapper<Mat>().eq("matnr", matnr)));
     }
 
+    @RequestMapping(value = "/mat/tiaoma/auth")
+    @ManagerAuth
+    public R findByTiaoMa(@RequestParam("matnr") String matnr, @RequestParam(required = false, value = "orderNo") String orderNo) {
+        List<CodeDataParam> data = mobileService.getData(TokenUtils.getToken(url), new CodeParam(Arrays.asList(matnr)));
+        if (data == null || data.isEmpty()) {
+            return R.error("鏉$爜涓嶅瓨鍦�");
+        }
+        CodeDataParam codeDataParam = data.get(0);
+        if (!Cools.isEmpty(orderNo)) {
+            List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo).eq("matnr", codeDataParam.getProductionCode()));
+            if (orderDetls.isEmpty()) {
+                return R.error("璇ュ晢鍝佷笉瀛樺湪鍦ㄥ崟鎹腑");
+            }
+        }
+        Mat mat = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", codeDataParam.getProductionCode()));
+        mat.setMatnr(codeDataParam.getProductionCode());
+        mat.setSafeQty(codeDataParam.getQty());
+        mat.setUnit(codeDataParam.getBatchNum());
+        mat.setMemo(matnr);
+        return R.ok(mat);
+    }
+
     @RequestMapping(value = "/mat/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){
+    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) {
         Object tagId = param.get("tag_id");
         if (Cools.isEmpty(tagId)) {
             tagId = getOriginTag().getId();
         }
-        return R.ok(matService.getPage(new Page<>(curr, limit)
+        return R.ok(matService.getPage2(new Page<>(curr, limit)
                 , String.valueOf(tagId)
                 , param.get("matnr")
-                , param.get("maktx"))
+                , param.get("maktx")
+                , param.get("specs"))
         );
 
     }
 
-    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]));
@@ -132,10 +171,10 @@
         return R.ok();
     }
 
-	@RequestMapping(value = "/mat/update/auth")
-	@ManagerAuth
-    public R update(Mat mat){
-        if (Cools.isEmpty(mat) || null==mat.getId()){
+    @RequestMapping(value = "/mat/update/auth")
+    @ManagerAuth
+    public R update(Mat mat) {
+        if (Cools.isEmpty(mat) || null == mat.getId()) {
             return R.error();
         }
         mat.setUpdateBy(getUserId());
@@ -146,12 +185,12 @@
 
     @RequestMapping(value = "/mat/delete/auth")
     @ManagerAuth
-    public R delete(@RequestParam String param){
+    public R delete(@RequestParam String param) {
         List<Mat> list = JSONArray.parseArray(param, Mat.class);
-        if (Cools.isEmpty(list)){
+        if (Cools.isEmpty(list)) {
             return R.error();
         }
-        for (Mat entity : list){
+        for (Mat entity : list) {
             if (!matService.delete(new EntityWrapper<>(entity))) {
                 throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�");
             }
@@ -159,9 +198,31 @@
         return R.ok();
     }
 
+    @RequestMapping(value = "/mat/turn/over/list/auth")
+    @ManagerAuth
+    public R turnOverList(@RequestParam(defaultValue = "1") Integer curr,
+                          @RequestParam(defaultValue = "10") Integer limit,
+                          @RequestParam Map<String, Object> param) {
+        return R.ok(matService.getMatTurnPage(toPage(curr, limit, param, Mat.class)));
+    }
+
+    @RequestMapping("/mat/turn/over/take/site")
+    @ManagerAuth()
+    public R availableTakeSite(@RequestParam(required = false) String matnr) {
+        List<Map<String, Object>> result = new ArrayList<>();
+        List<Mat> mats = matService.selectByMatnrLink(matnr);
+        for (Mat mat : mats) {
+            Map<String, Object> map = new HashMap<>();
+            map.put("siteId", mat.getId());
+            map.put("desc", mat.getMatnr());
+            result.add(map);
+        }
+        return R.ok().add(result);
+    }
+
     @RequestMapping(value = "/mat/export/auth")
     @ManagerAuth
-    public R export(@RequestBody JSONObject param){
+    public R export(@RequestBody JSONObject param) {
         EntityWrapper<Mat> wrapper = new EntityWrapper<>();
         List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
         Map<String, Object> map = excludeTrash(param.getJSONObject("mat"));
@@ -177,7 +238,7 @@
         wrapper.like("matnr", condition).or().like("maktx", condition);
         Page<Mat> page = matService.selectPage(new Page<>(0, 10), wrapper);
         List<Map<String, Object>> result = new ArrayList<>();
-        for (Mat mat : page.getRecords()){
+        for (Mat mat : page.getRecords()) {
             Map<String, Object> map = new HashMap<>();
             map.put("id", mat.getId());
             map.put("value", mat.getMatnr() + "(" + mat.getMaktx() + ")");
@@ -190,7 +251,7 @@
     @ManagerAuth
     public R query(@RequestBody JSONObject param) {
         Wrapper<Mat> wrapper = new EntityWrapper<Mat>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
-        if (null != matService.selectOne(wrapper)){
+        if (null != matService.selectOne(wrapper)) {
             return R.parse(BaseRes.REPEAT).add(getComment(Mat.class, String.valueOf(param.get("key"))));
         }
         return R.ok();
@@ -217,7 +278,7 @@
             , @RequestParam String param
             , HttpServletResponse response) throws Exception {
         AdminInterceptor.cors(response);
-        if (Cools.isEmpty(param)){
+        if (Cools.isEmpty(param)) {
             return R.parse(BaseRes.EMPTY);
         }
         BufferedImage img;
@@ -238,11 +299,11 @@
     @RequestMapping(value = "/mat/print/auth")
     @ManagerAuth(memo = "鍟嗗搧缂栫爜鎵撳嵃")
     public R matCodePrint(@RequestParam(value = "param[]") String[] param) {
-        if(Cools.isEmpty(param)) {
+        if (Cools.isEmpty(param)) {
             return R.parse(CodeRes.EMPTY);
         }
         List<MatPrint> res = new ArrayList<>();
-        for (String matnr : param){
+        for (String matnr : param) {
             Mat mat = matService.selectByMatnr(matnr);
             // 鎵撳嵃鏁版嵁娉ㄥ叆
             MatPrint print = new MatPrint();
@@ -283,7 +344,7 @@
     public R matExcelImport(MultipartFile file) throws IOException {
         MatExcelListener listener = new MatExcelListener(getUserId());
         EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead();
-        return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉″晢鍝佹暟鎹�");
+        return R.ok("鎴愬姛鍚屾" + listener.getTotal() + "鏉″晢鍝佹暟鎹�");
     }
 
     /*************************************** xm-select ***********************************************/
@@ -306,5 +367,15 @@
         return R.ok().add(valueVos);
     }
 
+    @RequestMapping(value = "/mat/list/pda/page/auth")
+    @ManagerAuth
+    public R pdaPageList(@RequestParam(required = true) Long tagId,
+                         @RequestParam(defaultValue = "1") Integer curr,
+                         @RequestParam(defaultValue = "10") Integer limit) {
+        EntityWrapper<Mat> wrapper = new EntityWrapper<>();
+//        wrapper.eq("tag_id", tagId);
+        wrapper.orderBy("create_time", false);
+        return R.ok().add(matService.selectPage(new Page<>(curr, limit), wrapper));
+    }
 
 }

--
Gitblit v1.9.1