From 5838cae100e9f2af74052203d1d4bb2b226c6457 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 20 二月 2025 13:47:25 +0800
Subject: [PATCH] #四向库入出库修改
---
src/main/java/com/zy/asrs/service/WorkService.java | 1
src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js | 2
src/main/java/com/zy/asrs/utils/VersionUtils.java | 13 +
src/main/webapp/static/js/order/out.js | 2
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java | 190 +++++++++++++++++++++
src/main/java/com/zy/asrs/controller/MobileController.java | 44 ++--
src/main/java/com/zy/asrs/controller/OutController.java | 198 +++++++++++-----------
src/main/java/com/zy/common/model/LocTypeDto.java | 2
src/main/java/com/zy/common/service/CommonService.java | 80 +++++---
9 files changed, 379 insertions(+), 153 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 361f7e6..37835f9 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -594,20 +594,20 @@
@RequestMapping("/ddd/ddd")
@ManagerAuth()
public R ddd() {
- int w = 64;
+ int w = 99999;
for (int i = 17; i <= 37; i++) {
- for (int j = 1;j<=3;j++){
-// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 7).eq("lev1", j));
- LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 12).eq("lev1", j));
- LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 14).eq("lev1", j));
+ for (int j = 8;j<=14;j++){
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 1));
+ LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 2));
+ LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", j).eq("lev1", 3));
// LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", 26).eq("bay1", i).eq("lev1", 1));
-// if (locMast.getGro1() == 999){
-// continue;
-// }
+ if (locMast.getGro1() == 999){
+ continue;
+ }
// locMast.setGro1(w);
// locMast.setGro1(locMast.getGro1()+1000);
- locMast2.setGro1(locMast2.getGro1()+10000);
- locMast3.setGro1(locMast3.getGro1()+2000);
+ locMast2.setGro1(locMast.getGro1()+1000);
+ locMast3.setGro1(locMast.getGro1()+2000);
// locMast4.setGro1(w);
// locMastService.updateById(locMast);
locMastService.updateById(locMast2);
@@ -617,19 +617,23 @@
}
}
// for (int i = 17; i <=37; i++) {
-// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 14).eq("lev1", 1));
-//// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 10).eq("lev1", 1));
-//// LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 11).eq("lev1", 1));
+// LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 3).eq("lev1", 1));
+// LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 8).eq("lev1", 1));
+// LocMast locMast3 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 13).eq("lev1", 1));
//// LocMast locMast4 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("row1", i).eq("bay1", 12).eq("lev1", 1));
-// locMast.setGro1(w);
-//// locMast2.setGro1(w);
-//// locMast3.setGro1(w);
+// if (!Cools.isEmpty(locMast)) {
+// locMast.setGro1(w);
+// locMastService.updateById(locMast);
+// }
+//
+// locMast2.setGro1(w);
+// locMast3.setGro1(w);
//// locMast4.setGro1(w);
-// locMastService.updateById(locMast);
-//// locMastService.updateById(locMast2);
-//// locMastService.updateById(locMast3);
+//
+// locMastService.updateById(locMast2);
+// locMastService.updateById(locMast3);
//// locMastService.updateById(locMast4);
-// w++;
+//// w++;
// }
return R.ok();
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index 6e1f55f..3a54e57 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -87,59 +87,38 @@
locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2());
for (LocDetl locDetl : locDetls) {
LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
- List<LocMast> locMasts = new ArrayList<>();
- if (locMast.getBay1() >=1 && locMast.getBay1()<=2){
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1",locMast.getLocType1())
- .orderBy("bay1", false));
- }else if (locMast.getBay1() >=4 && locMast.getBay1()<=12){
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1",locMast.getLocType1())
- .orderBy("bay1", true));
- }else {
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1",locMast.getLocType1())
- .orderBy("bay1", false));
- }
- for (LocMast locMast1 : locMasts){
- if (locMast1.getLocSts().equals("F")){
- LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>()
- .eq("loc_No", locMast1.getLocNo())
- .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch()));
- if (!Cools.isEmpty(locDetl1)) {
- ExistDto existDto = new ExistDto();
- existDto.setLocNo(locDetl1.getLocNo());
- existDto.setMatnr(locDetl1.getMatnr());
- existDto.setBatch(locDetl1.getBatch());
- if (existDtos.add(existDto)){
- if (issued > 0) {
- LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(),
- issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued);
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103);
- List<LocDto.staListDto> maps = new ArrayList<>();
- for (Integer staNo : staNos) {
- LocDto.staListDto staListDto = new LocDto.staListDto();
- staListDto.setStaNo(staNo);
- staListDto.setStaName(Utils.getStaName(staNo));
- maps.add(staListDto);
- }
- locDto.setStaNos(maps);
- locDtos.add(locDto);
- // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
- issued = issued - locDetl.getAnfme();
- }else {
- break;
+ if (locMast.getLocSts().equals("F")){
+ LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ .eq("loc_No", locMast.getLocNo())
+ .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch()));
+ if (!Cools.isEmpty(locDetl1)) {
+ ExistDto existDto = new ExistDto();
+ existDto.setLocNo(locDetl1.getLocNo());
+ existDto.setMatnr(locDetl1.getMatnr());
+ existDto.setBatch(locDetl1.getBatch());
+ if (existDtos.add(existDto)){
+ if (issued > 0) {
+ LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(),
+ issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued);
+ List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103);
+ List<LocDto.staListDto> maps = new ArrayList<>();
+ for (Integer staNo : staNos) {
+ LocDto.staListDto staListDto = new LocDto.staListDto();
+ staListDto.setStaNo(staNo);
+ staListDto.setStaName(Utils.getStaName(staNo));
+ maps.add(staListDto);
}
+ locDto.setStaNos(maps);
+ locDtos.add(locDto);
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ }else {
+ break;
}
}
}
}
+
}
if (issued > 0) {
LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
@@ -168,60 +147,39 @@
List<LocDetl> locDetls = new ArrayList<>();
locDetls = locDetlService.queryStockFour(orderDetl.getMatnr(), orderDetl.getBatch(), null, exist,orderDetl.getSupp(),orderDetl.getTemp1(),orderDetl.getTemp2());
for (LocDetl locDetl : locDetls) {
- LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
- List<LocMast> locMasts = new ArrayList<>();
- if (locMast.getBay1() >=1 && locMast.getBay1()<=2){
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1",locMast.getLocType1())
- .orderBy("bay1", false));
- }else if (locMast.getBay1() >=4 && locMast.getBay1()<=12){
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1",locMast.getLocType1())
- .orderBy("bay1", true));
- }else {
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("gro1", locMast.getGro1())
- .eq("crn_no", 7)
- .eq("loc_type1",locMast.getLocType1())
- .orderBy("bay1", false));
- }
- for (LocMast locMast1 : locMasts){
- if (locMast1.getLocSts().equals("F")){
- LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>()
- .eq("loc_No", locMast1.getLocNo())
- .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch()));
- if (!Cools.isEmpty(locDetl1)) {
- ExistDto existDto = new ExistDto();
- existDto.setLocNo(locDetl1.getLocNo());
- existDto.setMatnr(locDetl1.getMatnr());
- existDto.setBatch(locDetl1.getBatch());
- if (existDtos.add(existDto)){
- if (issued > 0) {
- LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(),
- issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued);
- List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103);
- List<LocDto.staListDto> maps = new ArrayList<>();
- for (Integer staNo : staNos) {
- LocDto.staListDto staListDto = new LocDto.staListDto();
- staListDto.setStaNo(staNo);
- staListDto.setStaName(Utils.getStaName(staNo));
- maps.add(staListDto);
- }
- locDto.setStaNos(maps);
- locDtos.add(locDto);
- // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
- issued = issued - locDetl.getAnfme();
- }else {
- break;
- }
- }
+ LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetl.getLocNo()));
+ if (locMast.getLocSts().equals("F")){
+ LocDetl locDetl1 = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+ .eq("loc_No", locMast.getLocNo())
+ .eq("matnr", locDetl.getMatnr()).eq("batch", locDetl.getBatch()));
+ if (!Cools.isEmpty(locDetl1)) {
+ ExistDto existDto = new ExistDto();
+ existDto.setLocNo(locDetl1.getLocNo());
+ existDto.setMatnr(locDetl1.getMatnr());
+ existDto.setBatch(locDetl1.getBatch());
+ if (existDtos.add(existDto)){
+ if (issued > 0) {
+ LocDto locDto = new LocDto(locDetl1.getLocNo(), locDetl1.getMatnr(), locDetl1.getMaktx(), locDetl1.getBatch(), orderDetl.getOrderNo(),
+ issued >= locDetl1.getAnfme() ? locDetl1.getAnfme() : issued);
+ List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl1.getLocNo(), issued >= locDetl1.getAnfme() ? 101 : 103);
+ List<LocDto.staListDto> maps = new ArrayList<>();
+ for (Integer staNo : staNos) {
+ LocDto.staListDto staListDto = new LocDto.staListDto();
+ staListDto.setStaNo(staNo);
+ staListDto.setStaName(Utils.getStaName(staNo));
+ maps.add(staListDto);
}
+ locDto.setStaNos(maps);
+ locDtos.add(locDto);
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ }else {
+ break;
}
}
+ }
+ }
+
}
if (issued > 0) {
LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
@@ -505,4 +463,46 @@
return R.ok();
}
+ @PostMapping("/out/pakout/auth/sxk")
+ @ManagerAuth(memo = "璁㈠崟鍑哄簱")
+ public synchronized R pakoutSxk(@RequestBody List<LocDto> locDtos) throws InterruptedException {
+ if (Cools.isEmpty(locDtos)) {
+ return R.parse(BaseRes.PARAM);
+ }
+ boolean lack = true;
+ for (LocDto locDto : locDtos) {
+ // 鍒ゆ柇鍏ュ簱妯″紡
+ OutStockInterceptUtil.outStockIntercept(locDto.getStaNo());
+ if (!locDto.isLack()) {
+ lack = false;
+ break;
+ }
+ }
+ if (lack) {
+ return R.error("搴撳瓨涓嶈冻");
+ }
+
+ Thread.sleep(1000L);
+
+ List<TaskDto> taskDtos = new ArrayList<>();
+ // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
+ for (LocDto locDto : locDtos) {
+ if (locDto.isLack()) { continue; }
+ TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
+ if (TaskDto.has(taskDtos, taskDto)) {
+ TaskDto dto = TaskDto.find(taskDtos, taskDto);
+ assert dto != null;
+ dto.getLocDtos().addAll(taskDto.getLocDtos());
+ } else {
+ taskDtos.add(taskDto);
+ }
+ }
+ // -----------------------------------------------------------------------------------------------
+ for (TaskDto taskDto : taskDtos) {
+ BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
+ workService.stockOutSxk(staNo, taskDto, getUserId());
+ }
+ return R.ok();
+ }
+
}
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index b097f6c..e5e0110 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -36,6 +36,7 @@
void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId);
void stockOut(BasDevp staNo, TaskDto taskDto, Long userId);
+ void stockOutSxk(BasDevp staNo, TaskDto taskDto, Long userId);
/**
* 绌烘澘鍏ュ簱
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 02af09c..e5088a8 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,6 +14,7 @@
import com.zy.asrs.entity.param.StockOutParam;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.Utils;
+import com.zy.asrs.utils.VersionUtils;
import com.zy.common.model.*;
import com.zy.common.model.enums.IoWorkType;
import com.zy.common.model.enums.WorkNoType;
@@ -25,6 +26,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.*;
import java.util.concurrent.TimeUnit;
@@ -500,6 +502,194 @@
@Override
@Transactional
+ public void stockOutSxk(BasDevp staNo, TaskDto taskDto, Long userId) {
+ Date now = new Date();
+ List<LocDto> locDtos = taskDto.getLocDtos();
+ for (LocDto locDto : locDtos) {
+ if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) {
+ throw new CoolException("璁㈠崟鍑哄簱寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+ }
+ // 鑾峰彇搴撲綅
+ LocMast locMast = locMastService.selectById(taskDto.getLocNo());
+
+ List<LocMast> locMasts = new ArrayList<>();
+ if ((locMast.getBay1() >=1 && locMast.getBay1()<=2) || (locMast.getBay1() >=6 && locMast.getBay1()<=7 && locMast.getRow1() !=36 && locMast.getRow1() !=29 ) || (locMast.getBay1() >=11 && locMast.getBay1()<=12)){
+ locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("gro1", locMast.getGro1())
+ .eq("crn_no", 7)
+ .eq("loc_type1",locMast.getLocType1())
+ .orderBy("bay1", false));
+ }else {
+ locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("gro1", locMast.getGro1())
+ .eq("crn_no", 7)
+ .eq("loc_type1",locMast.getLocType1())
+ .orderBy("bay1", true));
+ }
+ for (LocMast locMast1 : locMasts) {
+ if (locMast1.getLocNo().equals(taskDto.getLocNo())){
+ break;
+ }
+ if (locMast1.getLocSts().equals("X")){
+ throw new CoolException(taskDto.getLocNo()+"搴撲綅鍓嶆柟鏈夐攣瀹氬簱浣嶏紝绂佹鍑哄簱");
+ }
+ if (locMast1.getLocSts().equals("F")) {
+ moveLocForDeepLoc(locMast1);
+ }
+ }
+
+ // 鑾峰彇璺緞
+ int ioType = taskDto.isAll() ? 101 : 103;
+ StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
+ // 鐢熸垚宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setIoPri(13D); // 浼樺厛绾э細13
+ wrkMast.setCrnNo(locMast.getCrnNo());
+ wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
+ wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
+ wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setBarcode(locMast.getBarcode());
+ wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(userId);
+ wrkMast.setModiTime(now);
+ if (!wrkMastService.insert(wrkMast)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+taskDto.getLocNo());
+ }
+ // 鐢熸垚宸ヤ綔妗f槑缁�
+ for (LocDto locDto : taskDto.getLocDtos()) {
+ if (locDto.getAnfme()==null || locDto.getAnfme() <= 0.0D) { continue; }
+ OrderDetl orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), locDto.getBatch());
+ if (orderDetl == null) {
+ orderDetl = orderDetlService.selectItem(locDto.getOrderNo(), locDto.getMatnr(), null);
+ }
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(orderDetl);
+ wrkDetl.setZpallet(wrkMast.getBarcode());
+ wrkDetl.setIoTime(now);
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setBatch(locDto.getBatch());
+ wrkDetl.setOrderNo(locDto.getOrderNo());
+ wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+ wrkDetl.setAppeTime(now);
+ wrkDetl.setAppeUser(userId);
+ wrkDetl.setModiTime(now);
+ wrkDetl.setModiUser(userId);
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ // 淇敼璁㈠崟鏄庣粏
+ if (!orderDetlService.increaseWorkQty(orderDetl.getOrderId(), orderDetl.getMatnr(), orderDetl.getBatch(), locDto.getAnfme())) {
+ throw new CoolException("淇敼璁㈠崟鏄庣粏鏁伴噺澶辫触");
+ }
+ orderService.updateSettle(orderDetl.getOrderId(), 2L, userId);
+ }
+ // 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
+ locMast = locMastService.selectById(taskDto.getLocNo());
+ if (locMast.getLocSts().equals("F")) {
+ locMast.setLocSts(ioType==101?"R":"P");
+ locMast.setModiUser(userId);
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+taskDto.getLocNo());
+ }
+ } else {
+ throw new CoolException(taskDto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
+ }
+ }
+
+ @Transactional
+ public void moveLocForDeepLoc(LocMast shallowLoc) {
+
+ try {
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1(shallowLoc.getLocType1());
+ locTypeDto.setLev1(shallowLoc.getLev1());
+ StartupDto dto = commonService.getLocNo( 1, 31001, null,null,null, locTypeDto, false);
+ LocMast loc = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", dto.getLocNo()));
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(0);
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(new Date());
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇
+ wrkMast.setIoPri(13D);
+ wrkMast.setCrnNo(7);
+ wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣�
+ wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅
+ wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘
+ wrkMast.setBarcode(shallowLoc.getBarcode()); // 鎵樼洏鐮�
+ wrkMast.setLinkMis("N");
+ wrkMast.setAppeTime(new Date());
+ wrkMast.setModiTime(new Date());
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 宸ヤ綔妗f槑缁嗕繚瀛�
+ if (shallowLoc.getLocSts().equals("F")) {
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo()));
+ for (LocDetl locDetl : locDetls) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.setWrkNo(workNo);
+ wrkDetl.setIoTime(new Date());
+ wrkDetl.setAnfme(locDetl.getAnfme());
+ VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗
+ wrkDetl.setAppeTime(new Date());
+ wrkDetl.setModiTime(new Date());
+ if (!wrkDetlService.insert(wrkDetl)) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+ }
+ }
+ }
+ // 淇敼婧愬簱浣嶇姸鎬�
+ if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) {
+ shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害
+ shallowLoc.setModiTime(new Date());
+ if (!locMastService.updateById(shallowLoc)) {
+
+ throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�");
+ }
+ } else {
+ throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�");
+ }
+ // 淇敼鐩爣搴撲綅鐘舵��
+ if (loc.getLocSts().equals("O")) {
+ loc.setLocSts("S"); // S.鍏ュ簱棰勭害
+ loc.setModiTime(new Date());
+ if (!locMastService.updateById(loc)) {
+ throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+
+ throw new CoolException("绉昏浆澶辫触");
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+ }
+ }
+
+
+ @Override
+ @Transactional
public String emptyPlateIn(Integer devpNo, Long userId) {
// 婧愮珯鐐圭姸鎬佹娴�
BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
diff --git a/src/main/java/com/zy/asrs/utils/VersionUtils.java b/src/main/java/com/zy/asrs/utils/VersionUtils.java
index bdf8dd8..f1c570e 100644
--- a/src/main/java/com/zy/asrs/utils/VersionUtils.java
+++ b/src/main/java/com/zy/asrs/utils/VersionUtils.java
@@ -1,7 +1,9 @@
package com.zy.asrs.utils;
+import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.LocMast;
import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.result.Pakin;
import com.zy.common.model.LocTypeDto;
@@ -10,6 +12,17 @@
*/
public class VersionUtils {
+ public static void setWrkDetl(WrkDetl wrkDetl, LocDetl locDetl) {
+ wrkDetl.setMatnr(locDetl.getMatnr()); // 浜у搧缂栧彿
+ wrkDetl.setMaktx(locDetl.getMaktx()); // 浜у搧鎻忚堪
+ wrkDetl.setSpecs(locDetl.getSpecs()); // 瑙勬牸
+ wrkDetl.setUnit(locDetl.getUnit()); // 鍗曚綅
+// wrkDetl.setSize(locDetl.getSize()); // 灏哄
+ wrkDetl.setColor(locDetl.getColor()); // 棰滆壊
+ wrkDetl.setWeight(locDetl.getWeight()); // 鍗曢噸
+ wrkDetl.setZpallet(locDetl.getZpallet()); // 鎵樼洏鏉$爜
+ }
+
/**
* 搴撲綅绉昏浆鏃剁被鍨嬫娴�
* 鍏煎鐗�
diff --git a/src/main/java/com/zy/common/model/LocTypeDto.java b/src/main/java/com/zy/common/model/LocTypeDto.java
index 6d7753b..a9f9f93 100644
--- a/src/main/java/com/zy/common/model/LocTypeDto.java
+++ b/src/main/java/com/zy/common/model/LocTypeDto.java
@@ -13,6 +13,8 @@
@Data
public class LocTypeDto {
+ private Integer lev1 = null;
+
// 楂樹綆绫诲瀷{0:鏈煡,1:浣庡簱浣�,2:楂樺簱浣峿
private Short locType1;
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 09ce68b..f9678da 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -570,46 +570,62 @@
if (Cools.isEmpty(locMast) && crnNo != 0) {
List<LocMast> locMasts = new ArrayList<>();
int floor = 0;
- if (locTypeDto.getLocType1() == 1){
- int F1count = locMastService.selectCount(new EntityWrapper<LocMast>()
- .in("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
- .eq("crn_no", 7)
- .eq("loc_type1", locTypeDto.getLocType1())
- .eq("lev1", 1));
- if (F1count <= 10) {
- int F2count = locMastService.selectCount(new EntityWrapper<LocMast>()
+ if (locTypeDto.getLev1() == null){
+ if (locTypeDto.getLocType1() == 1){
+ int F1count = locMastService.selectCount(new EntityWrapper<LocMast>()
.in("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
.eq("crn_no", 7)
.eq("loc_type1", locTypeDto.getLocType1())
- .eq("lev1", 2));
- if (F2count <= 10) {
- throw new CoolException("搴撲綅涓嶈冻");
+ .eq("lev1", 1));
+ if (F1count <= 10) {
+ int F2count = locMastService.selectCount(new EntityWrapper<LocMast>()
+ .in("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
+ .eq("crn_no", 7)
+ .eq("loc_type1", locTypeDto.getLocType1())
+ .eq("lev1", 2));
+ if (F2count <= 10) {
+ throw new CoolException("搴撲綅涓嶈冻");
+ }else {
+ floor = 2;
+ }
}else {
- floor = 2;
+ floor = 1;
}
- }else {
- floor = 1;
- }
- }else if (locTypeDto.getLocType1() == 2){
- int F3count = locMastService.selectCount(new EntityWrapper<LocMast>()
- .in("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
- .eq("crn_no", 7)
- .eq("loc_type1", locTypeDto.getLocType1())
- .eq("lev1", 3));
- if (F3count <= 10) {
- throw new CoolException("搴撲綅涓嶈冻");
+ }else if (locTypeDto.getLocType1() == 2){
+ int F3count = locMastService.selectCount(new EntityWrapper<LocMast>()
+ .in("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
+ .eq("crn_no", 7)
+ .eq("loc_type1", locTypeDto.getLocType1())
+ .eq("lev1", 3));
+ if (F3count <= 10) {
+ throw new CoolException("搴撲綅涓嶈冻");
+ }
+ floor = 3;
+ }else {
+ throw new CoolException("搴撲綅楂樺害鏁版嵁寮傚父");
}
- floor = 3;
- }else {
- throw new CoolException("搴撲綅楂樺害鏁版嵁寮傚父");
}
- locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
- .eq("bay1", nearRow)
- .in("loc_sts", "O").eq("whs_type",rowLastnoType.getType().longValue())
- .eq("crn_no",7)
- .eq("loc_type1",locTypeDto.getLocType1())
- .eq("lev1",floor).orderBy("row1",false));//鏈�娴呭簱浣�
+
+ if (locTypeDto.getLev1() != null){
+ locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("bay1", nearRow)
+ .in("loc_sts", "O").eq("whs_type",rowLastnoType.getType().longValue())
+ .eq("crn_no",7)
+ .eq("loc_type1",locTypeDto.getLocType1())
+ .eq("lev1",locTypeDto.getLev1()).orderBy("row1",false));//鏈�娴呭簱浣�
+ }else {
+ if (floor == 0){
+ throw new CoolException("搴撲綅宸叉弧");
+ }
+ locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+ .eq("bay1", nearRow)
+ .in("loc_sts", "O").eq("whs_type",rowLastnoType.getType().longValue())
+ .eq("crn_no",7)
+ .eq("loc_type1",locTypeDto.getLocType1())
+ .eq("lev1",floor).orderBy("row1",false));//鏈�娴呭簱浣�
+ }
+
for (LocMast locMast1 : locMasts) {
if (locMast != null){
diff --git a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
index c90da50..3e3faaf 100644
--- a/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
+++ b/src/main/webapp/static/js/inventoryCheckOrder/inventoryCheckOrder.js
@@ -349,7 +349,7 @@
// let loadIndex = layer.load(2);
notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
$.ajax({
- url: baseUrl + "/out/pakout/auth",
+ url: baseUrl + "/out/pakout/auth/sxk",
headers: {'token': localStorage.getItem('token')},
contentType: 'application/json;charset=UTF-8',
data: JSON.stringify(tableCache),
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index 0a05936..5365375 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -479,7 +479,7 @@
// let loadIndex = layer.load(2);
notice.msg('姝e湪鐢熸垚鍑哄簱浠诲姟......', {icon: 4});
$.ajax({
- url: baseUrl + "/out/pakout/auth",
+ url: baseUrl + "/out/pakout/auth/sxk",
headers: {'token': localStorage.getItem('token')},
contentType: 'application/json;charset=UTF-8',
data: JSON.stringify(tableCache),
--
Gitblit v1.9.1