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