From 57ae0c8f7a909327ed6058c0e78e8f808f91be4a Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期四, 01 二月 2024 15:56:20 +0800
Subject: [PATCH] 1.导入自动解析主体、车间以及产线 2.增加搜索字段
---
 src/main/java/com/zy/asrs/controller/PlaController.java    |   23 ++++++-
 src/main/java/com/zy/asrs/utils/PlaExcelListener.java      |   60 +++++++++++++++++++
 src/main/webapp/views/pla/plaDetl.html                     |   24 +++++--
 src/main/webapp/static/js/pla/plaDetl.js                   |    9 ++
 src/main/java/com/zy/asrs/controller/MobileController.java |   16 +++--
 src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java |    6 ++
 src/main/java/com/zy/asrs/entity/Pla.java                  |    9 ++
 src/main/java/com/zy/asrs/service/MatService.java          |    2 
 8 files changed, 128 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 5075cdc..083be11 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -1,6 +1,5 @@
 package com.zy.asrs.controller;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -501,12 +500,15 @@
     }
 
     public static void main(String[] args) {
-        String aa = "[{\"batch\":\"2023090304\",\"packageNo\":\"8\"},{\"batch\":\"2023090304\",\"packageNo\":\"8\"}]";
-        JSONArray jsonArray = JSON.parseArray(aa);
-        Object o = jsonArray.get(0);
-        System.out.println(o.toString());
-        JSONObject jsonObject = (JSONObject)o;
-        System.out.println(jsonObject);
+//        String aa = "[{\"batch\":\"2023090304\",\"packageNo\":\"8\"},{\"batch\":\"2023090304\",\"packageNo\":\"8\"}]";
+//        JSONArray jsonArray = JSON.parseArray(aa);
+//        Object o = jsonArray.get(0);
+//        System.out.println(o.toString());
+//        JSONObject jsonObject = (JSONObject)o;
+//        System.out.println(jsonObject);
+
+        String s = "2024010502";
+        System.out.println(s.substring(8,10));
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/controller/PlaController.java b/src/main/java/com/zy/asrs/controller/PlaController.java
index 7e0f478..3f43b43 100644
--- a/src/main/java/com/zy/asrs/controller/PlaController.java
+++ b/src/main/java/com/zy/asrs/controller/PlaController.java
@@ -27,10 +27,7 @@
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 public class PlaController extends BaseController {
@@ -47,6 +44,8 @@
     private OrderDetlService orderDetlService;
     @Autowired
     private PlaLogService plaLogService;
+    @Autowired
+    private MatService matService;
 
     @RequestMapping(value = "/pla/list/auth")
     @ManagerAuth
@@ -248,6 +247,22 @@
         return R.ok("瑙i櫎鍐荤粨鎴愬姛");
     }
 
+    @RequestMapping(value = "/matMaktxQuery/auth")
+    @ManagerAuth
+    public R queryMat(String condition) {
+        EntityWrapper<Mat> wrapper = new EntityWrapper<>();
+        wrapper.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()){
+            Map<String, Object> map = new HashMap<>();
+            map.put("id", mat.getMaktx());
+            map.put("value", mat.getMaktx());
+            result.add(map);
+        }
+        return R.ok(result);
+    }
+
     /**
      * excel瀵煎叆妯℃澘涓嬭浇
      */
diff --git a/src/main/java/com/zy/asrs/entity/Pla.java b/src/main/java/com/zy/asrs/entity/Pla.java
index e3029ec..45cd619 100644
--- a/src/main/java/com/zy/asrs/entity/Pla.java
+++ b/src/main/java/com/zy/asrs/entity/Pla.java
@@ -270,11 +270,18 @@
     @TableField("stock_freeze_date")
     private Date stockFreezeDate;
 
+    public String getCreateTime$() {
+        if (Cools.isEmpty(this.createTime)){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd").format(this.createTime);
+    }
+
     public String getPakinTime$() {
         if (Cools.isEmpty(this.pakinTime)){
             return "";
         }
-        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.pakinTime);
+        return new SimpleDateFormat("yyyy-MM-dd HH").format(this.pakinTime);
     }
 
     public String getStockFreezeDate$() {
diff --git a/src/main/java/com/zy/asrs/service/MatService.java b/src/main/java/com/zy/asrs/service/MatService.java
index 4a2f815..190802b 100644
--- a/src/main/java/com/zy/asrs/service/MatService.java
+++ b/src/main/java/com/zy/asrs/service/MatService.java
@@ -10,5 +10,7 @@
 
     Mat selectByMatnr(String matnr);
 
+    Mat selectByMaktx(String maktx);
+
     Page<Mat> selectAllPage(Page<Mat> matPage);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
index 0b5ed94..1e75b08 100644
--- a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.zy.asrs.entity.ManLocDetl;
@@ -26,6 +27,11 @@
     }
 
     @Override
