From dd5a31d7eb01fa754a37f5cdcc7f7d2ba7397600 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 31 十二月 2024 09:25:53 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java | 104 ++++++++++++++++++++++++++++++++------------------- 1 files changed, 65 insertions(+), 39 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 d3ae5a6..c98e298 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 @@ -69,6 +69,9 @@ for(KingDeeUtilType kingDeeUtilType : KingDeeUtilType.values()) { InFormIdParam inFormIdParam = new InFormIdParam(); DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", kingDeeUtilType.desc)); + if (Cools.isEmpty(docType) && !kingDeeUtilType.formId.equals("BD_MATERIAL")){ + docType = docTypeService.selectOrAdd(kingDeeUtilType.desc, kingDeeUtilType.pakIn.equals(1)); + } inFormIdParam.setFormId(kingDeeUtilType.formId); inFormIdParam.setLimit(100); inFormIdParam.setStartRow("0"); @@ -80,13 +83,11 @@ jsonObject.put("Limit", inFormIdParam.getLimit()); jsonObject.put("StartRow", inFormIdParam.getStartRow()); //鐗╂枡妗f鏌ヨ - if(inFormIdParam.getFormId().equals("BD_MATERIAL")){ - Tag tag = tagService.selectById(20); - //鏈�鏂版椂闂� - Date time=tag.getCreateTime(); + if(kingDeeUtilType.formId.equals("BD_MATERIAL")){ + Tag tag = tagService.selectByName("鍏ㄩ儴", 1); //鐗╂枡鐘舵�� FUseOrgId .FNumber FDocumentStatus="C"; - jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(time)+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='201'"); + jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(tag.getUpdateTime())+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='100'"); jsonObject.put("FieldKeys", "FName,FNumber,FCreateDate,FSpecification,FDocumentStatus"); // FName : 鐗╂枡鍚嶇О 锛� // FNumber 锛氱墿鏂欑紪鍙凤紱 @@ -97,7 +98,7 @@ //鑾峰彇鏈�鏂版椂闂� //鍗曟嵁鐘舵�� FDocumentStatus="B"; - jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(docType.getCreateTime())+"' and FStockId.Fname='绔嬪簱'"+" and FDocumentStatus='"+FDocumentStatus+"'"); + 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,"+kingDeeUtilType.anfme+",FDocumentStatus"); // FBillNo :鍗曟嵁缂栧彿锛� // FCreateDate 锛氬崟鎹垱寤烘椂闂达紱 @@ -129,36 +130,47 @@ if(data.size()<=0) continue; if (data.getJSONArray(0).get(0).toString().length()>=20) continue; if (kingDeeUtilType.formId.equals("BD_MATERIAL")) {//鐗╂枡妗f + Tag tag = tagService.selectByName("鍏ㄩ儴", 1); for (int j = 0; j < data.size(); j++) { JSONArray jsonArray = data.getJSONArray(j); + //瀵圭編鍥芥椂闂磋繘琛岃浆鎹� + Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString()); //鐢熸垚鍟嗗搧妗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.setTagId(20L); - //瀵圭編鍥芥椂闂磋繘琛岃浆鎹� - Date date = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString()); - mat.setCreateTime(date);//鍟嗗搧鍒涘缓鏃堕棿 + mat.setTagId(tag.getId()); + mat.setCreateTime(jsonDate);//鍟嗗搧鍒涘缓鏃堕棿 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("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); +// throw new CoolException("鏈嶅姟鍣ㄥ唴閮ㄩ敊璇紝璇疯仈绯荤鐞嗗憳"); + callApiLogSaveMat(mat,kingDeeUtilType, "鍚屾鏂扮墿鏂欏嚭閿欙紒锛侊紒"+mat, false); + log.info("鍚屾鏂扮墿鏂欏嚭閿欙紒锛侊紒鍙傛暟锛歔{}]銆乕{}]",mat,jsonArray); } else { - log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); + callApiLogSaveMat(mat,kingDeeUtilType, "鍚屾鏂扮墿鏂欙紒", true); +// log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}]", mat.getMatnr()); + } + }else { + if (!jsonDate.equals(tag.getUpdateTime())){ + callApiLogSaveMat(mat,kingDeeUtilType, "鍟嗗搧缂栧彿閲嶅:"+mat.getMatnr(), false); + log.info("鍚屾鏂扮墿鏂橻鍟嗗搧缂栧彿锛歿}],鍟嗗搧缂栧彿閲嶅锛侊紒锛�", mat.getMatnr()); } } + tag.setUpdateTime(jsonDate); } + tagService.updateById(tag); } else { for (int j = 0; j < data.size(); j++) { JSONArray jsonArray = data.getJSONArray(j); + //鏈�鏂版姄鍙栨椂闂� + Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(1).toString()); + docType.setCreateTime(jsonDate); Order order = orderService.selectByNo(jsonArray.get(0).toString()); if (Cools.isEmpty(order)) { Date now = new Date(); @@ -200,18 +212,21 @@ null // 澶囨敞 ); - //鏈�鏂版姄鍙栨椂闂� - Date jsonDate = KingDeeUtil.KingDeeDate(jsonArray.get(2).toString()); - docType.setCreateTime(jsonDate); - docTypeService.updateById(docType); if (!orderService.insert(order)) { - throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); + if (!jsonDate.equals(docType.getCreateTime())){ + callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"+order, false); + } + continue; +// throw new CoolException("鐢熸垚鍗曟嵁涓绘。澶辫触锛岃鑱旂郴绠$悊鍛�"); } } //鐗╂枡缂栫爜 Mat mat = matService.selectByMatnr(jsonArray.get(2).toString()); if (Cools.isEmpty(mat)) { - throw new CoolException(jsonArray.get(2).toString() + "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"); + if (!jsonDate.equals(docType.getCreateTime())){ + callApiLogSaveOrder(order,kingDeeUtilType, "缂栧彿鍟嗗搧妫�绱㈠け璐ワ紝璇峰厛娣诲姞鍟嗗搧"+jsonArray.get(2).toString(), false); + } + continue; } OrderDetl orderDetl1 = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", jsonArray.get(0).toString()).eq("matnr", jsonArray.get(2).toString())); if (!Cools.isEmpty(orderDetl1)) { @@ -229,36 +244,47 @@ orderDetl.setUpdateTime(new Date()); orderDetl.setStatus(1); orderDetl.setQty(0.0D); - Date date = KingDeeUtil.KingDeeDate(jsonArray.get(1).toString()); - //鏈�鏂版姄鍙栨椂闂� - docType.setCreateTime(date); if (!orderDetlService.insert(orderDetl)) { - throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); + callApiLogSaveOrder(order,kingDeeUtilType, "鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�!璁㈠崟鍙凤細"+order.getOrderNo(), false); +// throw new CoolException("鐢熸垚鍗曟嵁鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"); } } + docTypeService.updateById(docType); } } catch (Exception e) { log.error("fail", e); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); } finally { - try { - // 淇濆瓨鎺ュ彛鏃ュ織 - apiLogService.save( - "杞鏁版嵁", - URL + inaddress, - null, - "127.0.0.1", - add, - response, - success - ); - } catch (Exception e) { - log.error("", e); - } +// try { +// // 淇濆瓨鎺ュ彛鏃ュ織 +// apiLogService.save( +// "杞鏁版嵁", +// URL + inaddress, +// null, +// "127.0.0.1", +// add, +// response, +// success +// ); +// } catch (Exception e) { +// log.error("", e); +// } } } return SUCCESS; } + public void callApiLogSaveMat(Mat mat, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) { + apiLogService.save("鑾峰彇"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL, + "鐗╂枡缂栧彿锛�" + mat.getMatnr() + "銆佺墿鏂欏悕绉帮細" + mat.getName() + "銆佺被鍨嬶細" + mat.getTagId$() + "銆佺姸鎬侊細" + mat.getStatus$(), + response, bool); + } + + public void callApiLogSaveOrder(Order order, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) { + apiLogService.save("鑾峰彇"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL, + "鍗曟嵁缂栧彿锛�" + order.getId() + "銆佺姸鎬侊細" + order.getStatus$(), + response, bool); + } + } \ No newline at end of file -- Gitblit v1.9.1