From 00d83fc72c84383c506e8a8c0584d1292cafc260 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 05 八月 2024 08:07:22 +0800
Subject: [PATCH] 完善
---
src/main/java/com/zy/asrs/controller/MatController.java | 130 ++++++++++++++++++-------
src/main/resources/application.yml | 4
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java | 134 +++++++++++++++++++-------
3 files changed, 191 insertions(+), 77 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 8719ef1..8ca5caf 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.*;
@@ -164,10 +165,7 @@
@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();
@@ -177,14 +175,28 @@
inFormIdParam.setLimit(100);
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();
@@ -203,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();
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 945997c..1002b2e 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
@@ -26,6 +26,7 @@
import java.lang.reflect.Field;
import java.text.SimpleDateFormat;
+import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
@@ -70,49 +71,103 @@
@Transactional
public synchronized ReturnT<String> start() {
- SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//鐧诲綍閲戣澏
ReturnT<String> start = loginAuthenticationHandler.start();
- for(int i=0;i<14;i++) {
+ for (int i = 0; i < 14; i++) {
InFormIdParam inFormIdParam = new InFormIdParam();
//瀵瑰簲璁㈠崟绫诲瀷ID
- int docName=0;
+ int docName = 0;
//鏁伴噺瀛楁
- String anfme =null;
- switch (i){
+ String anfme = null;
+ switch (i) {
//鐗╂枡妗f
- case 0 : inFormIdParam.setFormId("BD_MATERIAL"); break;
+ case 0:
+ inFormIdParam.setFormId("BD_MATERIAL");
+ break;
//閲囪喘鍏ュ簱
- case 1 : inFormIdParam.setFormId("STK_InStock");docName=13;anfme ="FRealQty"; break;
+ case 1:
+ inFormIdParam.setFormId("STK_InStock");
+ docName = 13;
+ anfme = "FRealQty";
+ break;
//閲囪喘閫�鏂�
- case 2 : inFormIdParam.setFormId("PUR_MRB");docName=21;anfme ="FRMREALQTY"; break;
+ case 2:
+ inFormIdParam.setFormId("PUR_MRB");
+ docName = 21;
+ anfme = "FRMREALQTY";
+ break;
//鐢熶骇棰嗘枡
- case 3 : inFormIdParam.setFormId("PRD_PickMtrl");docName=22;anfme ="FActualQty"; break;
+ case 3:
+ inFormIdParam.setFormId("PRD_PickMtrl");
+ docName = 22;
+ anfme = "FActualQty";
+ break;
//鐢熶骇閫�鏂�
- case 4 : inFormIdParam.setFormId("PRD_ReturnMtrl");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;
+ case 5:
+ inFormIdParam.setFormId("PRD_FeedMtrl");
+ docName = 25;
+ anfme = "FActualQty";
+ break;
//鐩存帴璋冩嫧鍗�
- case 6 : inFormIdParam.setFormId("STK_TransferDirect");docName=26;anfme ="FQty"; break;
+ case 6:
+ inFormIdParam.setFormId("STK_TransferDirect");
+ docName = 26;
+ anfme = "FQty";
+ break;
//鐩樼泩鍗�
- case 7 : inFormIdParam.setFormId("STK_StockCountGain");docName=28;anfme ="FGainQty"; break;
+ case 7:
+ inFormIdParam.setFormId("STK_StockCountGain");
+ docName = 28;
+ anfme = "FGainQty";
+ break;
//鐩樹簭鍗�
- case 8 : inFormIdParam.setFormId("STK_StockCountLoss");docName=29;anfme ="FLossQty"; break;
+ case 8:
+ inFormIdParam.setFormId("STK_StockCountLoss");
+ docName = 29;
+ anfme = "FLossQty";
+ break;
//鍏朵粬鍑哄簱
- case 9 : inFormIdParam.setFormId("STK_MisDelivery");docName=30;anfme ="FQty"; break;
+ case 9:
+ inFormIdParam.setFormId("STK_MisDelivery");
+ docName = 30;
+ anfme = "FQty";
+ break;
//绠�鍗曠敓浜ч鏂�
- case 10 : inFormIdParam.setFormId("SP_PickMtrl");docName=31;anfme ="FActualQty"; break;
+ case 10:
+ inFormIdParam.setFormId("SP_PickMtrl");
+ docName = 31;
+ anfme = "FActualQty";
+ break;
//绠�鍗曠敓浜ч��鏂�
- case 11 : inFormIdParam.setFormId("SP_ReturnMtrl");docName=32;anfme ="FQty"; break;
+ case 11:
+ inFormIdParam.setFormId("SP_ReturnMtrl");
+ docName = 32;
+ anfme = "FQty";
+ break;
//閿�鍞嚭搴�
- case 12 : inFormIdParam.setFormId("SAL_OUTSTOCK");docName=14;anfme ="FRealQty"; break;
+ case 12:
+ inFormIdParam.setFormId("SAL_OUTSTOCK");
+ docName = 14;
+ anfme = "FRealQty";
+ break;
//閿�鍞��璐�
- case 13 : inFormIdParam.setFormId("SAL_RETURNSTOCK");docName=33;anfme ="FRealQty"; break;
+ case 13:
+ inFormIdParam.setFormId("SAL_RETURNSTOCK");
+ docName = 33;
+ anfme = "FRealQty";
+ break;
}
inFormIdParam.setLimit(100);
inFormIdParam.setStartRow("0");
- Date time=new Date();
- String FDocumentStatus=null;
+ Date time = new Date();
+ String FDocumentStatus = null;
//鏉′欢鍜岄渶瑕佽幏寰楃殑缁撴灉鎷兼帴
JSONObject jsonObject = new JSONObject();
@@ -120,26 +175,33 @@
jsonObject.put("Limit", inFormIdParam.getLimit());
jsonObject.put("StartRow", inFormIdParam.getStartRow());
//鐗╂枡妗f鏌ヨ
- if(i==0){
- Tag tag = tagService.selectById(20);
- //鏈�鏂版椂闂�
- time=tag.getCreateTime();
+ if (i == 0) {
+ // 鑾峰彇褰撳墠鏃ユ湡
+ LocalDate currentDate = LocalDate.now();
+ // 鑾峰彇鍓嶄竴涓湀鐨勫悓涓�澶�
+ LocalDate previousMonthDate = currentDate.minusMonths(1);
+
+ // 鏍煎紡鍖栨棩鏈熶负 "yyyyMMdd" 鏍煎紡
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ String formattedDate2 = previousMonthDate.format(formatter);
+
+
//鐗╂枡鐘舵�� FUseOrgId .FNumber
- FDocumentStatus="C";
- jsonObject.put("FilterString", "FCreateDate>'"+sdf.format(time)+"' and FDocumentStatus='"+FDocumentStatus+"' and FUseOrgId .FNumber='201'");
+ FDocumentStatus = "C";
+ 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 锛氱墿鏂欑姸鎬�
- }else{
+ } else {
//鑾峰彇鏈�鏂版椂闂�
- DocType docType= docTypeService.selectById(docName);
+ DocType docType = docTypeService.selectById(docName);
//鍗曟嵁鐘舵��
- 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");
+ 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 锛氬崟鎹垱寤烘椂闂达紱
// FMaterialId.FNumber : 鐗╂枡缂栫爜锛�
@@ -167,8 +229,8 @@
.build()
.doPost();
JSONArray data = JSON.parseArray(response);
- if(data.size()>0) {
- if (data.getJSONArray(0).get(0).toString().length()<20) {
+ 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);
@@ -293,9 +355,9 @@
}
}
}
- }else {
+ } else {
}
- }else {
+ } else {
}
} catch (Exception e) {
log.error("fail", e);
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e001288..4ca00bd 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
enabled: false
datasource:
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
- url: jdbc:sqlserver://10.10.10.215:1433;databasename=tzhtasrs
+ url: jdbc:sqlserver://127.0.0.1:1433;databasename=tzhtasrs
username: sa
password: sa@123
mvc:
@@ -54,7 +54,7 @@
erp:
#鍦板潃
address:
- URL: http://ht01.wlgear.com:16001
+ URL: http://192.168.3.102:16001
#鐧诲綍鍦板潃
loginaddress: K3CLOUD/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc
#鍗曟嵁锛屽晢鍝佹。妗堝湴鍧�
--
Gitblit v1.9.1