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