From 91c623a67e67a0f2627d237fbf54bacbf678cbd2 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期四, 16 五月 2024 14:14:12 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/phyzasrs' into phyzasrs
---
src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java | 132 ++++++++++++++
src/main/java/com/zy/asrs/entity/param/ReportErpParam.java | 35 +++
src/main/java/com/zy/asrs/controller/OpenController.java | 64 ++++--
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java | 2
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 80 ++++++--
src/main/java/com/zy/asrs/entity/param/MatSyncParam.java | 55 ++++++
src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java | 119 +++++++++++++
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 44 ++++
8 files changed, 472 insertions(+), 59 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 06b718e..f92440c 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -288,9 +288,12 @@
return R.parse(BaseRes.PARAM);
}
- openService.syncOrder(param,true,"閲囪喘鍏ュ簱鍗�");
+ String docName = param.getChildren().get(0).getIQuantity() > 0 ? "閾跺骇閲囪喘鍏ュ簱鍗�" : "閾跺骇閲囪喘閫�璐у崟";
+ boolean pakin = param.getChildren().get(0).getIQuantity() > 0 ? true : false;
- return R.ok("鍏ュ簱鍗曟嵁鎺ュ彈鎴愬姛");
+ openService.syncOrder(param,pakin,docName);
+
+ return R.ok("鍗曟嵁鎺ュ彈鎴愬姛");
}
@@ -304,12 +307,22 @@
if (Cools.isEmpty(param)) {
return R.parse(BaseRes.PARAM);
}
+ if(!Cools.eq("鐢熶骇",param.getCVouchtype())){
+ String docName = param.getIQuantity() > 0 ? "閾跺骇濮斿鍏ュ簱鍗�" : "閾跺骇濮斿鍏ュ簱閫�璐у崟";
+ boolean pakin = param.getIQuantity() > 0 ? true : false;
+ mappingPakInOrderParam(param,pakin,docName);
- openService.syncOrder(mappingPakInOrderParam(param),true,"鐢熶骇鍏ュ簱鍗�");
- openService.syncOrder(mappingPakOutOrderParam(param),false,"鐢熶骇鍑哄簱鍗�");
+ String docName1 = param.getChildren().get(0).getIQuantity() > 0 ? "閾跺骇濮斿鏉愭枡鍑哄簱鍗�" : "閾跺骇濮斿鏉愭枡閫�鏂欏崟";
+ boolean pakin1 = param.getChildren().get(0).getIQuantity() > 0 ? true : false;
+ mappingPakOutOrderParam(param,pakin1,docName1);
+ }else {
+ String docName1 = param.getChildren().get(0).getIQuantity() > 0 ? "閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�" : "閾跺骇鐢熶骇鏉愭枡閫�鏂欏崟";
+ boolean pakin1 = param.getChildren().get(0).getIQuantity() > 0 ? true : false;
+ mappingPakOutOrderParam(param,pakin1,docName1);
+ }
- return R.ok("鍑哄簱鍗曟嵁鎺ュ彈鎴愬姛");
+ return R.ok("鍗曟嵁鎺ュ彈鎴愬姛");
}
@@ -333,19 +346,20 @@
}
- private OrderSyncParam mappingPakInOrderParam(OrderProdSyncParam param){
+ private void mappingPakInOrderParam(OrderProdSyncParam param,boolean pakin,String docName){
//鐢熸垚鍗曟嵁涓讳綋
OrderSyncParam orderSyncParam = new OrderSyncParam();
- orderSyncParam.setCPOID(param.getOrderNoT());
+ orderSyncParam.set鎿嶄綔绯荤粺鍙�(param.get鎿嶄綔绯荤粺鍙�());
+ orderSyncParam.setcPOID(param.getOrderNoT());
orderSyncParam.setDdate(param.getOrderTime());
- orderSyncParam.setCMemo("");
+ orderSyncParam.setcMemo(param.getCMemo());
//鐢熸垚鍗曟嵁鏄庣粏
OrderSyncParam.OrderDetl orderDetl = new OrderSyncParam.OrderDetl();
- orderDetl.setCInvCode(param.getCInvCode());
- orderDetl.setIQuantity(param.getIQuantity());
+ orderDetl.setcInvCode(param.getCInvCode());
+ orderDetl.setiQuantity(param.getIQuantity());
orderDetl.setCsocode(param.getCsocode());
- orderDetl.setBFree1(null);
+ orderDetl.setbFree1(param.getBFree1());
//娣诲姞鍗曟嵁鏄庣粏鍒板崟鎹富浣�
List<OrderSyncParam.OrderDetl> orderDetls = new ArrayList<>();
@@ -353,34 +367,44 @@
orderSyncParam.setChildren(orderDetls);
- return orderSyncParam;
+// String docName = param.getIQuantity() > 0 ? "閾跺骇浜у搧鐢熶骇鍏ュ簱鍗�" : "鍏ュ簱閫�鍥炲崟";
+// boolean pakin = param.getIQuantity() > 0 ? true : false;
+
+ openService.syncOrder(orderSyncParam,pakin,docName);
+
+ //return orderSyncParam;
}
- private OrderSyncParam mappingPakOutOrderParam(OrderProdSyncParam param){
+ private void mappingPakOutOrderParam(OrderProdSyncParam param,boolean pakin,String docName){
OrderSyncParam orderSyncParam = new OrderSyncParam();
- List<OrderProdSyncParam.ChildInfo> child = param.getChild();
+ List<OrderProdSyncParam.ChildInfo> child = param.getChildren();
//鐢熸垚鍗曟嵁涓讳綋
- orderSyncParam.setCPOID(child.get(0).getOrderNoT());
+ orderSyncParam.set鎿嶄綔绯荤粺鍙�(param.get鎿嶄綔绯荤粺鍙�());
+ orderSyncParam.setcPOID(child.get(0).getOrderNoT());
orderSyncParam.setDdate(param.getOrderTime());
- orderSyncParam.setCMemo("");
+ orderSyncParam.setcMemo("");
//鐢熸垚鍗曟嵁鏄庣粏
List<OrderSyncParam.OrderDetl> orderDetls = new ArrayList<>();
for(OrderProdSyncParam.ChildInfo childInfo : child){
OrderSyncParam.OrderDetl orderDetl = new OrderSyncParam.OrderDetl();
- orderDetl.setCInvCode(childInfo.getCInvCode());
- orderDetl.setIQuantity(childInfo.getIQuantity());
+ orderDetl.setcInvCode(childInfo.getCInvCode());
+ orderDetl.setiQuantity(childInfo.getIQuantity());
orderDetl.setCsocode(param.getCsocode());
- orderDetl.setBFree1(childInfo.getBFree1());
+ orderDetl.setbFree1(childInfo.getBFree1());
orderDetl.setID(childInfo.getIDs() + "");
+ orderDetl.setIvouchrowno(childInfo.getIvouchrowno());
+
orderDetls.add(orderDetl);
}
orderSyncParam.setChildren(orderDetls);
- return orderSyncParam;
+ openService.syncOrder(orderSyncParam,false,docName);
+
+ //return orderSyncParam;
}
}
diff --git a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
index ec130d0..5b8d1ee 100644
--- a/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
@@ -20,7 +20,7 @@
//瑙勬牸鍨嬪彿
String cInvStd;
//鏄惁鎵规绠$悊
- Integer bInvBatch;
+ String bInvBatch;
//涓昏閲忓崟浣嶇紪鐮�/鍚嶇О
String cComUnitCode;
//閲囪喘鍗曚綅缂栫爜/閲囪喘鍗曚綅鍚嶇О
@@ -36,4 +36,57 @@
//鐘舵��
Integer states;
+ public void setcInvCode(String cInvCode) {
+ this.cInvCode = cInvCode;
+ }
+
+ public void setcInvName(String cInvName) {
+ this.cInvName = cInvName;
+ }
+
+ public void setiGroupType(String iGroupType) {
+ this.iGroupType = iGroupType;
+ }
+
+ public void setcInvCCode(String cInvCCode) {
+ this.cInvCCode = cInvCCode;
+ }
+
+ public void setcInvStd(String cInvStd) {
+ this.cInvStd = cInvStd;
+ }
+
+ public void setbInvBatch(String bInvBatch) {
+ this.bInvBatch = bInvBatch;
+ }
+
+ public void setcComUnitCode(String cComUnitCode) {
+ this.cComUnitCode = cComUnitCode;
+ }
+
+ public void setcComUnitName(String cComUnitName) {
+ this.cComUnitName = cComUnitName;
+ }
+
+ public void setPuCote(String puCote) {
+ PuCote = puCote;
+ }
+
+ public void setProname(String proname) {
+ this.proname = proname;
+ }
+
+ public void setProcode(String procode) {
+ this.procode = procode;
+ }
+
+ public void setbFree1(String bFree1) {
+ this.bFree1 = bFree1;
+ }
+
+ public void setStates(Integer states) {
+ this.states = states == 0 ? 1 : 0;
+ }
+
+
}
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java b/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java
index c89230e..de1319e 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderProdSyncParam.java
@@ -6,6 +6,9 @@
@Data
public class OrderProdSyncParam {
+ private String 鎿嶄綔绯荤粺鍙�;
+ private String 鎿嶄綔鍗曟嵁;
+ private String 鎿嶄綔绫诲瀷;
//宸ュ崟鍙�
private String orderNo;
//宸ュ崟鍙稵
@@ -21,9 +24,93 @@
//鐢熶骇鏁伴噺
private Double iQuantity;
//鐘舵��
- private Integer status;
+ private Integer states;
+ //瑙勬牸锛堣嚜鐢遍」1锛�
+ private String bFree1;
+ //浜х嚎
+ private String define24;
+ //鍗曟嵁绫诲瀷
+ private String cVouchtype;
+ //澶囨敞
+ private String cMemo;
+ //鏉ユ簮鏍囪瘑
+ private String sourceIndefine;
+ //浜у搧鐢熶骇鏍囪瘑
+ private String prodIndefine;
//瀛愪欢淇℃伅
- private List<ChildInfo> child;
+ private List<ChildInfo> children;
+
+ public void setOrderNo(String orderNo) {
+ this.orderNo = orderNo;
+ }
+
+ public void setOrderNoT(String orderNoT) {
+ this.orderNoT = orderNoT;
+ }
+
+ public void setOrderTime(String orderTime) {
+ this.orderTime = orderTime;
+ }
+
+ public void setIvouchrowno(String ivouchrowno) {
+ this.ivouchrowno = ivouchrowno;
+ }
+
+ public void setcInvCode(String cInvCode) {
+ this.cInvCode = cInvCode;
+ }
+
+ public void setCsocode(String csocode) {
+ this.csocode = csocode;
+ }
+
+ public void setiQuantity(Double iQuantity) {
+ this.iQuantity = iQuantity;
+ }
+
+ public void setStates(Integer states) {
+ this.states = states;
+ }
+
+ public void setbFree1(String bFree1) {
+ this.bFree1 = bFree1;
+ }
+
+ public void setDefine24(String define24) {
+ this.define24 = define24;
+ }
+
+ public void setcVouchtype(String cVouchtype) {
+ this.cVouchtype = cVouchtype;
+ }
+
+ public void setChild(List<ChildInfo> children) {
+ this.children = children;
+ }
+
+ public void set鎿嶄綔绯荤粺鍙�(String 鎿嶄綔绯荤粺鍙�) {
+ this.鎿嶄綔绯荤粺鍙� = 鎿嶄綔绯荤粺鍙�;
+ }
+
+ public void set鎿嶄綔鍗曟嵁(String 鎿嶄綔鍗曟嵁) {
+ this.鎿嶄綔鍗曟嵁 = 鎿嶄綔鍗曟嵁;
+ }
+
+ public void set鎿嶄綔绫诲瀷(String 鎿嶄綔绫诲瀷) {
+ this.鎿嶄綔绫诲瀷 = 鎿嶄綔绫诲瀷;
+ }
+
+ public void setcMemo(String cMemo) {
+ this.cMemo = cMemo;
+ }
+
+ public void setSourceIndefine(String sourceIndefine) {
+ this.sourceIndefine = sourceIndefine;
+ }
+
+ public void setProdIndefine(String prodIndefine) {
+ this.prodIndefine = prodIndefine;
+ }
/**
* 鐢ㄤ簬鐢熸垚鍑哄簱鍗曟嵁
@@ -36,14 +123,55 @@
private Integer IDs;
//宸ュ崟鍙稵
private String orderNoT;
+ //宸ュ崟鍙�
+ private String orderNo;
//鐗╂枡缂栫爜
private String cInvCode;
//鏁伴噺
private Double iQuantity;
//瑙勬牸锛堣嚜鐢遍」1锛�
private String bFree1;
+ //鍗曟嵁琛屽彿
+ private String ivouchrowno;
+ //瀛愪欢鍙�
+ private String childNo;
+ public void setID(Integer ID) {
+ this.ID = ID;
+ }
+
+ public void setIDs(Integer IDs) {
+ this.IDs = IDs;
+ }
+
+ public void setOrderNoT(String orderNoT) {
+ this.orderNoT = orderNoT;
+ }
+
+ public void setcInvCode(String cInvCode) {
+ this.cInvCode = cInvCode;
+ }
+
+ public void setiQuantity(Double iQuantity) {
+ this.iQuantity = iQuantity;
+ }
+
+ public void setbFree1(String bFree1) {
+ this.bFree1 = bFree1;
+ }
+
+ public void setOrderNo(String orderNo) {
+ this.orderNo = orderNo;
+ }
+
+ public void setIvouchrowno(String ivouchrowno) {
+ this.ivouchrowno = ivouchrowno;
+ }
+
+ public void setChildNo(String childNo) {
+ this.childNo = childNo;
+ }
}
}
diff --git a/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java b/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java
index fb52a63..0670929 100644
--- a/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/OrderSyncParam.java
@@ -2,11 +2,13 @@
import lombok.Data;
-import java.util.Date;
import java.util.List;
@Data
public class OrderSyncParam {
+ private String 鎿嶄綔绯荤粺鍙�;
+ private String 鎿嶄綔鍗曟嵁;
+ private String 鎿嶄綔绫诲瀷;
//閲囪喘璁㈠崟缂栧彿
private String cPOID;
//渚涘簲鍟嗙紪鐮�
@@ -28,6 +30,58 @@
private List<OrderDetl> children;
+ public void setcPOID(String cPOID) {
+ this.cPOID = cPOID;
+ }
+
+ public void setcVenCode(String cVenCode) {
+ this.cVenCode = cVenCode;
+ }
+
+ public void setcPersonCode(String cPersonCode) {
+ this.cPersonCode = cPersonCode;
+ }
+
+ public void setcSCCode(String cSCCode) {
+ this.cSCCode = cSCCode;
+ }
+
+ public void setCexch_name(String cexch_name) {
+ this.cexch_name = cexch_name;
+ }
+
+ public void setNflat(Double nflat) {
+ this.nflat = nflat;
+ }
+
+ public void setcMemo(String cMemo) {
+ this.cMemo = cMemo;
+ }
+
+ public void setStates(Integer states) {
+ this.states = states;
+ }
+
+ public void setDdate(String ddate) {
+ this.ddate = ddate;
+ }
+
+ public void setChildren(List<OrderDetl> children) {
+ this.children = children;
+ }
+
+ public void set鎿嶄綔绯荤粺鍙�(String 鎿嶄綔绯荤粺鍙�) {
+ this.鎿嶄綔绯荤粺鍙� = 鎿嶄綔绯荤粺鍙�;
+ }
+
+ public void set鎿嶄綔鍗曟嵁(String 鎿嶄綔鍗曟嵁) {
+ this.鎿嶄綔鍗曟嵁 = 鎿嶄綔鍗曟嵁;
+ }
+
+ public void set鎿嶄綔绫诲瀷(String 鎿嶄綔绫诲瀷) {
+ this.鎿嶄綔绫诲瀷 = 鎿嶄綔绫诲瀷;
+ }
+
@Data
public static class OrderDetl{
//閲囪喘璁㈠崟琛屽彿
@@ -35,7 +89,7 @@
//鐗╂枡缂栫爜
private String cInvCode;
//闇�姹傛椂闂�
- private Date dArriveDate;
+ private String dArriveDate;
//闇�姹傛暟閲�
private Double iQuantity;
//鍚◣鍗曚环
@@ -61,6 +115,67 @@
//閿�鍞鍗曞瓙琛ㄦ爣璇�
private String iorderdid;
+
+ public void setIvouchrowno(String ivouchrowno) {
+ this.ivouchrowno = ivouchrowno;
+ }
+
+ public void setcInvCode(String cInvCode) {
+ this.cInvCode = cInvCode;
+ }
+
+ public void setdArriveDate(String dArriveDate) {
+ this.dArriveDate = dArriveDate;
+ }
+
+ public void setiQuantity(Double iQuantity) {
+ this.iQuantity = iQuantity;
+ }
+
+ public void setiTaxPrice(Double iTaxPrice) {
+ this.iTaxPrice = iTaxPrice;
+ }
+
+ public void setiPerTaxRate(Double iPerTaxRate) {
+ this.iPerTaxRate = iPerTaxRate;
+ }
+
+ public void setCbMemo(String cbMemo) {
+ this.cbMemo = cbMemo;
+ }
+
+ public void setiNum(Double iNum) {
+ this.iNum = iNum;
+ }
+
+ public void setcSource(String cSource) {
+ this.cSource = cSource;
+ }
+
+ public void setcDefine22(String cDefine22) {
+ this.cDefine22 = cDefine22;
+ }
+
+ public void setRstates(String rstates) {
+ Rstates = rstates;
+ }
+
+ public void setCsocode(String csocode) {
+ this.csocode = csocode;
+ }
+
+ public void setbFree1(String bFree1) {
+ this.bFree1 = bFree1;
+ }
+
+ public void setID(String ID) {
+ this.ID = ID;
+ }
+
+ public void setIorderdid(String iorderdid) {
+ this.iorderdid = iorderdid;
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/entity/param/ReportErpParam.java b/src/main/java/com/zy/asrs/entity/param/ReportErpParam.java
new file mode 100644
index 0000000..054f721
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ReportErpParam.java
@@ -0,0 +1,35 @@
+package com.zy.asrs.entity.param;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ReportErpParam {
+ private String 鎿嶄綔绯荤粺鍙�;
+ private String 鎿嶄綔鍗曟嵁;
+ private String 鎿嶄綔绫诲瀷;
+ private String ddate;
+ private String cWhCode;
+ private String cDepCode;
+ private String cOrderCode;
+ private String cMaker;
+ private String cHandler;
+ private String cDefine14;
+ private List<ChildInfo> children;
+
+ @Data
+ public static class ChildInfo{
+ private String irowno;
+ private String cInvCode;
+ private String iQuantity;
+ private String cBatch;
+ private String iNum;
+ private String iinvexchrate;
+ private String bFree1;
+ private String iPOsID;
+ private String cOrderCode;
+ private String ivouchrowno;
+ private String Define22;
+ }
+}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index f92f070..58d4ffb 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -609,7 +609,7 @@
}
Tag tag = tagService.selectByName("鍏ㄩ儴", 1);
- Mat mat = matService.selectByMatnr(param.getCInvCCode());
+ Mat mat = matService.selectByMatnr(param.getCInvCode());
if (Cools.isEmpty(mat)) {
mat = new Mat();
mat.setTagId(tag.getId());
@@ -636,11 +636,11 @@
private void syncMat(Mat mat, MatSyncParam param){
Date date = new Date();
- mat.setMatnr(param.getCInvCCode());//鐗╂枡缂栫爜
+ mat.setMatnr(param.getCInvCode());//鐗╂枡缂栫爜
mat.setMaktx(param.getCInvName());//鐗╂枡鍚嶇О
mat.setSpecs(param.getCInvStd());//瑙勬牸
mat.setUnit(param.getCComUnitName());
- mat.setBeBatch(param.getBInvBatch());
+ mat.setBeBatch(Cools.eq("true",param.getBInvBatch()) ? 1 : 0);
mat.setStatus(param.getStates());
mat.setCreateBy(9999L);//9999琛ㄧずerp涓嬪彂
@@ -858,9 +858,29 @@
throw new CoolException("鍗曟嵁鍙傛暟涓虹┖鎴栬�呭崟鎹鎯呬负绌猴紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅");
}
+ Order orderOld = null;
+
if(!Cools.isEmpty(orderService.selectByNo(param.getCPOID()))){
- callApiLogSave(param, "/order/pakout/default/v1", "鎺ュ彈鍗曟嵁澶辫触锛岃鍗曟嵁宸插瓨鍦紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅", false);
- throw new CoolException("璇ュ崟鎹凡瀛樺湪锛屾棤娉曠敓鎴愬崟鎹俊鎭�");
+
+ orderOld = orderService.selectByNo(param.getCPOID());
+ if(orderOld.getSettle() > 1){
+ throw new CoolException("璇ュ崟鎹凡鍦ㄤ綔涓氫腑锛屾棤娉曟洿鏀瑰崟鎹俊鎭�");
+ }
+
+// String orderNo = param.getCPOID();
+// if (orderNo.contains("-")){
+// int index = Integer.parseInt(orderNo.split("-")[1]) + 1;
+// orderNo = orderNo.split("-")[0] + "-" + index;
+// param.setcPOID(orderNo);
+// }else {
+// orderNo = orderNo + "-1";
+// param.setcPOID(orderNo);
+// }
+//
+// syncOrder(param,pakin,docName);
+
+ //callApiLogSave(param, "/order/pakout/default/v1", "鎺ュ彈鍗曟嵁澶辫触锛岃鍗曟嵁宸插瓨鍦紝鏃犳硶鐢熸垚鍗曟嵁淇℃伅", false);
+ //throw new CoolException("璇ュ崟鎹凡瀛樺湪锛屾棤娉曠敓鎴愬崟鎹俊鎭�");
}
Date now = new Date();
Order order = orderMapping(param,now,pakin,docName);
@@ -869,6 +889,12 @@
OrderDetl orderDetl = orderDetlMapping(order,od,now);
orderDetlService.insert(orderDetl);
});
+
+ if(!Cools.isEmpty(orderOld)){
+ //鍒犻櫎鍘熸湁鍗曟嵁淇℃伅
+ orderService.delete(new EntityWrapper<Order>().eq("id",orderOld.getId()));
+ orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id",orderOld.getId()));
+ }
callApiLogSave(param, "/order/pakout/default/v1", "鎺ュ彈鍗曟嵁鎴愬姛", true);
@@ -887,7 +913,7 @@
}
orderService.deleteById(order);
- orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_no",orderNo));
+ orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id",order.getId()));
return true;
}
@@ -907,6 +933,8 @@
order.setMemo(param.getCMemo());
//鍒跺崟浜�
order.setShipCode(param.getCPersonCode());
+
+ order.setDefNumber(param.get鎿嶄綔绯荤粺鍙�());
order.setCreateTime(now);
order.setUpdateTime(now);
@@ -943,12 +971,14 @@
//鏁伴噺
od.setAnfme(odParam.getIQuantity());
//閿�鍞鍗曞彿
- od.setThreeCode(odParam.getCsocode());
+ od.setThreeCode(odParam.getCDefine22());
//鑷敱椤�
od.setDeadTime(odParam.getBFree1());
//IDs
od.setSku(odParam.getID());
+ od.setLength(odParam.getINum());
+
od.setStatus(1);
od.setQty(0.0D);
od.setCreateBy(9999L);
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index db31a00..84bfaa1 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -39,7 +39,7 @@
}
}
- //@Scheduled(cron = "0/5 * * * * ? ")
+ @Scheduled(cron = "0/5 * * * * ? ")
@Async("orderThreadPool")
public void completeAndReport(){
String erpReport = Parameter.get().getErpReport();
diff --git a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
index 9da4362..4807c23 100644
--- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -7,6 +7,7 @@
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.param.ReportErpParam;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.DocTypeService;
import com.zy.asrs.service.OrderDetlService;
@@ -17,12 +18,12 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import java.text.SimpleDateFormat;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
/**
* Created by vincent on 2020/7/7
@@ -31,8 +32,6 @@
@Service
public class OrderSyncHandler extends AbstractHandler<String> {
- @Autowired
- private JdbcTemplate jdbcTemplate;
@Autowired
private OrderService orderService;
@Autowired
@@ -51,34 +50,28 @@
@Transactional
public ReturnT<String> start(Order order) {
+ List<String> docNames = new ArrayList<>(Arrays.asList("閾跺骇閲囪喘鍏ュ簱鍗�","閾跺骇濮斿鏉愭枡鍑哄簱鍗�","閾跺骇濮斿鍏ュ簱鍗�","閾跺骇鐢熶骇鏉愭枡鍑哄簱鍗�"));
+
DocType docType = docTypeService.selectById(order.getDocType());
- if("鎵嬪姩鍑哄簱鍗�".equals(docType.getDocName())
- || "鎵嬪姩鍏ュ簱鍗�".equals(docType.getDocName())
- || "鑷姩琛ヨ揣鍗�".equals(docType.getDocName())
- || "浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){
+ if(!docNames.contains(docType.getDocName())){
order.setSettle(8L);
orderService.updateById(order);
return SUCCESS;
}
+// if("鎵嬪姩鍑哄簱鍗�".equals(docType.getDocName())
+// || "鎵嬪姩鍏ュ簱鍗�".equals(docType.getDocName())
+// || "鑷姩琛ヨ揣鍗�".equals(docType.getDocName())
+// || "浜哄伐琛ヨ揣鍗�".equals(docType.getDocName())){
+// order.setSettle(8L);
+// orderService.updateById(order);
+// return SUCCESS;
+// }
+ List<OrderDetl> orderDetlList = orderDetlService.selectByOrderId(order.getId());
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Map<String, Object> param = new HashMap<>();
- param.put("id",order.getOrderNo());
- param.put("dDate",sdf.format(new Date()));
- param.put("cHandler","WMS绯荤粺");
-
- List<Map<String,Object>> orderDetlsParam = new ArrayList<>();
- param.put("orderDetails",orderDetlsParam);
-
- List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
-
- for (OrderDetl orderDetl : orderDetls){
- Map<String, Object> odMap = new HashMap<>();
- odMap.put("autoid",orderDetl.getItemNum());
- odMap.put("iQuantity",orderDetl.getQty());
- orderDetlsParam.add(odMap);
- }
+ ReportErpParam param = new ReportErpParam();
+ mappingParam(order,param);
+ mappingParamChildren(orderDetlList,param);
int code = doHttpRequest(param, "鍗曟嵁瀹℃牳", url, orderReportPath, null, "127.0.0.1");
if(code == 0){
@@ -89,6 +82,41 @@
return SUCCESS;
}
+ private void mappingParam(Order order, ReportErpParam param){
+ param.set鎿嶄綔绯荤粺鍙�(order.getDefNumber());
+ param.set鎿嶄綔鍗曟嵁(order.getDocType$());
+ param.set鎿嶄綔绫诲瀷("add");
+ param.setDdate(order.getOrderTime());
+ param.setCWhCode("");
+ param.setCDepCode("YZ");
+ param.setCOrderCode(order.getOrderNo());
+ param.setCMaker("");
+ param.setCHandler("");
+ param.setCDefine14(order.getOrderNo());
+ }
+
+ private void mappingParamChildren(List<OrderDetl> orderDetlList, ReportErpParam param){
+ List<ReportErpParam.ChildInfo> paramChild = new ArrayList<>();
+ param.setChildren(paramChild);
+ for (OrderDetl orderDetl : orderDetlList){
+ ReportErpParam.ChildInfo childInfo = new ReportErpParam.ChildInfo();
+ childInfo.setIrowno(orderDetl.getItemNum());
+ childInfo.setCInvCode(orderDetl.getMatnr());
+ childInfo.setIQuantity(orderDetl.getQty() + "");
+ childInfo.setCBatch(orderDetl.getBatch());
+ childInfo.setINum(orderDetl.getLength() + "");
+ childInfo.setIinvexchrate("");
+ childInfo.setBFree1(orderDetl.getDeadTime());
+ childInfo.setIPOsID(orderDetl.getId() + "");
+ childInfo.setCOrderCode(orderDetl.getOrderNo());
+ childInfo.setIvouchrowno(orderDetl.getItemNum());
+ childInfo.setDefine22(orderDetl.getThreeCode());
+
+ paramChild.add(childInfo);
+ }
+
+ }
+
private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){
String response = "";
boolean success = false;
--
Gitblit v1.9.1