From d85016e8ca551b6672e123d3a56ac4c12554fb45 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期五, 30 八月 2024 14:44:20 +0800 Subject: [PATCH] 优化轮询获取出库单 --- src/main/java/com/zy/asrs/controller/MatController.java | 136 +++++++++++++++++++++++++++++++------------- 1 files changed, 95 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java index ede2e37..0eb8600 100644 --- a/src/main/java/com/zy/asrs/controller/MatController.java +++ b/src/main/java/com/zy/asrs/controller/MatController.java @@ -41,6 +41,7 @@ import java.io.IOException; import java.net.URLEncoder; import java.text.SimpleDateFormat; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; @@ -124,7 +125,9 @@ return R.ok(matService.getPage(new Page<>(curr, limit) , String.valueOf(tagId) , param.get("matnr") - , param.get("maktx")) + , param.get("maktx") + , param.get("specs") + , param.get("model")) ); } @@ -162,27 +165,38 @@ @RequestMapping(value = "/mat/KingDeeadd/auth") @ManagerAuth - public R KingDeeadd(Mat mat) { - if (null != matService.selectByMatnr(mat.getMatnr())) { - return R.error("缂栧彿宸插瓨鍦�"); - } + public R KingDeeadd() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //鐧诲綍閲戣澏 ReturnT<String> start = loginAuthenticationHandler.start(); InFormIdParam inFormIdParam = new InFormIdParam(); inFormIdParam.setFormId("BD_MATERIAL"); - inFormIdParam.setLimit(100); + inFormIdParam.setLimit(10000000); inFormIdParam.setStartRow("0"); String FDocumentStatus = "C"; - String FNumber=mat.getMatnr(); + + // 鑾峰彇褰撳墠鏃ユ湡 + LocalDate currentDate = LocalDate.now(); + // 鑾峰彇鍓嶄竴涓湀鐨勫悓涓�澶� + LocalDate previousMonthDate = currentDate.minusMonths(1); + + // 鏍煎紡鍖栨棩鏈熶负 "yyyyMMdd" 鏍煎紡 + DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String formattedDate2 = previousMonthDate.format(formatter1); + //鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴 JSONObject jsonObject = new JSONObject(); jsonObject.put("FormId", inFormIdParam.getFormId()); jsonObject.put("Limit", inFormIdParam.getLimit()); jsonObject.put("StartRow", inFormIdParam.getStartRow()); - jsonObject.put("FilterString", "FDocumentStatus='" + FDocumentStatus +"' and FNumber='"+FNumber+"' and FUseOrgId .FNumber='201'"); - jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus"); + jsonObject.put("FilterString", "FCreateDate>'" + formattedDate2 + "' and FDocumentStatus='" + FDocumentStatus + "' and FUseOrgId .FNumber='201'"); + jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus,FTuhao"); + // FName : 鐗╂枡鍚嶇О 锛� + // FNumber 锛氱墿鏂欑紪鍙凤紱 + // FCreateDate 锛氱墿鏂欏垱寤烘椂闂达紱 + // FSpecification 锛氱墿鏂欒鏍硷紱 + // FDocumentStatus 锛氱墿鏂欑姸鎬� JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("data", jsonObject); String add = jsonObject1.toJSONString(); @@ -201,40 +215,80 @@ .build() .doPost(); JSONArray data = JSON.parseArray(response); - if (data.getJSONArray(0).get(0).toString().length()<20) { - success = true; - JSONArray jsonArray = data.getJSONArray(0); - //鐢熸垚鍟嗗搧妗f - //鍟嗗搧缂栧彿 - 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.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()); + int i = 0; + 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 { - throw new CoolException("娌℃湁鎵惧埌鎸囧畾鐗╂枡妗f锛岃鑱旂郴绠$悊鍛�"); - } + +// if (data.getJSONArray(0).get(0).toString().length() < 20) { +// success = true; +// JSONArray jsonArray = data.getJSONArray(0); +// //鐢熸垚鍟嗗搧妗f +// //鍟嗗搧缂栧彿 +// 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.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 { +// throw new CoolException("娌℃湁鎵惧埌鎸囧畾鐗╂枡妗f锛岃鑱旂郴绠$悊鍛�"); +// } } catch (Exception e) { log.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -- Gitblit v1.9.1