From 6f39c0f9356f6c7e6fe80c4c99f1419b19be7e5e Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <xltys1995> Date: 星期二, 06 四月 2021 23:21:25 +0800 Subject: [PATCH] Merge branch 'master' of https://gitee.com/luxiaotao1123/wms-cloud into master --- src/main/webapp/views/custOrder/custOrder.html | 2 src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 91 ++++++++++++++++++++++ src/main/java/zy/cloud/wms/common/service/erp/entity/UploadCancelResult.java | 19 ++++ src/main/java/zy/cloud/wms/manager/service/LocDetlService.java | 5 + src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 53 +++++++++++++ src/main/java/zy/cloud/wms/manager/mapper/CustOrderMapper.java | 6 + src/main/webapp/views/pda/stockCheck.html | 2 src/main/webapp/views/pda/matQuery.html | 16 ++- 8 files changed, 186 insertions(+), 8 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 c1e19f6..a844e3c 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 @@ -39,6 +39,8 @@ public static final String GET_BASIS = "cM/basis/getBasis"; public static final String UPLOAD_BILL = "cM/basis/uploadBill"; public static final String UPLOAD_STOCK = "cM/basis/uploadStock"; + public static final String OVER_BILL = "cM/basis/OverBill"; + public static final String UPLOAD_CANCEL_RESULT = "cM/basis/cancelOrders"; @Autowired private CustOrderService custOrderService; @@ -474,4 +476,93 @@ } + /** + * 鑾峰彇鍙栨秷璁㈠崟 + */ + @Scheduled(cron = "0/5 * * * * ? ") + @Transactional +// @PostConstruct + public void getCancelOrdersExecute(){ + try { + Map<String, Object> json = new HashMap<>(); + String response = new HttpHandler.Builder() + .setUri(URI) + .setPath(OVER_BILL) + .setJson(JSON.toJSONString(json)) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { +// log.info(response); + Date now = new Date(); + Result result = JSON.parseObject(response, Result.class); + if (result.getCode() != 1) { + return; + } + List<GetOrderResult0> list = JSON.parseArray(result.getData(), GetOrderResult0.class); + if (!Cools.isEmpty(list)) { + boolean complete = true; + Set<String> existNumbers = new HashSet<>(); + + } + } + } catch (IOException e) { + e.printStackTrace(); + throw new RuntimeException(e.getMessage()); + } + + } + + /** + * 涓婁紶閿�鍞鍗曞彇娑堢粨鏋� + */ + @Scheduled(cron = "0/5 * * * * ? ") + @Transactional +// @PostConstruct + public void uploadCancelOrdersExecute(){ + try { + List<CustOrder> custOrders = custOrderService.selectList(new EntityWrapper<CustOrder>().eq("status", 3).isNotNull("vch_code")); + if (Cools.isEmpty(custOrders)) { + return; + } + Map<String, Object> json = new HashMap<>(); + List<UploadCancelResult> list = new ArrayList<>(); + for (CustOrder custOrder : custOrders) { + UploadCancelResult result = new UploadCancelResult(); + result.setNumber(custOrder.getNumber()); + result.setUserCode(custOrder.getUserCode()); + result.setQty(custOrder.getTotal()); + result.setStatus(1); + list.add(result); + } + json.put("data", list); + String response = new HttpHandler.Builder() + .setUri(URI) + .setPath(UPLOAD_CANCEL_RESULT) + .setJson(JSON.toJSONString(json)) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { +// log.info(response); + Date now = new Date(); + Result result = JSON.parseObject(response, Result.class); + if (result.getCode() != 1) { + return; + } + for (UploadCancelResult result1 : list) { + // 杞巻鍙叉。 + int save = custOrderMapper.saveLog(result1.getNumber(), result1.getUserCode()); + if (save > 0) { + if (custOrderMapper.delete(new EntityWrapper<CustOrder>().eq("number", result1.getNumber()).eq("user_code", result1.getUserCode())) == 0) { + throw new CoolException("鍒犻櫎閿�鍞鍗曞け璐�"); + } + } + } + } + } catch (IOException e) { + e.printStackTrace(); + throw new RuntimeException(e.getMessage()); + } + + } + } diff --git a/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadCancelResult.java b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadCancelResult.java new file mode 100644 index 0000000..58abfd4 --- /dev/null +++ b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadCancelResult.java @@ -0,0 +1,19 @@ +package zy.cloud.wms.common.service.erp.entity; + +import lombok.Data; + +/** + * Created by vincent on 2021/4/5 + */ +@Data +public class UploadCancelResult { + + private String number; + + private String userCode; + + private Double qty; + + private Integer Status; + +} diff --git a/src/main/java/zy/cloud/wms/manager/mapper/CustOrderMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/CustOrderMapper.java index 207f7fb..fff9ad3 100644 --- a/src/main/java/zy/cloud/wms/manager/mapper/CustOrderMapper.java +++ b/src/main/java/zy/cloud/wms/manager/mapper/CustOrderMapper.java @@ -14,9 +14,15 @@ @Insert("insert into man_cust_order_log select * from man_cust_order where number=#{number}") int saveLog(String number); + @Insert("insert into man_cust_order_log select * from man_cust_order where number=#{number} and user_code = #{userCode}") + int saveLog(@Param("number") String number, @Param("userCode") String userCode); + @Update("delete from man_cust_order where number=#{number}") int delete(@Param("number") String number); + @Update("delete from man_cust_order where number=#{number} and user_code = #{userCode}") + int delete(@Param("number") String number, @Param("userCode") String userCode); + @Update("update man_cust_order_log set qty = #{qty} where number=#{number} and user_code=#{userCode}") int updateQty(@Param("number") String number, @Param("userCode") String userCode, @Param("qty") Double qty); diff --git a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java index 8b38696..4712c0a 100644 --- a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java +++ b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java @@ -13,6 +13,11 @@ LocDetl getLocDetl(Long nodeId, String matnr); + /** + * 鏌ョ湅褰撳墠鐗╂枡鍦ㄥ簱瀛樹腑鐨勫簱瀛樻槑缁嗭紙鎺ㄨ崘璐т綅鍦ㄥ墠) + * @param matnr + * @return + */ List<LocDetl> findOfSort(String matnr); /** 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 1beff42..547e5f9 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 @@ -254,9 +254,59 @@ List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>() .eq("doc_num", param.getNumber()) .in("wrk_sts", 1, 2)); - // 淇敼搴撳瓨鏁伴噺 for (Pakout pakout : pakouts) { LocDetl locDetl = locDetlService.getLocDetl(pakout.getNodeId(), pakout.getMatnr()); + // 缂鸿揣 or 绔嬪簱 + if (locDetl == null) { + // 缂鸿揣 + if (pakout.getLocNo().equals("缂鸿揣")) { + Double count = Optional.ofNullable(locDetlService.selectCountByMatnr(pakout.getMatnr())).orElse(0.0D); + if (count < pakout.getAnfme()) { + throw new CoolException(pakout.getMaktx()+"缂鸿揣"); + } + Date now = new Date(); + // 鏌ユ壘鎺ㄨ崘璐т綅鏄惁搴撳瓨瓒冲 + List<LocDetl> locDetls = locDetlService.findOfSort(pakout.getMatnr()); + double issued = Optional.ofNullable(pakout.getAnfme()).orElse(0.0D) ; + for (LocDetl locDetl1 : locDetls) { + if (issued > 0) { + // 淇濆瓨鍑哄簱閫氱煡鍗� + Pakout newPakout = new Pakout(); + newPakout.setWrkSts(3L); + newPakout.setAnfme(issued>=locDetl1.getAnfme()?locDetl1.getAnfme():issued); + newPakout.setZpallet(locDetl1.getZpallet()); + newPakout.setLocNo(locDetl1.getLocNo()); + newPakout.setNodeId(locDetl1.getNodeId()); + newPakout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId())); + VersionUtils.setPakout(newPakout, locDetl1); + newPakout.setDocId(pakout.getDocId()); // 鍗曟嵁绫诲瀷 + newPakout.setDocNum(pakout.getDocNum()); // 鍗曟嵁缂栧彿 + newPakout.setCreateTime(now); + newPakout.setUpdateTime(now); + newPakout.setStatus(1); + if (!pakoutService.insert(newPakout)) { + throw new CoolException("淇濆瓨鍑哄簱閫氱煡鍗曞け璐�"); + } + if (issued>=locDetl1.getAnfme()) { + // 鍒犻櫎搴撳瓨鏄庣粏 + if (!locDetlService.removeStock(locDetl1.getNodeId(), newPakout.getMatnr())) { + throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触"); + } + } else { + // 淇敼搴撳瓨鏄庣粏鏁伴噺 + if (!locDetlService.reduceStock(locDetl1.getNodeId(), newPakout.getMatnr(), issued)) { + throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触"); + } + } + // 鍓╀綑寰呭嚭鏁伴噺閫掑噺 + issued = issued - locDetl1.getAnfme(); + } + } + + } + continue; + } + // 淇敼搴撳瓨鏁伴噺 if (pakout.getAnfme()>=locDetl.getAnfme()) { // 鍒犻櫎搴撳瓨鏄庣粏 if (!locDetlService.removeStock(locDetl.getNodeId(), pakout.getMatnr())) { @@ -269,6 +319,7 @@ } } } + // 淇敼鍑哄簱鍗曠姸鎬� if (!pakoutService.stockOutComplete(param.getWrkNo(), param.getNumber(), userId)) { return R.error("淇濆瓨鏁版嵁澶辫触"); diff --git a/src/main/webapp/views/custOrder/custOrder.html b/src/main/webapp/views/custOrder/custOrder.html index ddf8b9f..0a1a8f4 100644 --- a/src/main/webapp/views/custOrder/custOrder.html +++ b/src/main/webapp/views/custOrder/custOrder.html @@ -92,6 +92,8 @@ class="layui-badge layui-badge-blue" ><span style="display: none">{{d.number}}</span>骞充粨</span> {{# } else if(d.type === 2){ }} class="layui-badge layui-badge-green" ><span style="display: none">{{d.number}}</span>绔嬪簱</span> + {{# } else if(d.type === 0){ }} + class="layui-badge layui-badge-red" ><span style="display: none">{{d.number}}</span>缂鸿揣</span> {{# } }} </script> diff --git a/src/main/webapp/views/pda/matQuery.html b/src/main/webapp/views/pda/matQuery.html index afb37b2..9051ba1 100644 --- a/src/main/webapp/views/pda/matQuery.html +++ b/src/main/webapp/views/pda/matQuery.html @@ -39,6 +39,13 @@ text-overflow:ellipsis; vertical-align: middle; } + .form-box textarea { + width: 120px; + margin-left: 10px; + padding-left: 5px; + height: 30px; + border: 1px solid #777777; + } #selectBtn { vertical-align: middle; padding: 3px 5px; @@ -88,12 +95,9 @@ <button id="selectBtn">閫�</button> </div> <div class="form-item"> - <span>鍟嗗搧鍚嶇О</span> - <input id="maktx" type="text" disabled="disabled"> - </div> - <div class="form-item"> - <span>鍟嗗搧瑙勬牸</span> - <input id="specs" type="text" disabled="disabled"> + <span style="float: left;margin-left: 38px">鍟嗗搧鍚嶇О</span> + <textarea id="maktx" type="text" disabled="disabled" style="height: 60px;float: left;"></textarea> + <div style="clear: both"></div> </div> <div class="form-item"> <span>鍗曚綅</span> diff --git a/src/main/webapp/views/pda/stockCheck.html b/src/main/webapp/views/pda/stockCheck.html index 8107089..f45778d 100644 --- a/src/main/webapp/views/pda/stockCheck.html +++ b/src/main/webapp/views/pda/stockCheck.html @@ -114,7 +114,7 @@ cellMinWidth: 50, cols: [[ {fixed: 'left', align: 'center', field: 'count', title: '鏁伴噺', event: 'modify', style:'font-weight: bold;', width:50}, - {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿', event: 'modify'}, + // {field: 'matnr', align: 'center', title: '鍟嗗搧缂栧彿', event: 'modify'}, {field: 'maktx', align: 'center', title: '鍟嗗搧鍚嶇О', event: 'modify'} ]], done: function (res, curr, count) { -- Gitblit v1.9.1