+    public Mat selectByMaktx(String maktx) {
+        return this.selectOne(new EntityWrapper<Mat>().eq("maktx",maktx));
+    }
+
+    @Override
     public Page<Mat> selectAllPage(Page<Mat> matPage) {
         Map<String, Object> condition = matPage.getCondition();
         List<Mat> manLocDetls = baseMapper.selectAllPage(condition);
diff --git a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
index fae28c7..5e2a7dd 100644
--- a/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/PlaExcelListener.java
@@ -5,9 +5,11 @@
 import com.core.common.Cools;
 import com.core.common.SpringUtils;
 import com.core.exception.CoolException;
+import com.zy.asrs.entity.Mat;
 import com.zy.asrs.entity.Node;
 import com.zy.asrs.entity.Pla;
 import com.zy.asrs.entity.param.GlobleParameter;
+import com.zy.asrs.service.MatService;
 import com.zy.asrs.service.NodeService;
 import com.zy.asrs.service.PlaService;
 import com.zy.common.entity.MatExcel;
@@ -25,6 +27,9 @@
  */
 @Slf4j
 public class PlaExcelListener extends AnalysisEventListener<PlaExcel> {
+
+    private static final String OWNER_HZ = "娴锋鐢熺墿";
+    private static final String OWNER_HNE = "娴疯灏�";
 
     private int total = 0;
     private Long userId;
@@ -57,6 +62,7 @@
     public void invoke(PlaExcel excel, AnalysisContext ctx) {
         PlaService plaService = SpringUtils.getBean(PlaService.class);
         NodeService nodeService = SpringUtils.getBean(NodeService.class);
+        MatService matService = SpringUtils.getBean(MatService.class);
         Date now = new Date();
 
         // 鍟嗗搧
@@ -71,10 +77,20 @@
             pla.setModifyTime(new Date());
             pla.setStatus(GlobleParameter.PLA_STATUS_00);
             pla.setStockFreeze(1);
+            pla.setWeightAnfme(pla.getWeight());
+            Mat mat = matService.selectByMaktx(pla.getBrand());
+            if(Cools.isEmpty(mat)){
+                throw new CoolException("鏃犳硶鎵惧埌瀵瑰簲鐨勭墝鍙蜂俊鎭紝鐗屽彿=" + pla.getBrand());
+            }
+            pla.setMatnr(mat.getMatnr());
+            pla.setType(getType(mat.getMatnr()));
+            //杞﹂棿銆佷骇绾裤�佷富浣�
+            setPla(pla);
             if(!Cools.isEmpty(pla.getLocNo())){
                 Node node = nodeService.selectByUuid(pla.getLocNo());
                 if(Cools.isEmpty(node)){
-                    throw new CoolException("鏈兘鎵惧埌鐩稿簲鐨勫簱浣嶄俊鎭�");
+                    throw new CoolException("鏈兘鎵惧埌鐩稿簲鐨勫簱浣嶄俊鎭紝搴撲綅缂栧彿=" +pla.getLocNo());
+                    //log.info("鏈兘鎵惧埌鐩稿簲鐨勫簱浣嶄俊鎭紝搴撲綅缂栧彿={}",pla.getLocNo());
                 }
                 pla.setStash(node.getParentName());
                 pla.setLocNo(node.getUuid());
@@ -97,6 +113,48 @@
         }
     }
 
+    private String getType(String matnr){
+        String type = matnr.substring(0,3);
+        if(Cools.eq(type,"301")){
+            return "绾爲鑴�";
+        }
+        if (Cools.eq(type,"302")){
+            return "鏀规�ф爲鑴�";
+        }
+        if (Cools.eq(type,"303")){
+            return "鍓骇鐗�";
+        }
+        if (Cools.eq(type,"304")){
+            return "濮旀墭鍔犲伐浜у搧";
+        }
+        if (Cools.eq(type,"305")){
+            return "涓欎氦閰�";
+        }
+
+        return "";
+    }
+
+    private void setPla(Pla pla){
+        String batch = pla.getBatch();
+        String line = batch.substring(8,10);
+
+        pla.setLine(line);
+        if("绾爲鑴�".equals(pla.getType())){
+            if("01".equals(line) || "02".equals(line)){
+                pla.setOwner(OWNER_HZ);
+                pla.setWorkshop("涓�杞﹂棿");
+            }else {
+                pla.setOwner(OWNER_HNE);
+                pla.setWorkshop("涓夎溅闂�");
+            }
+        }else if ("鏀规�ф爲鑴�".equals(pla.getType())){
+            if ("01".equals(line) || "02".equals(line) || "03".equals(line) || "04".equals(line)){
+                pla.setOwner(OWNER_HNE);
+                pla.setWorkshop("浜岃溅闂�");
+            }
+        }
+    }
+
     /**
      * 鎵�鏈夋暟鎹В鏋愬畬鎴愪簡璋冪敤
      * 閫傚悎浜嬪姟
diff --git a/src/main/webapp/static/js/pla/plaDetl.js b/src/main/webapp/static/js/pla/plaDetl.js
index 615d4c4..e7556c8 100644
--- a/src/main/webapp/static/js/pla/plaDetl.js
+++ b/src/main/webapp/static/js/pla/plaDetl.js
@@ -57,6 +57,7 @@
         ,{field: 'stockFreezeBy', align: 'center',title: '鎿嶄綔浜哄憳',hide:true}
         ,{field: 'stockFreezeDate$', align: 'center',title: '鎿嶄綔鏃ユ湡',hide:true}
         ,{align: 'center', title: '娴佽浆鏄庣粏', toolbar: '#tbLook'}
+        ,{field: 'createTime$', title: '鍒涘缓鏃堕棿', align: 'center' , sort:true}
         // ,{field: 'orderNo', align: 'center',title: '鍗曞彿', hide:true}
         // ,{field: 'pakoutTime', align: 'center',title: '鍑哄簱鏃堕棿', hide:true}
         // ,{field: 'orderWeight', align: 'center',title: '閲嶉噺', hide:true}
@@ -89,7 +90,7 @@
     base: baseUrl + "/static/layui/lay/modules/"
 }).extend({
     dropdown: 'dropdown/dropdown',
-}).use(['table','laydate', 'form', 'admin', 'dropdown'], function() {
+}).use(['table','laydate', 'form', 'admin', 'dropdown', 'laydate'], function() {
     var table = layui.table;
     var $ = layui.jquery;
     var layer = layui.layer;
@@ -162,6 +163,12 @@
         $('.layui-table-header .layui-table').css('transform', left); //璁剧疆琛ㄦ牸header鐨勫唴瀹瑰弽鍚�(-)绉诲姩
     });
 
+    layDate.render({
+        elem: '.layui-laydate-range'
+        ,type: 'datetime'
+        ,range: true
+    });
+
     table.on('tool(plaDetl)', function (obj) {
         var data = obj.data;
         var layEvent = obj.event;
diff --git a/src/main/webapp/views/pla/plaDetl.html b/src/main/webapp/views/pla/plaDetl.html
index 3080fc7..a77ee7c 100644
--- a/src/main/webapp/views/pla/plaDetl.html
+++ b/src/main/webapp/views/pla/plaDetl.html
@@ -147,8 +147,19 @@
             </div>
         </div>
         <div class="layui-inline">
+            <div class="layui-input-inline cool-auto-complete">
+                <input id="maktx" class="layui-input" type="text" style="display: none">
+                <input id="maktxV" name="brand" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" placeholder="鐗屽彿" type="text" onfocus=this.blur()>
+                <div class="cool-auto-complete-window">
+                    <input class="cool-auto-complete-window-input" data-key="matMaktxQueryByMaktx" onkeyup="autoLoad(this.getAttribute('data-key'))">
+                    <select class="cool-auto-complete-window-select" data-key="matMaktxQueryByMaktxSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+                    </select>
+                </div>
+            </div>
+        </div>
+        <div class="layui-inline">
             <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="brand" placeholder="鐗屽彿" autocomplete="off">
+                <input class="layui-input" type="text" name="type" placeholder="鐗╄祫绫诲埆" autocomplete="off">
             </div>
         </div>
         <div class="layui-inline">
@@ -164,12 +175,11 @@
                 </select>
             </div>
         </div>
-
-        <!--    <div class="layui-inline">-->
-        <!--        <div class="layui-input-inline">-->
-        <!--            <input class="layui-input" type="text" name="row" placeholder="鎺掓暟" autocomplete="off">-->
-        <!--        </div>-->
-        <!--    </div>-->
+        <div class="layui-inline" style="width: 300px">
+            <div class="layui-input-inline">
+                <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+            </div>
+        </div>
         <div class="layui-inline">
             <div class="layui-input-inline">
                 <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
--
Gitblit v1.9.1