From 20943f263c31beec3f25fcbeb09c73350248e74b Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 20 十一月 2023 16:37:05 +0800
Subject: [PATCH] # 1、图号从ERP获取 2、商品档案增加规格和图号搜索

---
 src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java |  254 +++++++++++++++++++++++++++-----------------------
 1 files changed, 136 insertions(+), 118 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index d7b1150..945997c 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -71,7 +71,7 @@
     @Transactional
     public synchronized ReturnT<String> start() {
         SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        //鐧诲綍閲戣澏r
+        //鐧诲綍閲戣澏
         ReturnT<String> start = loginAuthenticationHandler.start();
         for(int i=0;i<14;i++) {
             InFormIdParam inFormIdParam = new InFormIdParam();
@@ -89,7 +89,7 @@
                 //鐢熶骇棰嗘枡
                 case 3 : inFormIdParam.setFormId("PRD_PickMtrl");docName=22;anfme ="FActualQty"; break;
                 //鐢熶骇閫�鏂�
-                case 4 : inFormIdParam.setFormId("BD_MATERIAL");docName=24;anfme ="FQty"; break;
+                case 4 : inFormIdParam.setFormId("PRD_ReturnMtrl");docName=24;anfme ="FQty"; break;
                 //鐢熶骇琛ユ枡
                 case 5 : inFormIdParam.setFormId("PRD_FeedMtrl");docName=25;anfme ="FActualQty"; break;
                 //鐩存帴璋冩嫧鍗�
@@ -109,7 +109,7 @@
                 //閿�鍞��璐�
                 case 13 : inFormIdParam.setFormId("SAL_RETURNSTOCK");docName=33;anfme ="FRealQty"; break;
             }
-            inFormIdParam.setLimit(10);
+            inFormIdParam.setLimit(100);
             inFormIdParam.setStartRow("0");
             Date time=new Date();
             String FDocumentStatus=null;
@@ -124,10 +124,10 @@
                 Tag tag = tagService.selectById(20);
                 //鏈�鏂版椂闂�
                 time=tag.getCreateTime();
-                //鐗╂枡鐘舵��
+                //鐗╂枡鐘舵�� FUseOrgId .FNumber
                 FDocumentStatus="C";
-                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(time)+"' and FDocumentStatus='"+FDocumentStatus+"'");
-                jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus");
+                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(time)+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='201'");
+                jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus,FTuhao");
                 // FName : 鐗╂枡鍚嶇О 锛�
                 // FNumber 锛氱墿鏂欑紪鍙凤紱
                 // FCreateDate 锛氱墿鏂欏垱寤烘椂闂达紱
@@ -137,8 +137,8 @@
                 //鑾峰彇鏈�鏂版椂闂�
                 DocType docType= docTypeService.selectById(docName);
                 //鍗曟嵁鐘舵��
-                FDocumentStatus="C";
-                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(docType.getCreateTime())+"' and FDocumentStatus='"+FDocumentStatus+"'");
+                FDocumentStatus="B";
+                jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(docType.getCreateTime())+"' and FStockId.Fname='绔嬪簱'"+" and FDocumentStatus='"+FDocumentStatus+"'");
                 jsonObject.put("FieldKeys", "FBillNo,FCreateDate,FMaterialId.FNumber,FMaterialId.FName,FMaterialId.FSpecification,"+anfme+",FDocumentStatus");
                 // FBillNo :鍗曟嵁缂栧彿锛�
                 // FCreateDate 锛氬崟鎹垱寤烘椂闂达紱
@@ -152,8 +152,6 @@
             JSONObject jsonObject1 = new JSONObject();
             jsonObject1.put("data", jsonObject);
             String add = jsonObject1.toJSONString();
-            System.out.println(add);
-
             //涓婃姤
             String response = "";
             boolean success = false;
@@ -169,115 +167,135 @@
                         .build()
                         .doPost();
                 JSONArray data = JSON.parseArray(response);
