From e732ec664a35080497fd17d6550fd5d718466332 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期三, 14 十二月 2022 10:10:46 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/mapper/StaDescMapper.java | 2 src/main/java/com/zy/asrs/entity/OrderDetl.java | 9 ++ src/main/java/com/zy/common/service/erp/ErpService.java | 9 +++ src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 2 src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java | 26 +++++++- src/main/resources/mapper/OrderDetlMapper.xml | 7 ++ src/main/java/com/zy/asrs/service/OrderDetlService.java | 2 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 3 + src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 5 + src/main/webapp/static/js/order/order.js | 1 src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java | 14 ++++ src/main/resources/mapper/StaDescMapper.xml | 9 +++ src/main/java/com/zy/asrs/controller/OutController.java | 20 ++++-- src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java | 23 +++++++ 14 files changed, 118 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java index cdd590c..be942f0 100644 --- a/src/main/java/com/zy/asrs/controller/OutController.java +++ b/src/main/java/com/zy/asrs/controller/OutController.java @@ -68,9 +68,12 @@ List<LocDetl> locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist); for (LocDetl locDetl : locDetls) { if (issued > 0) { +// LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), +// issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(), - issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued); - int ioType = (issued >= locDetl.getAnfme() && locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo())) == 1) ? 101 : 103; + locDetl.getAnfme()); +// int ioType = (issued >= locDetl.getAnfme() && locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locDto.getLocNo())) == 1) ? 101 : 103; + int ioType = 101; List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), ioType); locDto.setStaNos(staNos); locDtos.add(locDto); @@ -98,6 +101,11 @@ return R.parse(BaseRes.PARAM); } boolean lack = true; + for (LocDto locDto : locDtos) { + if (Cools.isEmpty(locDto.getStaNo())) { + return R.error(locDto.getLocNo()+"搴撲綅璇烽�夋嫨鍑哄簱绔�"); + } + } for (LocDto locDto : locDtos) { if (!locDto.isLack()) { lack = false; @@ -143,10 +151,10 @@ if (order.getSettle() > 2) { return R.error(orderDto.getOrderNo() + "璁㈠崟宸插け鏁堬紝璇峰強鏃跺埛鏂伴〉闈�"); } - OrderDetl orderDetl = orderDetlService.selectItem(orderDto.getOrderNo(), orderDto.getMatnr(), orderDto.getBatch()); - if (orderDetl.getAnfme() - orderDetl.getQty() < orderDto.getAnfme()) { - return R.ok(orderDto.getOrderNo() + "璁㈠崟宸蹭綔涓氾紝璇峰強鏃跺埛鏂伴〉闈�"); - } +// OrderDetl orderDetl = orderDetlService.selectItemNoneOfBatch(orderDto.getOrderNo(), orderDto.getMatnr()); +// if (orderDetl.getAnfme() - orderDetl.getQty() < orderDto.getAnfme()) { +// return R.ok(orderDto.getOrderNo() + "璁㈠崟宸蹭綔涓氾紝璇峰強鏃跺埛鏂伴〉闈�"); +// } } List<TaskDto> taskDtos = new ArrayList<>(); diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java index aafcf23..2d20f94 100644 --- a/src/main/java/com/zy/asrs/entity/OrderDetl.java +++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java @@ -433,10 +433,15 @@ } public Double getEnableQty() { + Double enableQty = null; if (null != this.anfme && this.qty != null) { - return this.anfme - this.qty; + enableQty = this.anfme - this.qty; + if (enableQty < 0) { + enableQty = 0.0D; + } +// return this.anfme - this.qty; } - return null; + return enableQty; } public void sync(Object source) { diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java index ea2f5e5..f2b42ce 100644 --- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java +++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java @@ -17,6 +17,8 @@ OrderDetl selectItemByOrderNo(@Param("orderNo") String orderNo, @Param("matnr") String matnr, @Param("batch") String batch); + OrderDetl selectItemNoneOfBatch(String orderNo, String matnr); + List<OrderDetl> selectWorkingDetls(Long orderId); List<OrderDetl> getPakoutPage(Map<String, Object> map); diff --git a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java index c26c603..4eb6237 100644 --- a/src/main/java/com/zy/asrs/mapper/StaDescMapper.java +++ b/src/main/java/com/zy/asrs/mapper/StaDescMapper.java @@ -14,6 +14,8 @@ List<Integer> queryOutStaNosByLocNo(@Param("locNo") String locNo, @Param("typeNo") Integer typeNo); + List<Integer> queryOutStaNosByCrnNo(@Param("crnNo") Integer crnNo, @Param("typeNo") Integer typeNo); + StaDesc queryCrnStn(Integer crnNo); } diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java index cf82d5d..b7caad5 100644 --- a/src/main/java/com/zy/asrs/service/OrderDetlService.java +++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java @@ -16,6 +16,8 @@ OrderDetl selectItem(String orderNo, String matnr, String batch); + OrderDetl selectItemNoneOfBatch(String orderNo, String matnr); + OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch); boolean increaseAnfme(Long orderId, String matnr, String batch, Double qty); diff --git a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java index db0b708..0419b37 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java @@ -39,6 +39,11 @@ } @Override + public OrderDetl selectItemNoneOfBatch(String orderNo, String matnr) { + return this.baseMapper.selectItemNoneOfBatch(orderNo, matnr); + } + + @Override public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) { for (OrderDetl orderDetl : orderDetls) { if (orderDetl.getOrderId().equals(orderId) && orderDetl.getMatnr().equals(matnr)) { diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java index 5b9e608..bf68fed 100644 --- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java @@ -15,6 +15,7 @@ import com.zy.common.model.DetlDto; import com.zy.common.model.OrderDto; import com.zy.common.model.OrderMergeVo; +import com.zy.common.service.erp.ErpService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -40,6 +41,8 @@ private WrkDetlService wrkDetlService; @Autowired private MatService matService; + @Autowired + private ErpService erpService; @Override public Order selectByNo(String orderNo) { diff --git a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java index 1b995a3..999ba33 100644 --- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java @@ -7,7 +7,11 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.StaDesc; import com.zy.asrs.mapper.StaDescMapper; +import com.zy.asrs.service.LocMastService; import com.zy.asrs.service.StaDescService; +import com.zy.asrs.utils.Utils; +import com.zy.common.service.CommonService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -15,9 +19,26 @@ @Service("staDescService") public class StaDescServiceImpl extends ServiceImpl<StaDescMapper, StaDesc> implements StaDescService { + @Autowired + private LocMastService locMastService; + @Override public List<Integer> queryOutStaNosByLocNo(String locNo, Integer typeNo) { - return this.baseMapper.queryOutStaNosByLocNo(locNo, typeNo); + int crnNo = 0; + int row = Utils.getRow(locNo); + if (CommonService.FIRST_GROUP_ROW_LIST.contains(row)) { + crnNo = 1; + } + if (CommonService.SECOND_GROUP_ROW_LIST.contains(row)) { + crnNo = 3; + } + if (row == 1) { + crnNo = 1; + } + if (row == 31 || row == 32) { + crnNo = 3; + } + return this.baseMapper.queryOutStaNosByCrnNo(crnNo, typeNo); } @Override 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 6571c51..f245ab7 100644 --- a/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java @@ -1,5 +1,6 @@ package com.zy.asrs.task.handler; +import com.alibaba.fastjson.JSON; import com.core.exception.CoolException; import com.zy.asrs.entity.DocType; import com.zy.asrs.entity.Order; @@ -11,11 +12,13 @@ import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; import com.zy.common.service.erp.ErpService; +import com.zy.common.service.erp.entity.VoucherDetail; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.transaction.interceptor.TransactionAspectSupport; import java.util.List; @@ -70,11 +73,20 @@ if (!erpService.updateStateForVoucher(order.getOrderNo(), state)) { throw new CoolException(order.getOrderNo() + "璁㈠崟淇敼State涓�"+state+"澶辫触"); } else { - erpService.updateTimeForVoucherDetail(order.getOrderNo()); + for (OrderDetl orderDetl : orderDetls) { + VoucherDetail voucherDetail = new VoucherDetail(); + voucherDetail.setVoucherID(order.getOrderNo()); + voucherDetail.setPickID("fepvnn0496"); + voucherDetail.setBarcode(orderDetl.getBatch()); + if (!erpService.insertVoucherDetail(voucherDetail)) { + throw new CoolException(order.getOrderNo() + "璁㈠崟娣诲姞VoucherDetail"+ JSON.toJSONString(voucherDetail)+"澶辫触"); + } + } } } catch (Exception e) { log.error("fail", e); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); } } diff --git a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java index 62cca94..14cb132 100644 --- a/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java +++ b/src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java @@ -119,8 +119,17 @@ } } // 淇敼 erp Goods 琛� - List<WrkDetl> wrkDetls0 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); - for (WrkDetl wrkDetl : wrkDetls0) { + for (WrkDetl wrkDetl : wrkDetls) { + Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); + } + } + for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); if (!Cools.isEmpty(goods)) { if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { @@ -140,8 +149,17 @@ } } // 淇敼 erp Goods 琛� - List<WrkDetl> wrkDetls0 = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); - for (WrkDetl wrkDetl : wrkDetls0) { + for (WrkDetl wrkDetl : wrkDetls) { + Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); + if (!Cools.isEmpty(goods)) { + if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { + log.error("{}鏉$爜鍦╡rp鏁版嵁搴撲腑鏇存柊澶辫触锛�", goods.getBarCode()); + } + } else { + log.error("{}鏉$爜涓嶅湪erp鏁版嵁搴撲腑锛�", wrkDetl.getMatnr()); + } + } + for (WrkDetl wrkDetl : wrkDetlsKeyOrder) { Goods goods = erpService.selectGoodsOne(wrkDetl.getBatch()); if (!Cools.isEmpty(goods)) { if (!erpService.updateStateForGoods(goods.getBarCode(), 4)) { diff --git a/src/main/java/com/zy/common/service/erp/ErpService.java b/src/main/java/com/zy/common/service/erp/ErpService.java index bb66ce0..c4c8d79 100644 --- a/src/main/java/com/zy/common/service/erp/ErpService.java +++ b/src/main/java/com/zy/common/service/erp/ErpService.java @@ -119,4 +119,13 @@ return erpSqlServer.update(sql) > 0; } + /** + * 鏂板 VoucherDetail 琛� + */ + public boolean insertVoucherDetail(VoucherDetail voucherDetail){ + String sql = "update VoucherDetail set LastUpdatedDate = ''{1}'' where VoucherID = ''{0}''"; + sql = MessageFormat.format(sql, voucherID, DateUtils.convert(new Date())); + return erpSqlServer.update(sql) > 0; + } + } diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml index ee1bf31..4886921 100644 --- a/src/main/resources/mapper/OrderDetlMapper.xml +++ b/src/main/resources/mapper/OrderDetlMapper.xml @@ -74,6 +74,13 @@ </if> </select> + <select id="selectItemNoneOfBatch" resultMap="BaseResultMap"> + select * from man_order_detl + where 1=1 + and order_no = #{orderNo} + and matnr = #{matnr} + </select> + <select id="selectWorkingDetls" resultMap="BaseResultMap"> select * from man_order_detl where 1=1 diff --git a/src/main/resources/mapper/StaDescMapper.xml b/src/main/resources/mapper/StaDescMapper.xml index 97d9e7c..92209c8 100644 --- a/src/main/resources/mapper/StaDescMapper.xml +++ b/src/main/resources/mapper/StaDescMapper.xml @@ -32,6 +32,15 @@ </if> </select> + <select id="queryOutStaNosByCrnNo" resultType="java.lang.Integer"> + select + distinct asd.stn_no + from asr_sta_desc asd + where 1=1 + and asd.crn_no = #{crnNo} + and asd.type_no = #{typeNo} + </select> + <select id="queryCrnStn" resultMap="BaseResultMap"> select top 1 * from asr_sta_desc where 1=1 diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js index 9b5476b..ebd66fd 100644 --- a/src/main/webapp/static/js/order/order.js +++ b/src/main/webapp/static/js/order/order.js @@ -46,6 +46,7 @@ {type: 'numbers'}, {field: 'orderNo', title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl'}, {field: 'docType$', align: 'center', title: '绫诲瀷', minWidth: 160, width: 160}, + {field: 'postFee', align: 'center', title: '鎬绘暟閲�', minWidth: 130, width: 130}, {align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160}, {field: 'createTime$', title: '鍒涘缓鏃堕棿', minWidth: 200, width: 200}, {field: 'settle$', align: 'center', title: '鐘舵��', templet: '#settleTpl', minWidth: 160, width: 160}, -- Gitblit v1.9.1