From 0d334766bcd06f6ce8678caed5747600f74b4d21 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期二, 23 三月 2021 14:20:37 +0800 Subject: [PATCH] # --- src/main/webapp/views/pda/stockIn.html | 103 +++++++++++++------- src/main/java/zy/cloud/wms/common/service/erp/ErpService.java | 73 ++++++++++++++ src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 5 src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java | 27 +++++ src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 2 src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 12 ++ src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java | 19 +++ src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java | 2 8 files changed, 203 insertions(+), 40 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java index cb18372..3227482 100644 --- a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java +++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java @@ -8,7 +8,6 @@ import com.core.exception.CoolException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; @@ -271,7 +270,7 @@ /** * 鎸佷箙鍖栭攢鍞鍗� */ - @Scheduled(cron = "0/45 * * * * ? ") +// @Scheduled(cron = "0/45 * * * * ? ") @Transactional // @PostConstruct public void getOrdersExecute(){ @@ -420,7 +419,7 @@ /** * 搴撳瓨涓婁紶 */ - @Scheduled(cron = "0/15 * * * * ? ") +// @Scheduled(cron = "0/15 * * * * ? ") @GetMapping("test2") public void uploadStockExecute(){ try { diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java new file mode 100644 index 0000000..e432541 --- /dev/null +++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpService.java @@ -0,0 +1,73 @@ +package zy.cloud.wms.common.service.erp; + +import com.alibaba.fastjson.JSON; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.common.SnowflakeIdWorker; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import zy.cloud.wms.common.service.erp.entity.UploadBill; +import zy.cloud.wms.common.service.erp.entity.UploadBillDetail; +import zy.cloud.wms.manager.entity.Comb; +import zy.cloud.wms.manager.utils.HttpHandler; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Created by vincent on 2021/3/23 + */ +@Slf4j +@Service("erpService") +public class ErpService { + + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; + + /** + * 鍗曟嵁涓婃姤 + */ + public Boolean uploadBill(List<Comb> combs, Integer docId, String docNumber){ + try { + if (Cools.isEmpty(combs)) { + return false; + } + UploadBill uploadBill = new UploadBill(); + uploadBill.setNumber(docNumber); + uploadBill.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F)); + uploadBill.setBTypeID("瀹忔尯瀹㈡埛"); + uploadBill.setKTypeID("瀹忔尯浠撳簱"); + uploadBill.setVchType(docId); + List<UploadBillDetail> detail = new ArrayList<>(); + uploadBill.setDetail(detail); + for (Comb comb : combs) { + UploadBillDetail detl = new UploadBillDetail(); + detl.setUserCode(comb.getMatnr()); + detl.setQty(comb.getAnfme()); + detl.setPrice(0.0D); + } + + String response = new HttpHandler.Builder() + .setUri(ErpScheduler.URI) + .setPath(ErpScheduler.UPLOAD_BILL) + .setJson(JSON.toJSONString(uploadBill)) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + log.warn(response); + Result result = JSON.parseObject(response, Result.class); + if (result.getCode() != 1) { + return false; + } + } + } catch (Exception e) { + e.printStackTrace(); + return false; + } + return Boolean.TRUE; + } + + +} diff --git a/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java new file mode 100644 index 0000000..57a3cc5 --- /dev/null +++ b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBill.java @@ -0,0 +1,27 @@ +package zy.cloud.wms.common.service.erp.entity; + +import lombok.Data; + +import java.util.List; + +/** + * Created by vincent on 2021/3/23 + */ +@Data +public class UploadBill { + + private String number; + + private Integer vchType; + + private String billDate; + + private String bTypeID; + + private String kTypeID; + + private String summary; + + private List<UploadBillDetail> detail; + +} diff --git a/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java new file mode 100644 index 0000000..5fa40a9 --- /dev/null +++ b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadBillDetail.java @@ -0,0 +1,19 @@ +package zy.cloud.wms.common.service.erp.entity; + +import lombok.Data; + +/** + * Created by vincent on 2021/3/23 + */ +@Data +public class UploadBillDetail { + + private String userCode; + + private Double qty; + + private Double Price; + + private String comment; + +} diff --git a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java index 47649e2..b14e242 100644 --- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java +++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java @@ -86,7 +86,7 @@ } Long sts = pakouts.get(0).getWrkSts(); if (sts == 1) { - sts =2L; + sts = 2L; } WrkSts wrkSts = wrkStsService.selectById(sts); return R.ok().add(Cools diff --git a/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java b/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java index 5f85a0f..ff505e3 100644 --- a/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java +++ b/src/main/java/zy/cloud/wms/manager/entity/param/StockInParam.java @@ -12,4 +12,6 @@ private String zpallet; + private Integer docType; + } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java index 2f266cc..b10d741 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java @@ -12,6 +12,7 @@ import zy.cloud.wms.common.model.OrderStoDto; import zy.cloud.wms.common.service.MainService; import zy.cloud.wms.common.service.asrs.AsrsService; +import zy.cloud.wms.common.service.erp.ErpService; import zy.cloud.wms.common.utils.VersionUtils; import zy.cloud.wms.manager.entity.*; import zy.cloud.wms.manager.entity.param.*; @@ -46,6 +47,8 @@ private MatService matService; @Autowired private AsrsService asrsService; + @Autowired + private ErpService erpService; @Override @Transactional @@ -59,6 +62,7 @@ return R.error("鐗╂枡涓嶅瓨鍦�"); } Date now = new Date(); + String docNum = String.valueOf(snowflakeIdWorker.nextId()); for (Comb comb : combs) { // 鏀瑰彉缁勬墭妗g姸鎬� comb.setIoStatus(4); @@ -77,6 +81,8 @@ locDetl.setZpallet(param.getZpallet()); locDetl.setAnfme(comb.getAnfme()); VersionUtils.setLocDetl(locDetl, comb); + locDetl.setDocId(param.getDocType().longValue()); + locDetl.setDocNum(docNum); locDetl.setStatus(1); locDetl.setCreateBy(userId); locDetl.setCreateTime(now); @@ -94,6 +100,12 @@ } } + + // 涓婃姤缁檈rp + if (!erpService.uploadBill(combs, param.getDocType(), docNum)) { + throw new CoolException("鏃犳硶涓婃姤鑷砮rp"); + } + return R.ok(); } diff --git a/src/main/webapp/views/pda/stockIn.html b/src/main/webapp/views/pda/stockIn.html index e68c3fe..b747d88 100644 --- a/src/main/webapp/views/pda/stockIn.html +++ b/src/main/webapp/views/pda/stockIn.html @@ -76,6 +76,13 @@ display: none; } + #typeSelect { + padding: 10px 20px; + } + .layui-form-radio { + width: 100%; + } + </style> </head> <body> @@ -100,9 +107,20 @@ <footer> <div class="layui-btn-container"> <button type="button" class="layui-btn layui-btn-primary" onclick="reset()">閲嶇疆</button> - <button id="pakin" type="button" class="layui-btn layui-btn-normal" onclick="pakIn()" style="margin-left: 15px">涓婃灦</button> + <button id="pakin" type="button" class="layui-btn layui-btn-normal" onclick="confirm()" style="margin-left: 15px">涓婃灦</button> </div> </footer> + +<div id="typeSelect" style="display: none"> + <form class="layui-form"> + <input type="radio" name="docType" value="34" title="閲囪喘鍗�" checked=""> + <input type="radio" name="docType" value="45" title="閿�鍞��璐у崟"> + <hr> + <div style="text-align: center"> + <button class="layui-btn layui-btn-normal" onclick="pakIn()">纭畾</button> + </div> + </form> +</div> </body> <script> var tableIns; @@ -243,44 +261,57 @@ layui.form.render('select'); } + + function confirm() { + layer.open({ + type: 1, + title: '鍗曟嵁绫诲瀷', + shade: [0.3,'#000'], + area: ['70%'], + content: $('#typeSelect'), + success: function(layero, index){ + } + }); + } + // 涓婃灦 function pakIn() { - layer.confirm('涓婃灦褰撳墠鎵樼洏锛�', {shadeClose: true}, function(){ - var zpallet = $('#code').val(); - if (isEmpty(zpallet)) { - tips("鎵樼洏鏉$爜涓虹┖", true); - return; - } - var node = $('#node').val(); - if (isEmpty(node)) { - tips("璐т綅涓虹┖", true); - return; - } - if (matData.length === 0) { - tips("璇锋彁鍙栫墿鏂�", true); - return; - } - $.ajax({ - url: baseUrl+"/work/stock/in", - headers: {'token': localStorage.getItem('token')}, - data: JSON.stringify({ - nodeId: node, - zpallet: zpallet - }), - contentType:'application/json;charset=UTF-8', - method: 'POST', - async: false, - success: function (res) { - if (res.code === 200) { - reset(); - tips("涓婃灦鎴愬姛") - } else if (res.code === 403) { - top.location.href = baseUrl + "/pda"; - } else { - tips(res.msg, true) - } + var docType = $('input:radio[name="docType"]:checked').val(); + var zpallet = $('#code').val(); + if (isEmpty(zpallet)) { + tips("鎵樼洏鏉$爜涓虹┖", true); + return; + } + var node = $('#node').val(); + if (isEmpty(node)) { + tips("璐т綅涓虹┖", true); + return; + } + if (matData.length === 0) { + tips("璇锋彁鍙栫墿鏂�", true); + return; + } + $.ajax({ + url: baseUrl+"/work/stock/in", + headers: {'token': localStorage.getItem('token')}, + data: JSON.stringify({ + nodeId: node, + zpallet: zpallet, + docType: docType + }), + contentType:'application/json;charset=UTF-8', + method: 'POST', + async: false, + success: function (res) { + if (res.code === 200) { + reset(); + tips("涓婃灦鎴愬姛") + } else if (res.code === 403) { + top.location.href = baseUrl + "/pda"; + } else { + tips(res.msg, true) } - }) + } }) } -- Gitblit v1.9.1