-                if(i==0){
-                    for (int j = 0; j < data.size(); j++) {
-                        JSONArray jsonArray = data.getJSONArray(j);
-                        //鐢熸垚鍟嗗搧妗f
-                        //鍟嗗搧缂栧彿
-                        Mat mat = matService.selectByMatnr(jsonArray.get(1).toString());
-                        if (mat == null) {
-                            mat = new Mat();
-                            Tag tag=new Tag();
-                            mat.setMatnr(jsonArray.get(1).toString());
-                            mat.setMaktx(jsonArray.get(0).toString());
-                            mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸
-                            //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
-                            DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                            DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
-                            LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(2).toString(), formatter);
-                            String format = dateFormat.format(dateTime);
-                            Date date = sdf.parse(format);
-                            mat.setCreateTime(date);//鍟嗗搧鍒涘缓鏃堕棿
-                            mat.setUpdateTime(new Date());
-                            mat.setStatus(1);
-                            //鏈�鏂版姄鍙栧晢鍝佹椂闂�
-                            tag.setCreateTime(date);
-//                        tagService.update(tag,new EntityWrapper<Tag>().eq("id",20));
-//                        if (!matService.insert(mat)) {
-//                            throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
-//                        } else {
-//                            log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
-//                        }
+                if(data.size()>0) {
+                if (data.getJSONArray(0).get(0).toString().length()<20) {
+                        if (i == 0) {
+                            for (int j = 0; j < data.size(); j++) {
+                                JSONArray jsonArray = data.getJSONArray(j);
+                                //鐢熸垚鍟嗗搧妗f
+                                //鍟嗗搧缂栧彿
+                                Mat mat = matService.selectByMatnr(jsonArray.get(1).toString());
+                                if (mat == null) {
+                                    mat = new Mat();
+                                    Tag tag = new Tag();
+                                    mat.setMatnr(jsonArray.get(1).toString());
+                                    mat.setMaktx(jsonArray.get(0).toString());
+                                    mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸
+                                    mat.setModel(jsonArray.get(5).toString());//鍥惧彿
+                                    mat.setTagId(20L);
+                                    //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
+                                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                                    DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                                    LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(2).toString(), formatter);
+                                    String format = dateFormat.format(dateTime);
+                                    Date date = sdf.parse(format);
+                                    mat.setCreateTime(date);//鍟嗗搧鍒涘缓鏃堕棿
+                                    mat.setUpdateTime(new Date());
+                                    mat.setStatus(1);
+                                    //鏈�鏂版姄鍙栧晢鍝佹椂闂�
+                                    tag.setCreateTime(date);
+                                    tagService.update(tag, new EntityWrapper<Tag>().eq("id", 20));
+                                    if (!matService.insert(mat)) {
+                                        throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
+                                    } else {
+                                        log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr());
+                                    }
+                                }
+                            }
+                        } else {
+                            for (int j = 0; j < data.size(); j++) {
+                                JSONArray jsonArray = data.getJSONArray(j);
+                                Order order = orderService.selectByNo(jsonArray.get(0).toString());
+                                if (Cools.isEmpty(order)) {
+                                    DocType docType = docTypeService.selectById(docName);
+                                    Date now = new Date();
+                                    // 鍗曟嵁涓绘。
+                                    order = new Order(
+                                            String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
+                                            jsonArray.get(0).toString(),    // 璁㈠崟缂栧彿
+                                            DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
+                                            docType.getDocId(),    // 鍗曟嵁绫诲瀷
+                                            null,    // 椤圭洰缂栧彿
+                                            null,    //
+                                            null,    // 璋冩嫧椤圭洰缂栧彿
+                                            null,    // 鍒濆绁ㄦ嵁鍙�
+                                            null,    // 绁ㄦ嵁鍙�
+                                            null,    // 瀹㈡埛缂栧彿
+                                            null,    // 瀹㈡埛
+                                            null,    // 鑱旂郴鏂瑰紡
+                                            null,    // 鎿嶄綔浜哄憳
+                                            null,    // 鍚堣閲戦
+                                            null,    // 浼樻儬鐜�
+                                            null,    // 浼樻儬閲戦
+                                            null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
+                                            null,    // 瀹炰粯閲戦
+                                            null,    // 浠樻绫诲瀷
+                                            null,    // 涓氬姟鍛�
+                                            null,    // 缁撶畻澶╂暟
+                                            null,    // 閭垂鏀粯绫诲瀷
+                                            null,    // 閭垂
+                                            null,    // 浠樻鏃堕棿
+                                            null,    // 鍙戣揣鏃堕棿
+                                            null,    // 鐗╂祦鍚嶇О
+                                            null,    // 鐗╂祦鍗曞彿
+                                            1L,    // 璁㈠崟鐘舵��
+                                            1,    // 鐘舵��
+                                            9527L,    // 娣诲姞浜哄憳
+                                            now,    // 娣诲姞鏃堕棿
+                                            9527L,    // 淇敼浜哄憳
+                                            now,    // 淇敼鏃堕棿
+                                            null    // 澶囨敞
+                                    );
+                                    //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
+                                    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                                    DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                                    LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                                    String format = dateFormat.format(dateTime);
+                                    Date date = sdf.parse(format);
+                                    //鏈�鏂版姄鍙栨椂闂�
+                                    docType.setCreateTime(date);
+                                    docTypeService.update(docType, new EntityWrapper<DocType>().eq("doc_id", docName));
+                                    if (!orderService.insert(order)) {
+                                        throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
+                                    }
+                                }
+                                //鐗╂枡缂栫爜
+                                Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
+                                if (Cools.isEmpty(mat)) {
+                                    throw new CoolException(jsonArray.get(2).toString() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
+                                }
+                                OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString()));
+                                if (!Cools.isEmpty(orderDetl1)) {
+                                    continue;
+                                }
+                                DocType docType = docTypeService.selectById(docName);
+                                OrderDetl orderDetl = new OrderDetl();
+                                orderDetl.sync(mat);
+                                orderDetl.setBatch(null);
+                                orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString()));
+                                orderDetl.setOrderId(order.getId());
+                                orderDetl.setOrderNo(order.getOrderNo());
+                                orderDetl.setCreateBy(9527L);
+                                orderDetl.setCreateTime(new Date());
+                                orderDetl.setUpdateBy(9527L);
+                                orderDetl.setUpdateTime(new Date());
+                                orderDetl.setStatus(1);
+                                orderDetl.setQty(0.0D);
+                                DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
+                                DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
+                                LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
+                                String format = dateFormat.format(dateTime);
+                                Date date = sdf.parse(format);
+                                //鏈�鏂版姄鍙栨椂闂�
+                                docType.setCreateTime(date);
+                                if (!orderDetlService.insert(orderDetl)) {
+                                    throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
+                                }
+                            }
                         }
