From c039bdc062899af5d3c7782bc0e3f38d8b39fc87 Mon Sep 17 00:00:00 2001
From: qlsxk <qlsxk@qq.com>
Date: 星期二, 14 十月 2025 08:37:54 +0800
Subject: [PATCH] #
---
src/main/resources/mapper/WrkDetlMapper.xml | 8 ++++
src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java | 2 +
src/main/webapp/views/report/locDetl.html | 2
src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java | 5 ++
src/main/resources/mapper/WrkMastMapper.xml | 2
src/main/java/com/zy/common/web/WcsController.java | 95 +++++++++++++++++++++++++++++++++++++++++++++++
src/main/resources/application.yml | 4 +-
src/main/java/com/zy/asrs/service/WrkDetlService.java | 2 +
8 files changed, 116 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
index 24cac60..307d06b 100644
--- a/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/WrkDetlMapper.java
@@ -25,4 +25,6 @@
List<WrkDetl> selectPakoutQuery(@Param("staNo")Integer staNo, @Param("matnr")String matnr);
List<WrkDetl> findByWorkNo(Integer workNo);
+
+ boolean updateWorkNo(@Param("oldWrkNo") Integer oldWrkNo, @Param("newWrkNo") Integer newWrkNo);
}
diff --git a/src/main/java/com/zy/asrs/service/WrkDetlService.java b/src/main/java/com/zy/asrs/service/WrkDetlService.java
index 18f86c6..4be4d8c 100644
--- a/src/main/java/com/zy/asrs/service/WrkDetlService.java
+++ b/src/main/java/com/zy/asrs/service/WrkDetlService.java
@@ -19,6 +19,8 @@
boolean updateInspect(Integer wrkNo, String matnr, String batch);
+ boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo);
+
List<WrkDetl> selectPakoutQuery(Integer staNo, String matnr);
List<WrkDetl> findByWorkNo(Integer wrkNo);
diff --git a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
index 5c56e86..ba252a4 100644
--- a/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WrkDetlServiceImpl.java
@@ -85,4 +85,9 @@
public List<WrkDetl> findByWorkNo(Integer workNo) {
return this.baseMapper.findByWorkNo(workNo);
}
+
+ @Override
+ public boolean updateWorkNo(Integer oldWrkNo, Integer newWrkNo) {
+ return this.baseMapper.updateWorkNo(oldWrkNo, newWrkNo);
+ }
}
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 8bcb656..e5cd336 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -126,6 +126,20 @@
return R.ok().add(dto);
}
+ @PostMapping("/pakin/loc/returnWarehouse")
+ @ResponseBody
+ public synchronized R returnWarehouse(@RequestBody(required = false) SearchLocParam param) {
+ log.info("鏀跺埌WCS鎷i�夌洏鐐瑰叆搴撴帴鍙h姹�====>>鍏ュ弬:{}", param);
+ if (Cools.isEmpty(param.getSourceStaNo())) {
+ return R.error("婧愮珯缂栧彿涓嶈兘涓虹┖");
+ }
+ LocTypeDto locTypeDto = new LocTypeDto();
+ locTypeDto.setLocType1(param.getLocType1());
+
+ StartupDto dto = startupPickIn(param.getSourceStaNo(), param.getBarcode(), locTypeDto);;
+ log.info("WCS鎷i�夌洏鐐瑰叆搴撴帴鍙h繑鍙�:{},鎵樼洏鐮�:{}", dto, param.getBarcode());
+ return R.ok().add(dto);
+ }
/**
* 鍏ㄦ澘鍏ュ簱
@@ -210,6 +224,87 @@
return dto;
}
+ /**
+ * 鎷i�夊叆搴�
+ */
+ @Transactional
+ public StartupDto startupPickIn(Integer devpNo, String barcode, LocTypeDto locTypeDto) {
+ // 婧愮珯鐐圭姸鎬佹娴�
+ BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
+
+ WrkMast wrkMastOut = wrkMastService.selectByBarcode(barcode);
+ if (wrkMastOut == null) {
+ throw new CoolException("鎷i�夌洏鐐逛换鍔′笉瀛樺湪");
+ }
+
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMastOut.getWrkNo());
+ if (wrkDetls.isEmpty()) {
+ throw new CoolException("鎷i�夌洏鐐逛换鍔℃暟鎹笉瀛樺湪");
+ }
+
+ FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+ findLocNoAttributeVo.setMatnr(wrkDetls.get(0).getMatnr());
+
+ StartupDto dto = commonService.getLocNo(1, devpNo, findLocNoAttributeVo, locTypeDto, barcode);
+ if (dto == null) {
+ throw new CoolException("鎵句笉鍒扮┖搴撲綅");
+ }
+
+ Date now = new Date();
+
+ // 鐢熸垚宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ int workNo = dto.getWorkNo();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
+ wrkMast.setIoType(wrkMastOut.getIoType() - 50); // 鍏ュ嚭搴撶姸鎬侊細53.鎷f枡鍐嶅叆搴�
+ wrkMast.setIoPri(30D); // 浼樺厛绾�
+ wrkMast.setCrnNo(dto.getCrnNo());
+ wrkMast.setSourceStaNo(dto.getSourceStaNo());
+ wrkMast.setStaNo(dto.getStaNo());
+ wrkMast.setLocNo(dto.getLocNo());
+ wrkMast.setBarcode(barcode); // 鎵樼洏鐮�
+ wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("N"); // 绌烘澘
+ wrkMast.setLinkMis("Y");
+ wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷
+ // 鎿嶄綔浜哄憳鏁版嵁
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiTime(now);
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+
+ wrkDetlService.updateWorkNo(wrkMastOut.getWrkNo(), workNo);
+
+ // 鍒犻櫎宸ヤ綔涓绘。
+ if (!wrkMastService.deleteById(wrkMastOut)) {
+ throw new CoolException("鍒犻櫎宸ヤ綔涓绘。澶辫触锛寃orkNo=" + wrkMastOut.getWrkNo());
+ }
+
+ // 鏇存柊婧愮珯鐐逛俊鎭�
+ sourceStaNo.setWrkNo(wrkMast.getWrkNo());
+ sourceStaNo.setModiTime(now);
+ if (!basDevpService.updateById(sourceStaNo)) {
+ throw new CoolException("鏇存柊婧愮珯澶辫触");
+ }
+ // 鏇存柊鐩爣搴撲綅鐘舵��
+ LocMast locMast = locMastService.selectById(dto.getLocNo());
+ if (locMast.getLocSts().equals("O")) {
+ locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
+ locMast.setModiTime(now);
+ if (!locMastService.updateById(locMast)) {
+ throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
+ }
+ } else {
+ throw new CoolException(dto.getLocNo() + "鐩爣搴撲綅宸茶鍗犵敤");
+ }
+ return dto;
+ }
+
@Transactional
public StartupDto emptyPlateIn(Integer devpNo, String barcode) {
// 妫�绱㈠簱浣�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index fd14592..ad2bee7 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -12,7 +12,7 @@
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
url: jdbc:sqlserver://127.0.0.1:1433;databasename=qlasrs-sxk
username: sa
- password: sa@123
+ password: spcyy@2025
mvc:
static-path-pattern: /**
redis:
@@ -66,7 +66,7 @@
ip: 192.168.1.198
url: wms
port: 8081
- id: 1001
+ id: 1002
#erp瀵规帴
erp:
diff --git a/src/main/resources/mapper/WrkDetlMapper.xml b/src/main/resources/mapper/WrkDetlMapper.xml
index 3195c97..c448ed1 100644
--- a/src/main/resources/mapper/WrkDetlMapper.xml
+++ b/src/main/resources/mapper/WrkDetlMapper.xml
@@ -81,6 +81,14 @@
<include refid="batchSeq"></include>
</update>
+ <update id="updateWorkNo">
+ update asr_wrk_detl
+ set wrk_no = #{newWrkNo}
+ , modi_time = getdate()
+ where 1=1
+ and wrk_no = #{oldWrkNo}
+ </update>
+
<select id="selectAndLogByOrderNo" resultMap="BaseResultMap">
select * from asr_wrk_detl where order_no = #{orderNo}
union
diff --git a/src/main/resources/mapper/WrkMastMapper.xml b/src/main/resources/mapper/WrkMastMapper.xml
index f00483e..44fd552 100644
--- a/src/main/resources/mapper/WrkMastMapper.xml
+++ b/src/main/resources/mapper/WrkMastMapper.xml
@@ -71,7 +71,7 @@
where wrk_sts=5
or wrk_sts=20
or (wrk_sts=15 and ove_mk='Y' and wrk_no not in (select wrk_no from asr_bas_devp))
- or (wrk_sts=15 and dateadd(mi,15,modi_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
+ or (wrk_sts=15 and dateadd(mi,8,modi_time) <= getdate() and wrk_no not in (select wrk_no from asr_bas_devp))
or (wrk_sts=15 and modi_time is null and wrk_no not in (select wrk_no from asr_bas_devp))
order by modi_time,wrk_no asc
</select>
diff --git a/src/main/webapp/views/report/locDetl.html b/src/main/webapp/views/report/locDetl.html
index 0da0485..56f1aa3 100644
--- a/src/main/webapp/views/report/locDetl.html
+++ b/src/main/webapp/views/report/locDetl.html
@@ -26,7 +26,7 @@
</body>
<script type="text/html" id="operateDetl">
<!-- <button id="batch" class="layui-btn layui-btn-primary layui-btn-radius" style="height: auto" lay-submit lay-filter="batch">淇敼鍚堝悓鍙�</button>-->
- <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>淇敼鍚堝悓鍙�</a>
+<!-- <a class="layui-btn layui-btn-xs layui-btn-danger btn-pakoutPreview" lay-event="pakoutPreview"><i class="layui-icon layui-icon-prev-circle"></i>淇敼鍚堝悓鍙�</a>-->
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
--
Gitblit v1.9.1