From 922990d16284ac3bdb79b7608532905af3228956 Mon Sep 17 00:00:00 2001
From: ZY <zc857179121@qq.com>
Date: 星期五, 13 九月 2024 16:40:08 +0800
Subject: [PATCH] 1
---
src/main/java/com/zy/asrs/entity/param/CombParam.java | 2
src/main/java/com/zy/system/entity/license/LicenseCheckListener.java | 3
src/main/java/com/zy/asrs/service/OrderService.java | 2
src/main/java/com/zy/asrs/entity/CombBillQueryVo.java | 24 +
src/main/java/com/zy/asrs/service/LocDetlService.java | 5
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java | 4
src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java | 26 +
src/main/java/com/zy/asrs/controller/MobileController.java | 18
src/main/java/com/zy/asrs/controller/WaitPakinController.java | 2
src/main/resources/mapper/OrderDetlMapper.xml | 18
src/main/java/com/zy/asrs/entity/WaitPakin.java | 15
src/main/java/com/zy/asrs/service/OrderDetlService.java | 26 +
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java | 98 +++---
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java | 183 +++++++----
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 4
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 334 +++++++++++----------
src/main/java/com/zy/asrs/utils/MatCompareUtils.java | 60 ++++
src/main/java/com/zy/asrs/controller/OutController.java | 55 --
src/main/java/com/zy/asrs/service/MobileService.java | 2
19 files changed, 516 insertions(+), 365 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 9718208..e739ef9 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -176,12 +176,12 @@
return R.ok("缁勬墭鎴愬姛");
}
- @RequestMapping("/pack/comb/auth")
- @ManagerAuth(memo = "涓嬬嚎缁勬墭")
- public R packComb(@RequestBody CombParam combParam) {
- mobileService.packComb(combParam, getUserId());
- return R.ok("缁勬墭鎴愬姛");
- }
+// @RequestMapping("/pack/comb/auth")
+// @ManagerAuth(memo = "涓嬬嚎缁勬墭")
+// public R packComb(@RequestBody CombParam combParam) {
+// mobileService.packComb(combParam, getUserId());
+// return R.ok("缁勬墭鎴愬姛");
+// }
// 鍑哄簱 ---------------------------------------------------------------------------------------------------
@@ -442,6 +442,7 @@
if (!Cools.isEmpty(waitMatins)) {
for (OrderDetl waitMatin : waitMatins) {
CombBillQueryVo vo = new CombBillQueryVo();
+ vo.setDetlId(waitMatin.getId());
vo.setMatnr(waitMatin.getMatnr());
vo.setMatName(waitMatin.getMaktx());
vo.setQty(waitMatin.getAnfme() - waitMatin.getWorkQty());
@@ -453,6 +454,11 @@
vo.setSize(waitMatin.getModel());
vo.setColor(waitMatin.getColor());
vo.setItemBatch(waitMatin.getBatch());
+ vo.setLuHao(waitMatin.getLuHao());
+ vo.setOutOrderNo(waitMatin.getOutOrderNo());
+ vo.setSPgNO(waitMatin.getSPgNO());
+ vo.setProType(waitMatin.getProType());
+ vo.setPacking(waitMatin.getPacking());
//vo.setOveFlag(waitMatin.getOveFlag());
vos.add(vo);
}
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index eb631b7..1ae8a1c 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -1,6 +1,5 @@
package com.zy.asrs.controller;
-import com.alibaba.fastjson.JSON;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -89,48 +88,22 @@
if (issued <= 0.0D) {
continue;
}
- List<LocDetl> locDetls = null;
- if (Cools.isEmpty(orderDetls.get(0).getSPgNO())) {
- locDetls = locDetlService.queryStock(orderDetl.getMatnr(), orderDetl.getBatch(), null, null);
- if (locDetls == null) {
- locDetls = locDetlService.queryStock(orderDetl.getMatnr(), null, null, null);
- }
- } else {
- locDetls = locDetlService.queryStock(orderDetl.getSPgNO());
- }
+ List<LocDetl> locDetls = locDetlService.queryStock(orderDetl);
for (LocDetl locDetl : locDetls) {
- if (Cools.isEmpty(locDetl.getBatch()) || Cools.isEmpty(orderDetl.getBatch())) {
- if (locDetl.getMatnr().equals(orderDetl.getMatnr())) {
- if (issued > 0) {
- LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
- issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
- locDto.setStaNos(staNos);
- locDto.setModel(locDetl.getModel());
- locDtos.add(locDto);
- exist.add(locDetl.getLocNo());
- // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
- issued = issued - locDetl.getAnfme();
- } else {
- break;
- }
- }
- } else {
- if (locDetl.getMatnr().equals(orderDetl.getMatnr()) && locDetl.getBatch().equals(orderDetl.getBatch())) {
- if (issued > 0) {
- LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
- issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
- locDto.setStaNos(staNos);
- locDto.setModel(locDetl.getModel());
- locDtos.add(locDto);
- exist.add(locDetl.getLocNo());
- // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
- issued = issued - locDetl.getAnfme();
- } else {
- break;
- }
+ if (locDetl.getMatnr().equals(orderDetl.getMatnr())) {
+ if (issued > 0) {
+ LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
+ issued >= locDetl.getAnfme() ? locDetl.getAnfme() : issued);
+ List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), issued >= locDetl.getAnfme() ? 101 : 103);
+ locDto.setStaNos(staNos);
+ locDto.setModel(locDetl.getModel());
+ locDtos.add(locDto);
+ exist.add(locDetl.getLocNo());
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ } else {
+ break;
}
}
}
diff --git a/src/main/java/com/zy/asrs/controller/WaitPakinController.java b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
index 7d994d8..3ac94fd 100644
--- a/src/main/java/com/zy/asrs/controller/WaitPakinController.java
+++ b/src/main/java/com/zy/asrs/controller/WaitPakinController.java
@@ -105,7 +105,7 @@
waitPakinService.delete(new EntityWrapper<>(entity));
//璁㈠崟鍏宠仈锛屼慨鏀硅鍗曚綔涓氭暟閲�
if (!Cools.isEmpty(entity.getOrderNo())) {
- if (!orderDetlService.decrease(entity.getOrderNo(), entity.getMatnr(), entity.getBatch(), entity.getAnfme())) {
+ if (!orderDetlService.decrease(entity, entity.getAnfme())) {
return R.error("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
}
diff --git a/src/main/java/com/zy/asrs/entity/CombBillQueryVo.java b/src/main/java/com/zy/asrs/entity/CombBillQueryVo.java
index c044a38..3589590 100644
--- a/src/main/java/com/zy/asrs/entity/CombBillQueryVo.java
+++ b/src/main/java/com/zy/asrs/entity/CombBillQueryVo.java
@@ -1,5 +1,6 @@
package com.zy.asrs.entity;
+import com.baomidou.mybatisplus.annotations.TableField;
import lombok.Data;
/**
@@ -7,6 +8,8 @@
*/
@Data
public class CombBillQueryVo {
+
+ private Long detlId;
private String billNo;
@@ -45,4 +48,25 @@
private String itemBatch;
private Integer oveFlag;
+
+
+
+ private String outOrderNo;
+ /**
+ * 鐐夊彿\瀹㈡埛鍥惧彿
+ */
+ private String luHao;
+
+
+ private String packing;
+ /**
+ * 娲惧伐鍗�
+ */
+ private String sPgNO;
+
+
+
+ private String proType;
+
+
}
diff --git a/src/main/java/com/zy/asrs/entity/WaitPakin.java b/src/main/java/com/zy/asrs/entity/WaitPakin.java
index dc1d4eb..af3d074 100644
--- a/src/main/java/com/zy/asrs/entity/WaitPakin.java
+++ b/src/main/java/com/zy/asrs/entity/WaitPakin.java
@@ -156,14 +156,25 @@
*/
@TableField("out_order_no")
private String outOrderNo;
-
-
/**
* 宸ュ崟鍙�
*/
@TableField("pg_no")
private String sPgNO;
+ @TableField("pro_type")
+ private String proType;
+
+ /**
+ * 鐐夊彿\瀹㈡埛鍥惧彿
+ */
+ @TableField("lu_hao")
+ private String luHao;
+
+
+ @TableField("packing")
+ private String packing;
+
public String getBeBatch$(){
if (null == this.beBatch){ return null; }
diff --git a/src/main/java/com/zy/asrs/entity/param/CombParam.java b/src/main/java/com/zy/asrs/entity/param/CombParam.java
index 472fe59..97ab3b5 100644
--- a/src/main/java/com/zy/asrs/entity/param/CombParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -28,6 +28,8 @@
@Data
public static class CombMat {
+ private Long detlId;
+
// 鐗╂枡缂栧彿
private String matnr;
diff --git a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
index 4842f5a..c946f82 100644
--- a/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
@@ -27,13 +27,15 @@
int decrease(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
+ int decrease2(@Param("id")Long id, @Param("qty")Double qty);
+
int modifyStatus(@Param("orderId") Long orderId, @Param("status")Integer status);
int addToLogTable(OrderDetl orderDetl);
int increaseQtyByOrderNo(@Param("orderNo")String orderNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("qty")Double qty);
- int increaseWorkQty(@Param("orderId")Long orderId, @Param("matnr")String matnr, @Param("batch")String batch, @Param("workQty")Double workQty);
+ int increaseWorkQty(@Param("id")Long id, @Param("workQty")Double workQty);
List<OrderDetl> listByOrderNo(@Param("orderNo") String orderNo);
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 7bdd881..292bf50 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.StockStatisDTO;
import com.zy.asrs.entity.result.StockVo;
@@ -54,9 +55,9 @@
// --------------------------------------------------
- List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
+ //List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos);
- List<LocDetl> queryStock(String sPgNO);
+ List<LocDetl> queryStock(OrderDetl orderDetl);
List<LocDetl> queryStockByModel(String model);
diff --git a/src/main/java/com/zy/asrs/service/MobileService.java b/src/main/java/com/zy/asrs/service/MobileService.java
index 6172647..3b13e61 100644
--- a/src/main/java/com/zy/asrs/service/MobileService.java
+++ b/src/main/java/com/zy/asrs/service/MobileService.java
@@ -32,7 +32,7 @@
*/
void adjust(MobileAdjustParam param, Long userId);
- void packComb(CombParam param, Long userId);
+ //void packComb(CombParam param, Long userId);
void pakoutByOrder(JSONObject param, Long userId);
diff --git a/src/main/java/com/zy/asrs/service/OrderDetlService.java b/src/main/java/com/zy/asrs/service/OrderDetlService.java
index 27dfcbf..9f76a6c 100644
--- a/src/main/java/com/zy/asrs/service/OrderDetlService.java
+++ b/src/main/java/com/zy/asrs/service/OrderDetlService.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.WaitPakin;
+import com.zy.asrs.entity.WrkDetl;
import java.util.List;
@@ -12,17 +14,21 @@
Page<OrderDetl> getPakoutPage(Page<OrderDetl> page);
- OrderDetl selectItem(Long orderId, String matnr, String batch,Double qty);
-
- OrderDetl selectItem(String orderNo, String matnr, String batch,Double qty);
-
- OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty);
+// OrderDetl selectItem(Long orderId, String matnr, String batch,Double qty);
+//
+// OrderDetl selectItem(String orderNo, String matnr, String batch,Double qty);
+//
+// OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty);
OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch);
boolean increase(Long orderId, String matnr, String batch, Double qty);
- boolean decrease(String orderNo, String matnr, String batch, Double qty);
+ //boolean decrease(String orderNo, String matnr, String batch, Double qty);
+
+ boolean decrease(WrkDetl wrkDetl, Double qty);
+
+ boolean decrease(WaitPakin waitPakin, Double qty);
boolean modifyStatus(Long orderId, Integer status);
@@ -32,13 +38,13 @@
/**
* 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
- * @param orderId
- * @param matnr
- * @param batch
+ * @param orderDetl
* @param workQty
* @return
*/
- boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty);
+ boolean increaseWorkQty(OrderDetl orderDetl, Double workQty);
List<OrderDetl> selectItem(String orderNo);
+
+ OrderDetl selectItem(WaitPakin waitPakin);
}
diff --git a/src/main/java/com/zy/asrs/service/OrderService.java b/src/main/java/com/zy/asrs/service/OrderService.java
index 1711cc9..c9df78f 100644
--- a/src/main/java/com/zy/asrs/service/OrderService.java
+++ b/src/main/java/com/zy/asrs/service/OrderService.java
@@ -18,7 +18,7 @@
void checkComplete(String orderNo);
- boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls);
+ //boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls);
void remove(Long orderId);
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index b5f964f..4df3e6c 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -1,15 +1,17 @@
package com.zy.asrs.service.impl;
-import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.zy.asrs.entity.LocDetl;
+import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.StockStatisDTO;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.utils.MatCompareUtils;
import org.springframework.stereotype.Service;
+import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -84,14 +86,24 @@
return this.baseMapper.countLocNoNum(locNo);
}
- @Override
- public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
- return this.baseMapper.queryStock(null, matnr, batch, orderNo, locNos);
- }
+// @Override
+// public List<LocDetl> queryStock(String matnr, String batch, String orderNo, Set<String> locNos) {
+// return this.baseMapper.queryStock(null, matnr, batch, orderNo, locNos);
+// }
@Override
- public List<LocDetl> queryStock(String spgNo) {
- return this.baseMapper.queryStock(spgNo, null, null, null, null);
+ public List<LocDetl> queryStock(OrderDetl orderDetl) {
+ List<LocDetl> data = new ArrayList<>();
+ List<LocDetl> locDetls = this.baseMapper.queryStock(null, orderDetl.getMatnr(), null, null, null);
+ if (locDetls == null) {
+ return null;
+ }
+ for (LocDetl locDetl : locDetls) {
+ if (MatCompareUtils.compare(locDetl, orderDetl)) {
+ data.add(locDetl);
+ }
+ }
+ return data;
}
@Override
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 99f0779..e88a6a8 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -159,12 +159,13 @@
param.getCombMats().forEach(elem -> {
// 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getAnfme() );
+ //OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch(),elem.getAnfme() );
+ OrderDetl orderDetl = orderDetlService.selectById(elem.getDetlId());
if (elem.getAnfme() > orderDetl.getEnableQty()) {
throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
}
// 淇敼璁㈠崟浣滀笟鏁伴噺
- if (!orderDetlService.increaseWorkQty(order.getId(), elem.getMatnr(), elem.getBatch(), elem.getAnfme())) {
+ if (!orderDetlService.increaseWorkQty(orderDetl, elem.getAnfme())) {
throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
}
@@ -194,13 +195,17 @@
waitPakin.setAppeTime(now);
waitPakin.setModiUser(userId);
waitPakin.setModiTime(now);
- OrderDetl orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), waitPakin.getBatch(),detlDto.getAnfme());
- if (orderDetl == null) {
- orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,detlDto.getAnfme());
- }
+ OrderDetl orderDetl = orderDetlService.selectItem(waitPakin);
+// if (orderDetl == null) {
+// orderDetl = orderDetlService.selectItem(order.getOrderNo(), waitPakin.getMatnr(), null,detlDto.getAnfme());
+// }
if (orderDetl!=null){
+ waitPakin.setBatch(orderDetl.getBatch());
waitPakin.setSPgNO(orderDetl.getSPgNO());
waitPakin.setOutOrderNo(orderDetl.getOutOrderNo());
+ waitPakin.setProType(orderDetl.getProType());
+ waitPakin.setLuHao(orderDetl.getLuHao());
+ waitPakin.setPacking(orderDetl.getPacking());
}
if (!waitPakinService.insert(waitPakin)) {
throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
@@ -347,164 +352,165 @@
}
- @Override
- @Transactional
- public void packComb(CombParam param, Long userId) {
- if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
- throw new CoolException(BaseRes.PARAM);
- }
- // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
- if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
- eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
- throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
- }
- Date now = new Date();
-
- boolean packDown = Parameter.get().getPackDown().equals("true");
-
- // 鏃犲崟缁勬墭
- if (Cools.isEmpty(param.getOrderNo())) {
-
- // 鐢熸垚鍏ュ簱閫氱煡妗�
- List<DetlDto> detlDtos = new ArrayList<>();
- param.getCombMats().forEach(elem -> {
- // 鎵撳寘涓婄嚎鏁版嵁鏍¢獙
- if (packDown) {
- Pack pack = packService.selectByBarcode(elem.getMatnr());
- if (pack == null) {
- throw new CoolException(elem.getMatnr() + "鏉$爜鍐椾綑锛岃妫�鏌ワ紒");
- }
- if (pack.getSettle() != 1) {
- throw new CoolException(elem.getMatnr() + "鏉$爜宸蹭笅绾匡紝璇锋鏌ワ紒");
- }
- }
- Mat analyse = MatUtils.analyseMat(elem.getMatnr());
- // 鏉$爜銆佺墿鏂欎唬鐮併�佸簭鍒楀彿銆佹暟閲�
- DetlDto detlDto = new DetlDto(elem.getMatnr(), analyse.getMatnr(), analyse.getBarcode(), elem.getAnfme());
-// DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
- if (DetlDto.has(detlDtos, detlDto)) {
- DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
- assert one != null;
- one.setAnfme(one.getAnfme() + detlDto.getAnfme());
- } else {
- detlDtos.add(detlDto);
- }
- });
-
- if (packDown) {
- MesCombParam mesCombParam = new MesCombParam();
- mesCombParam.setZpallet(param.getBarcode());
- mesCombParam.setPakinTime(DateUtils.convert(now));
- mesCombParam.setLgort("5008");
- mesCombParam.setPlantCode("5000");
- mesCombParam.setFromCode("5012-20");
- mesCombParam.setStationCode("JJQ-PFZPDB-XX");
- for (DetlDto detlDto : detlDtos) {
- mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getOrderNo(), detlDto.getAnfme()));
- }
- String response = "";
- boolean success = false;
- try {
- response = new HttpHandler.Builder()
- .setUri(MesConstant.URL)
- .setPath(MesConstant.PACK_DOWN_URL)
- .setJson(JSON.toJSONString(mesCombParam))
- .build()
- .doPost();
- JSONObject jsonObject = JSON.parseObject(response);
- if (jsonObject.getInteger("code").equals(200)) {
- success = true;
- } else if (jsonObject.getInteger("code").equals(500)) {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
- throw new CoolException(jsonObject.getString("msg"));
- } else {
- log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
- throw new CoolException("涓婃姤mes绯荤粺澶辫触");
- }
- } catch (Exception e) {
- log.error("fail", e);
- throw new CoolException(e.getMessage());
- } finally {
- try {
- // 淇濆瓨鎺ュ彛鏃ュ織
- apiLogService.save(
- "鎵撳寘涓嬬嚎甯墭涓婃姤",
- MesConstant.URL + MesConstant.PACK_DOWN_URL,
- null,
- "127.0.0.1",
- JSON.toJSONString(mesCombParam),
- response,
- success
- );
- } catch (Exception e) {
- log.error("", e);
- }
- }
-
- }
-
- // 鐢熸垚鍏ュ簱鍗曟嵁
- String orderNo = "PACK" + snowflakeIdWorker.nextId();
- OpenOrderPakinParam openParam = new OpenOrderPakinParam();
- openParam.setOrderNo(orderNo);
- openParam.setOrderTime(DateUtils.convert(now));
- openParam.setOrderType("鎵撳寘鍏ュ簱鍗�");
- openParam.setOrderDetails(detlDtos);
- openService.pakinOrderCreate(openParam);
- Order order = orderService.selectByNo(orderNo);
- if (null == order) {
- throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
- }
- if (!orderService.updateSettle(order.getId(), 2L, userId)) {
- throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
- }
-
- // 鐢熸垚鍏ュ簱閫氱煡妗�
- for (DetlDto detlDto : detlDtos) {
-
- // 淇敼浣滀笟鏁伴噺 ----------------------------------------
- // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
- OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getAnfme());
- if (detlDto.getAnfme() > orderDetl.getEnableQty()) {
- throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
- }
- // 淇敼璁㈠崟浣滀笟鏁伴噺
- if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
- throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
- }
-
- // 淇濆瓨鍏ュ簱閫氱煡妗�
- Mat mat = matService.selectByMatnr(detlDto.getMatnr());
- if (Cools.isEmpty(mat)) {
- throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
- }
- WaitPakin waitPakin = new WaitPakin();
- waitPakin.sync(mat);
- waitPakin.setOrderNo(orderNo);
- waitPakin.setBatch(detlDto.getBatch());
- waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
- waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
- waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
- waitPakin.setStatus("Y"); // 鐘舵��
- waitPakin.setAppeUser(userId);
- waitPakin.setAppeTime(now);
- waitPakin.setModiUser(userId);
- waitPakin.setModiTime(now);
- if (!waitPakinService.insert(waitPakin)) {
- throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
- }
- // 淇敼鎵撳寘鏁版嵁鐘舵��
- Pack pack = packService.selectByBarcode(detlDto.getOrderNo());
- pack.setSettle(2L);
- pack.setUpdateTime(now);
- pack.setUpdateBy(userId);
- if (!packService.updateById(pack)) {
- throw new CoolException("淇敼鎵撳寘鏁版嵁寮傚父");
- }
- }
-
- }
- }
+// @Override
+// @Transactional
+// public void packComb(CombParam param, Long userId) {
+// if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) {
+// throw new CoolException(BaseRes.PARAM);
+// }
+// // 鍒ゆ柇鏄惁鏈夌浉鍚屾潯鐮佺殑鏁版嵁
+// if (waitPakinService.selectCount(new EntityWrapper<WaitPakin>().
+// eq("zpallet", param.getBarcode()).eq("io_status", "N")) > 0) {
+// throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
+// }
+// Date now = new Date();
+//
+// boolean packDown = Parameter.get().getPackDown().equals("true");
+//
+// // 鏃犲崟缁勬墭
+// if (Cools.isEmpty(param.getOrderNo())) {
+//
+// // 鐢熸垚鍏ュ簱閫氱煡妗�
+// List<DetlDto> detlDtos = new ArrayList<>();
+// param.getCombMats().forEach(elem -> {
+// // 鎵撳寘涓婄嚎鏁版嵁鏍¢獙
+// if (packDown) {
+// Pack pack = packService.selectByBarcode(elem.getMatnr());
+// if (pack == null) {
+// throw new CoolException(elem.getMatnr() + "鏉$爜鍐椾綑锛岃妫�鏌ワ紒");
+// }
+// if (pack.getSettle() != 1) {
+// throw new CoolException(elem.getMatnr() + "鏉$爜宸蹭笅绾匡紝璇锋鏌ワ紒");
+// }
+// }
+// Mat analyse = MatUtils.analyseMat(elem.getMatnr());
+// // 鏉$爜銆佺墿鏂欎唬鐮併�佸簭鍒楀彿銆佹暟閲�
+// DetlDto detlDto = new DetlDto(elem.getMatnr(), analyse.getMatnr(), analyse.getBarcode(), elem.getAnfme());
+//// DetlDto detlDto = new DetlDto(elem.getMatnr(), elem.getBatch(), elem.getAnfme());
+// if (DetlDto.has(detlDtos, detlDto)) {
+// DetlDto one = DetlDto.find(detlDtos, detlDto.getMatnr(), detlDto.getBatch());
+// assert one != null;
+// one.setAnfme(one.getAnfme() + detlDto.getAnfme());
+// } else {
+// detlDtos.add(detlDto);
+// }
+// });
+//
+// if (packDown) {
+// MesCombParam mesCombParam = new MesCombParam();
+// mesCombParam.setZpallet(param.getBarcode());
+// mesCombParam.setPakinTime(DateUtils.convert(now));
+// mesCombParam.setLgort("5008");
+// mesCombParam.setPlantCode("5000");
+// mesCombParam.setFromCode("5012-20");
+// mesCombParam.setStationCode("JJQ-PFZPDB-XX");
+// for (DetlDto detlDto : detlDtos) {
+// mesCombParam.getList().add(new MesCombParam.Detl(detlDto.getOrderNo(), detlDto.getAnfme()));
+// }
+// String response = "";
+// boolean success = false;
+// try {
+// response = new HttpHandler.Builder()
+// .setUri(MesConstant.URL)
+// .setPath(MesConstant.PACK_DOWN_URL)
+// .setJson(JSON.toJSONString(mesCombParam))
+// .build()
+// .doPost();
+// JSONObject jsonObject = JSON.parseObject(response);
+// if (jsonObject.getInteger("code").equals(200)) {
+// success = true;
+// } else if (jsonObject.getInteger("code").equals(500)) {
+// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+// throw new CoolException(jsonObject.getString("msg"));
+// } else {
+// log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", MesConstant.URL + MesConstant.PACK_DOWN_URL, JSON.toJSONString(mesCombParam), response);
+// throw new CoolException("涓婃姤mes绯荤粺澶辫触");
+// }
+// } catch (Exception e) {
+// log.error("fail", e);
+// throw new CoolException(e.getMessage());
+// } finally {
+// try {
+// // 淇濆瓨鎺ュ彛鏃ュ織
+// apiLogService.save(
+// "鎵撳寘涓嬬嚎甯墭涓婃姤",
+// MesConstant.URL + MesConstant.PACK_DOWN_URL,
+// null,
+// "127.0.0.1",
+// JSON.toJSONString(mesCombParam),
+// response,
+// success
+// );
+// } catch (Exception e) {
+// log.error("", e);
+// }
+// }
+//
+// }
+//
+// // 鐢熸垚鍏ュ簱鍗曟嵁
+// String orderNo = "PACK" + snowflakeIdWorker.nextId();
+// OpenOrderPakinParam openParam = new OpenOrderPakinParam();
+// openParam.setOrderNo(orderNo);
+// openParam.setOrderTime(DateUtils.convert(now));
+// openParam.setOrderType("鎵撳寘鍏ュ簱鍗�");
+// openParam.setOrderDetails(detlDtos);
+// openService.pakinOrderCreate(openParam);
+// Order order = orderService.selectByNo(orderNo);
+// if (null == order) {
+// throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
+// }
+// if (!orderService.updateSettle(order.getId(), 2L, userId)) {
+// throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
+// }
+//
+// // 鐢熸垚鍏ュ簱閫氱煡妗�
+// for (DetlDto detlDto : detlDtos) {
+//
+// // 淇敼浣滀笟鏁伴噺 ----------------------------------------
+// // 璁㈠崟鏄庣粏鏁伴噺鏍¢獙
+// OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), detlDto.getMatnr(), detlDto.getBatch(),detlDto.getAnfme());
+//
+// if (detlDto.getAnfme() > orderDetl.getEnableQty()) {
+// throw new CoolException(orderDetl.getMatnr() + "鍏ュ簱鏁伴噺涓嶅悎娉�");
+// }
+// // 淇敼璁㈠崟浣滀笟鏁伴噺
+// if (!orderDetlService.increaseWorkQty(orderDetl, detlDto.getAnfme())) {
+// throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
+// }
+//
+// // 淇濆瓨鍏ュ簱閫氱煡妗�
+// Mat mat = matService.selectByMatnr(detlDto.getMatnr());
+// if (Cools.isEmpty(mat)) {
+// throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
+// }
+// WaitPakin waitPakin = new WaitPakin();
+// waitPakin.sync(mat);
+// waitPakin.setOrderNo(orderNo);
+// waitPakin.setBatch(detlDto.getBatch());
+// waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
+// waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
+// waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
+// waitPakin.setStatus("Y"); // 鐘舵��
+// waitPakin.setAppeUser(userId);
+// waitPakin.setAppeTime(now);
+// waitPakin.setModiUser(userId);
+// waitPakin.setModiTime(now);
+// if (!waitPakinService.insert(waitPakin)) {
+// throw new CoolException("淇濆瓨鍏ュ簱閫氱煡妗eけ璐�");
+// }
+// // 淇敼鎵撳寘鏁版嵁鐘舵��
+// Pack pack = packService.selectByBarcode(detlDto.getOrderNo());
+// pack.setSettle(2L);
+// pack.setUpdateTime(now);
+// pack.setUpdateBy(userId);
+// if (!packService.updateById(pack)) {
+// throw new CoolException("淇敼鎵撳寘鏁版嵁寮傚父");
+// }
+// }
+//
+// }
+// }
@Override
@Transactional
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 9752268..dbc5388 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
@@ -5,8 +5,11 @@
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.core.common.Cools;
import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.WaitPakin;
+import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.utils.MatCompareUtils;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -31,62 +34,62 @@
return this.baseMapper.listByOrderNo(orderNo);
}
- @Override
- public OrderDetl selectItem(Long orderId, String matnr, String batch, Double qty) {
- List<OrderDetl> detlList = this.baseMapper.selectItem(orderId, matnr, batch);
- if (detlList == null || detlList.isEmpty()) {
- return null;
- } else if (detlList.size() == 1) {
- return detlList.get(0);
- } else {
- if (qty != null) {
- for (OrderDetl orderDetl : detlList) {
- if (qty.equals(orderDetl.getAnfme())) {
- return orderDetl;
- }
- }
- }
- return detlList.get(0);
- }
- }
-
- @Override
- public OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty) {
- List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
- if (detlList == null || detlList.isEmpty()) {
- return null;
- } else if (detlList.size() == 1) {
- return detlList.get(0);
- } else {
- if (qty != null) {
- for (OrderDetl orderDetl : detlList) {
- if (!orderDetl.getQty().equals(orderDetl.getWorkQty()) && qty.equals(orderDetl.getAnfme())) {
- return orderDetl;
- }
- }
- }
- return detlList.get(0);
- }
- }
-
- @Override
- public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) {
- List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
- if (detlList == null || detlList.isEmpty()) {
- return null;
- } else if (detlList.size() == 1) {
- return detlList.get(0);
- } else {
- if (qty != null) {
- for (OrderDetl orderDetl : detlList) {
- if (qty.equals(orderDetl.getAnfme())) {
- return orderDetl;
- }
- }
- }
- return detlList.get(0);
- }
- }
+// @Override
+// public OrderDetl selectItem(Long orderId, String matnr, String batch, Double qty) {
+// List<OrderDetl> detlList = this.baseMapper.selectItem(orderId, matnr, batch);
+// if (detlList == null || detlList.isEmpty()) {
+// return null;
+// } else if (detlList.size() == 1) {
+// return detlList.get(0);
+// } else {
+// if (qty != null) {
+// for (OrderDetl orderDetl : detlList) {
+// if (qty.equals(orderDetl.getAnfme())) {
+// return orderDetl;
+// }
+// }
+// }
+// return detlList.get(0);
+// }
+// }
+//
+// @Override
+// public OrderDetl selectQtyItem(String orderNo, String matnr, String batch, Double qty) {
+// List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+// if (detlList == null || detlList.isEmpty()) {
+// return null;
+// } else if (detlList.size() == 1) {
+// return detlList.get(0);
+// } else {
+// if (qty != null) {
+// for (OrderDetl orderDetl : detlList) {
+// if (!orderDetl.getQty().equals(orderDetl.getWorkQty()) && qty.equals(orderDetl.getAnfme())) {
+// return orderDetl;
+// }
+// }
+// }
+// return detlList.get(0);
+// }
+// }
+//
+// @Override
+// public OrderDetl selectItem(String orderNo, String matnr, String batch, Double qty) {
+// List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(orderNo, matnr, batch);
+// if (detlList == null || detlList.isEmpty()) {
+// return null;
+// } else if (detlList.size() == 1) {
+// return detlList.get(0);
+// } else {
+// if (qty != null) {
+// for (OrderDetl orderDetl : detlList) {
+// if (qty.equals(orderDetl.getAnfme())) {
+// return orderDetl;
+// }
+// }
+// }
+// return detlList.get(0);
+// }
+// }
@Override
public OrderDetl findByLook(List<OrderDetl> orderDetls, Long orderId, String matnr, String batch) {
@@ -105,14 +108,45 @@
return this.baseMapper.increase(orderId, matnr, batch, qty) > 0;
}
+ // @Override
+// public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
+// int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty);
+// if (decrease == 0) {
+// return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0;
+// } else {
+// return true;
+// }
+// }
@Override
- public boolean decrease(String orderNo, String matnr, String batch, Double qty) {
- int decrease = this.baseMapper.decrease(orderNo, matnr, batch, qty);
- if (decrease == 0) {
- return this.baseMapper.decrease(orderNo, matnr, null, qty) > 0;
- } else {
- return true;
+ public boolean decrease(WrkDetl wrkDetl, Double qty) {
+ List<OrderDetl> detlList = selectItem(wrkDetl.getOrderNo());
+ for (OrderDetl orderDetl : detlList) {
+ if (MatCompareUtils.compare(orderDetl, wrkDetl)) {
+ int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
+ if (decrease == 0) {
+ return false;
+ } else {
+ return true;
+ }
+ }
}
+ return false;
+ }
+
+ @Override
+ public boolean decrease(WaitPakin waitPakin, Double qty) {
+ List<OrderDetl> detlList = selectItem(waitPakin.getOrderNo());
+ for (OrderDetl orderDetl : detlList) {
+ if (MatCompareUtils.compare(orderDetl, waitPakin)) {
+ int decrease = this.baseMapper.decrease2(orderDetl.getId(), qty);
+ if (decrease == 0) {
+ return false;
+ } else {
+ return true;
+ }
+ }
+ }
+ return false;
}
@Override
@@ -133,14 +167,29 @@
/**
* 鍏ュ嚭搴撲换鍔$敓鎴愭椂锛屾洿鏂板崟鎹〃涓綔涓氭暟閲�
*
- * @param orderId
- * @param matnr
- * @param batch
+ * @param orderDetl
* @param workQty
* @return
*/
@Override
- public boolean increaseWorkQty(Long orderId, String matnr, String batch, Double workQty) {
- return this.baseMapper.increaseWorkQty(orderId, matnr, batch, workQty) > 0;
+ public boolean increaseWorkQty(OrderDetl orderDetl, Double workQty) {
+ return this.baseMapper.increaseWorkQty(orderDetl.getId(), workQty) > 0;
+ }
+
+ @Override
+ public OrderDetl selectItem(WaitPakin waitPakin) {
+ List<OrderDetl> detlList = this.baseMapper.selectItemByOrderNo(waitPakin.getOrderNo(), waitPakin.getOrderNo(), waitPakin.getBatch());
+ if (detlList == null || detlList.isEmpty()) {
+ return null;
+ } else if (detlList.size() == 1) {
+ return detlList.get(0);
+ } else {
+ for (OrderDetl orderDetl : detlList) {
+ if (MatCompareUtils.compare(waitPakin, orderDetl)) {
+ return orderDetl;
+ }
+ }
+ return null;
+ }
}
}
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 7f6f585..a788a36 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -145,55 +145,55 @@
}
- @Override
- public boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls) {
- try {
- List<DetlDto> detlDtos = new ArrayList<>();
- wrkDetls.forEach(wrkDetl -> {
- detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()));
- });
- String orderNo = "HAND" + snowflakeIdWorker.nextId();
- if (pakin) {
- // 鐢熸垚鍏ュ簱鍗曟嵁
- OpenOrderPakinParam openParam = new OpenOrderPakinParam();
- openParam.setOrderNo(orderNo);
- openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
- openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�");
- openParam.setOrderDetails(detlDtos);
- openService.pakinOrderCreate(openParam);
- } else {
- // 鐢熸垚鍑哄簱鍗曟嵁
- OpenOrderPakoutParam openParam = new OpenOrderPakoutParam();
- openParam.setOrderNo(orderNo);
- openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
- openParam.setOrderType("鎵嬪姩鍑哄簱鍗�");
- openParam.setOrderDetails(detlDtos);
- openService.pakoutOrderCreate(openParam);
- }
-
- Order order = this.selectByNo(orderNo);
- if (null == order) {
- throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
- }
- if (!this.updateSettle(order.getId(), 4L, null)) {
- throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
- }
- for (DetlDto detlDto : detlDtos) {
- // 淇敼璁㈠崟鏄庣粏鏁伴噺
- if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
- throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
- }
- // 淇敼璁㈠崟浣滀笟鏁伴噺
- if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
- throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
- }
- }
- } catch (Exception e) {
- log.error("saveHandlerOrder===>>", e);
- return false;
- }
- return true;
- }
+// @Override
+// public boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls) {
+// try {
+// List<DetlDto> detlDtos = new ArrayList<>();
+// wrkDetls.forEach(wrkDetl -> {
+// detlDtos.add(new DetlDto(wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme()));
+// });
+// String orderNo = "HAND" + snowflakeIdWorker.nextId();
+// if (pakin) {
+// // 鐢熸垚鍏ュ簱鍗曟嵁
+// OpenOrderPakinParam openParam = new OpenOrderPakinParam();
+// openParam.setOrderNo(orderNo);
+// openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
+// openParam.setOrderType("鎵嬪姩鍏ュ簱鍗�");
+// openParam.setOrderDetails(detlDtos);
+// openService.pakinOrderCreate(openParam);
+// } else {
+// // 鐢熸垚鍑哄簱鍗曟嵁
+// OpenOrderPakoutParam openParam = new OpenOrderPakoutParam();
+// openParam.setOrderNo(orderNo);
+// openParam.setOrderTime(DateUtils.convert(wrkMast.getModiTime()));
+// openParam.setOrderType("鎵嬪姩鍑哄簱鍗�");
+// openParam.setOrderDetails(detlDtos);
+// openService.pakoutOrderCreate(openParam);
+// }
+//
+// Order order = this.selectByNo(orderNo);
+// if (null == order) {
+// throw new CoolException("鐢熸垚鍗曟嵁澶辫触");
+// }
+// if (!this.updateSettle(order.getId(), 4L, null)) {
+// throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
+// }
+// for (DetlDto detlDto : detlDtos) {
+// // 淇敼璁㈠崟鏄庣粏鏁伴噺
+// if (!orderDetlService.increase(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
+// throw new CoolException("淇敼鍗曟嵁鏄庣粏鏁伴噺澶辫触");
+// }
+// // 淇敼璁㈠崟浣滀笟鏁伴噺
+// if (!orderDetlService.increaseWorkQty(order.getId(), detlDto.getMatnr(), detlDto.getBatch(), detlDto.getAnfme())) {
+// throw new CoolException("淇敼鍗曟嵁浣滀笟鏁伴噺澶辫触");
+// }
+// }
+// } catch (Exception e) {
+// log.error("saveHandlerOrder===>>", e);
+// return false;
+// }
+// return true;
+// }
@Override
public void remove(Long orderId) {
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 04d1ad5..c28eda0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -351,7 +351,7 @@
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
// 淇敼璁㈠崟鏄庣粏
- if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ if (!orderDetlService.increaseWorkQty(orderDetl, locDto.getAnfme())) {
throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
}
orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
@@ -894,7 +894,7 @@
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
for (WrkDetl wrkDetl : wrkDetls) {
if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
- if (!orderDetlService.decrease(wrkDetl.getOrderNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getAnfme())) {
+ if (!orderDetlService.decrease(wrkDetl, wrkDetl.getAnfme())) {
throw new CoolException("璁㈠崟鏁版嵁鍥炴粴澶辫触");
}
diff --git a/src/main/java/com/zy/asrs/utils/MatCompareUtils.java b/src/main/java/com/zy/asrs/utils/MatCompareUtils.java
new file mode 100644
index 0000000..69a0fc0
--- /dev/null
+++ b/src/main/java/com/zy/asrs/utils/MatCompareUtils.java
@@ -0,0 +1,60 @@
+package com.zy.asrs.utils;
+
+import com.core.common.Cools;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.lang.reflect.Field;
+
+/**
+ * 鐢ㄦ埛鐗╂枡淇℃伅姣斿锛屽垽鏂槸鍚︿负鍚屼竴鐗╂枡
+ */
+public class MatCompareUtils {
+
+ private static final Logger log = LoggerFactory.getLogger(MatCompareUtils.class);
+
+ private static final String[] sameFields = {"matnr", "batch", "outOrderNo", "luHao", "packing", "sPgNO", "proType"};
+
+
+ public static boolean compare(Object object1, Object object2) {
+ if (object1 == null || object2 == null) {
+ return false;
+ }
+ for (String fieldName : sameFields) {
+ Object fieldValue1 = getFieldValue(object1, fieldName);
+ Object fieldValue2 = getFieldValue(object2, fieldName);
+ if (isSame(fieldValue1, fieldValue2)) {
+ log.info("瀛楁{}淇℃伅涓�鑷达紝{}-{}", fieldName, fieldValue1, fieldValue2);
+ return false;
+ }
+ }
+ return true;
+ }
+
+ private static boolean isSame(Object fieldValue1, Object fieldValue2) {
+ if (Cools.isEmpty(fieldValue1)) {
+ fieldValue1 = "";
+ }
+ if (Cools.isEmpty(fieldValue2)) {
+ fieldValue2 = "";
+ }
+ return fieldValue1.equals(fieldValue2);
+ }
+
+ private static Object getFieldValue(Object object, String fieldName) {
+ Class<?> aClass = object.getClass();
+ Field field = null;
+ try {
+ field = aClass.getDeclaredField(fieldName);
+ } catch (NoSuchFieldException e) {
+ throw new RuntimeException(e);
+ }
+ field.setAccessible(true); // 璁剧疆涓哄彲璁块棶
+ try {
+ return field.get(object);
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+}
diff --git a/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java b/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
index 1659df2..8cc251b 100644
--- a/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
+++ b/src/main/java/com/zy/system/entity/license/LicenseCheckListener.java
@@ -54,7 +54,8 @@
//root application context 娌℃湁parent
ApplicationContext context = event.getApplicationContext().getParent();
if(context == null){
- loadLicense();
+ //TODO
+ //loadLicense();
}
}
diff --git a/src/main/resources/mapper/OrderDetlMapper.xml b/src/main/resources/mapper/OrderDetlMapper.xml
index b5870e9..ba0ddf5 100644
--- a/src/main/resources/mapper/OrderDetlMapper.xml
+++ b/src/main/resources/mapper/OrderDetlMapper.xml
@@ -169,6 +169,13 @@
</choose>
</update>
+ <update id="decrease2">
+ update man_order_detl
+ set work_qty = work_qty - #{qty}
+ where 1=1
+ and id = #{id}
+ </update>
+
<update id="modifyStatus">
update man_order_detl
set status = #{status}
@@ -200,16 +207,7 @@
update man_order_detl
set work_qty = work_qty + #{workQty}
where 1=1
- and order_id = #{orderId}
- and matnr = #{matnr}
- <choose>
- <when test="batch != null and batch != ''">
- and batch = #{batch}
- </when>
- <otherwise>
- and (batch IS NULL OR batch = '')
- </otherwise>
- </choose>
+ and id = #{id}
</update>
--
Gitblit v1.9.1