+                    }else {
                     }
                 }else {
-                    for(int j=0;j<data.size();j++){
-                        JSONArray jsonArray = data.getJSONArray(j);
-                        Order order = orderService.selectByNo(jsonArray.get(0).toString());
-                        if (Cools.isEmpty(order)) {
-                        DocType docType = docTypeService.selectById(docName);
-                        Date now = new Date();
-                        // 鍗曟嵁涓绘。
-                        order = new Order(
-                                String.valueOf(snowflakeIdWorker.nextId()),    // 缂栧彿[闈炵┖]
-                                jsonArray.get(0).toString(),    // 璁㈠崟缂栧彿
-                                DateUtils.convert(now),    // 鍗曟嵁鏃ユ湡
-                                docType.getDocId(),    // 鍗曟嵁绫诲瀷
-                                null,    // 椤圭洰缂栧彿
-                                null,    //
-                                null,    // 璋冩嫧椤圭洰缂栧彿
-                                null,    // 鍒濆绁ㄦ嵁鍙�
-                                null,    // 绁ㄦ嵁鍙�
-                                null,    // 瀹㈡埛缂栧彿
-                                null,    // 瀹㈡埛
-                                null,    // 鑱旂郴鏂瑰紡
-                                null,    // 鎿嶄綔浜哄憳
-                                null,    // 鍚堣閲戦
-                                null,    // 浼樻儬鐜�
-                                null,    // 浼樻儬閲戦
-                                null,    // 閿�鍞垨閲囪喘璐圭敤鍚堣
-                                null,    // 瀹炰粯閲戦
-                                null,    // 浠樻绫诲瀷
-                                null,    // 涓氬姟鍛�
-                                null,    // 缁撶畻澶╂暟
-                                null,    // 閭垂鏀粯绫诲瀷
-                                null,    // 閭垂
-                                null,    // 浠樻鏃堕棿
-                                null,    // 鍙戣揣鏃堕棿
-                                null,    // 鐗╂祦鍚嶇О
-                                null,    // 鐗╂祦鍗曞彿
-                                1L,    // 璁㈠崟鐘舵��
-                                1,    // 鐘舵��
-                                9527L,    // 娣诲姞浜哄憳
-                                now,    // 娣诲姞鏃堕棿
-                                9527L,    // 淇敼浜哄憳
-                                now,    // 淇敼鏃堕棿
-                                null    // 澶囨敞
-                        );
-                        //瀵圭編鍥芥椂闂磋繘琛岃浆鎹�
-                        DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-                        DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME;
-                        LocalDateTime dateTime = LocalDateTime.parse(jsonArray.get(1).toString(), formatter);
-                        String format = dateFormat.format(dateTime);
-                        Date date = sdf.parse(format);
-                        //鏈�鏂版姄鍙栨椂闂�
-                        docType.setCreateTime(date);
-//                        docTypeService.update(docType,new EntityWrapper<DocType>().eq("doc_id",docName));
-//                        if (!orderService.insert(order)) {
-//                            throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�");
-//                        }
-                        }
-                        //鐗╂枡缂栫爜
-                        Mat mat = matService.selectByMatnr(jsonArray.get(2).toString());
-                        if (Cools.isEmpty(mat)) {
-                            throw new CoolException(jsonArray.get(2).toString() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧");
-                        }
-                        OrderDetl orderDetl = new OrderDetl();
-                        orderDetl.sync(mat);
-                        orderDetl.setBatch(null);
-                        orderDetl.setAnfme(Double.parseDouble(jsonArray.get(5).toString()));
-                        orderDetl.setOrderId(order.getId());
-                        orderDetl.setOrderNo(order.getOrderNo());
-                        orderDetl.setCreateBy(9527L);
-                        orderDetl.setCreateTime(new Date());
-                        orderDetl.setUpdateBy(9527L);
-                        orderDetl.setUpdateTime(new Date());
-                        orderDetl.setStatus(1);
-                        orderDetl.setQty(0.0D);
-//                        if (!orderDetlService.insert(orderDetl)) {
-//                            throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�");
-//                        }
-                    }
                 }
             } catch (Exception e) {
                 log.error("fail", e);
@@ -287,8 +305,8 @@
                 try {
                     // 淇濆瓨鎺ュ彛鏃ュ織
                     apiLogService.save(
-                            "鐧诲綍閲戣澏",
-                            MesConstant.URL + MesConstant.PAKIN_URL,
+                            "杞鏁版嵁",
+                            URL + inaddress,
                             null,
                             "127.0.0.1",
                             add,

--
Gitblit v1.9.1