From 70b86bb70e6941127888979dbde37dda3b1db0b6 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期二, 19 十一月 2024 09:14:43 +0800
Subject: [PATCH] 完善下架功能
---
zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java | 2
zy-asrs-wms/src/main/webapp/static/js/mat/mat.js | 28 +++++-
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java | 92 ++++++++++++++++++++--
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java | 3
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java | 42 ++++++++--
zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java | 5
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java | 65 +++-------------
7 files changed, 158 insertions(+), 79 deletions(-)
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java
index b27d87f..a08aee8 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/openapi/entity/param/MatParam.java
@@ -36,7 +36,7 @@
// private Double price;
//
// //sku
-// private String sku;
+ private String sku;
//
// //浜у湴
// private String origin;
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
index 9dd70e8..4872ed1 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/MobileServiceImpl.java
@@ -376,7 +376,7 @@
.eq(LocDetl::getHostId, hostId)
.eq(LocDetl::getZpallet, combMat.getZpallet())
.eq(LocDetl::getMatnr, combMat.getMatnr())
- .eq(LocDetl::getBatch, combMat.getBatch())
+// .eq(LocDetl::getBatch, combMat.getBatch())
);
if (Cools.isEmpty(locDetl)){
return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
@@ -397,7 +397,7 @@
continue;
}
if (orderDetl.getAnfme() < orderDetl.getWorkQty()+combMat.getAnfme()){
- throw new CoolException("涓嬫灦鏁伴噺鍑洪敊");
+ combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
}
// 淇敼璁㈠崟鏄庣粏浣滀笟鏁伴噺
if (!orderDetlService.increaseWorkQtyByOrderNo(combParam.getOrderNo(), combMat.getMatnr(), combMat.getBatch(), combMat.getAnfme(), hostId)) {
@@ -851,4 +851,5 @@
return R.ok();
}
+
}
diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
index 82ab630..526be1b 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
@@ -432,6 +432,9 @@
.eq(LocMast::getHostId, hostId));
// 鑾峰彇璺緞
int ioType = taskDto.isAll() ? 101 : 103;
+ if(ioType==101){
+ staNo=102;
+ }
// 鑾峰彇璺緞
StaDesc staDesc = staDescService.getOne(new LambdaQueryWrapper<StaDesc>().eq(StaDesc::getTypeNo, ioType).eq(StaDesc::getStnNo, staNo).eq(StaDesc::getHostId, hostId));
// 鐢熸垚宸ヤ綔鍙�
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
index 32772ee..45fd7af 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/LocDetlController.java
@@ -48,13 +48,10 @@
@RequestMapping(value = "/locDetl/forlocNo/auth/v1")
@ManagerAuth
- public R forlocNoV1(@RequestParam String locNo,@RequestParam String matnr) {
+ public R forlocNoV1(@RequestParam String locNo) {
LambdaQueryWrapper<LocDetl> locDetlLambdaQueryWrapper = new LambdaQueryWrapper<LocDetl>()
.eq(LocDetl::getLocNo, locNo)
.eq(LocDetl::getHostId, getHostId());
- if (!Cools.isEmpty(matnr)) {
- locDetlLambdaQueryWrapper.eq(LocDetl::getMatnr, matnr);
- }
List<LocDetl> detls = locDetlService.list(locDetlLambdaQueryWrapper);
if (Cools.isEmpty(detls)){
return R.error("鏈煡璇㈠埌搴撳瓨鏁版嵁");
@@ -299,56 +296,20 @@
@RequestMapping(value = "/stock/out/list/auth")
@ManagerAuth
- public R stockOutList(@RequestParam(defaultValue = "1") Integer curr,
- @RequestParam(defaultValue = "10") Integer limit,
- @RequestParam(required = false)String orderByField,
- @RequestParam(required = false)String orderByType,
- @RequestParam(required = false) String condition,
- @RequestParam(required = false) String timeRange,
- @RequestParam Map<String, Object> param) {
- QueryWrapper<LocDetl> wrapper = new QueryWrapper<>();
-
- if (!Cools.isEmpty(param.get("decrees"))) {
- ArrayList<String> mats = new ArrayList<>();
- List<Mat> decrees = matService.list(new LambdaQueryWrapper<Mat>().like(Mat::getDecrees, param.get("decrees")));
- if (decrees.isEmpty()) {
- mats.add("-1");
- }else {
- for (Mat mat : decrees) {
- mats.add(mat.getMatnr());
- }
+ public R stockOutList(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam Map<String, Object> param){
+ if (!Cools.isEmpty(param.get("modi_time"))){
+ String val = String.valueOf(param.get("modi_time"));
+ if (val.contains(RANGE_TIME_LINK)) {
+ String[] dates = val.split(RANGE_TIME_LINK);
+ param.put("startTime", DateUtils.convert(dates[0]));
+ param.put("endTime", DateUtils.convert(dates[1]));
+ param.remove("modi_time");
}
- wrapper.in("matnr", mats);
- param.remove("decrees");
}
-
- convert(param,wrapper);
- wrapper.eq("host_id", getHostId());
-// if (!Cools.isEmpty(condition)) {
-// wrapper.like(LocDetl::getLocNo, condition);
-// }
- if (!Cools.isEmpty(timeRange)) {
- String[] range = timeRange.split(RANGE_TIME_LINK);
- wrapper.ge("appe_time", DateUtils.convert(range[0]));
- wrapper.le("appe_time", DateUtils.convert(range[1]));
- }
- if (!Cools.isEmpty(param.get("locNo"))) {
- wrapper.like("loc_no", param.get("locNo"));
- }
-
- if (!Cools.isEmpty(param.get("zpallet"))) {
- wrapper.like("zpallet", param.get("zpallet"));
- }
-
- if (!Cools.isEmpty(orderByField)){
- wrapper.orderBy(true, "asc".equals(orderByType), humpToLine(orderByField));
- }
-
- param.remove("locNo");
- param.remove("owner");
- param.remove("matnr");
- allLike(LocDetl.class, param.keySet(), wrapper, condition);
- return R.ok(locDetlService.page(new Page<>(curr, limit), wrapper));
+ param.put("hostId", getHostId());
+ return R.ok(locDetlService.getStockOut(curr, limit, param));
}
@RequestMapping(value = "/locDetl/statis/export")
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
index ac291c0..ea3fdf0 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
@@ -251,18 +251,44 @@
}
List<Mat> mats=matService.list();
for (Mat mat:mats
- ) {
+ ) {
List<LocDetl>locDetls=locDetlService.list(new LambdaQueryWrapper<LocDetl>()
.eq(LocDetl::getMatnr,mat.getMatnr()));
for (LocDetl locDetl:locDetls
- ) {
+ ) {
locDetl.setMaktx(mat.getMaktx());
- locDetl.setSpecs(mat.getSpecs());
- locDetl.setModel(mat.getModel());
- locDetl.setSku(mat.getSku());
- locDetl.setItemNum(mat.getImgNum());//鍥惧彿
- locDetl.setWeight(Double.parseDouble(mat.getWeight()));
- locDetl.setLength(Double.parseDouble(mat.getLength()));
+
+ if(!Cools.isEmpty(mat.getSpecs())){
+ locDetl.setSpecs(mat.getSpecs());
+ }else{
+ locDetl.setSpecs("");
+ }
+ if(!Cools.isEmpty(mat.getModel())){
+ locDetl.setModel(mat.getModel());
+ }else {
+ locDetl.setModel("");
+ }
+ if(!Cools.isEmpty(mat.getSku())){
+ locDetl.setSku(mat.getSku());
+ }else {
+ locDetl.setSku("");
+ }
+ //鍥惧彿
+ if(!Cools.isEmpty(mat.getImgNum())){
+ locDetl.setItemNum(mat.getImgNum());
+ }else {
+ locDetl.setItemNum("");
+ }
+// if(!Cools.isEmpty(mat.getWeight())){
+// locDetl.setWeight(Double.parseDouble(mat.getWeight()));
+// }else {
+// locDetl.setWeight(0.0);
+// }
+// if(!Cools.isEmpty(mat.getLength())){
+// locDetl.setLength(Double.parseDouble(mat.getLength()));
+// }else {
+// locDetl.setLength(0.0);
+// }
locDetlService.updateById(locDetl);
}
}
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
index a84fb60..0f9375b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
@@ -22,10 +22,7 @@
import com.zy.asrs.framework.exception.CoolException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
@@ -69,6 +66,7 @@
/**
* 骞冲韩涓婃灦
+ *
* @param locNo
* @param barcode
* @return
@@ -81,6 +79,7 @@
/**
* 骞冲韩涓嬫灦
+ *
* @param combParam
* @return
*/
@@ -128,8 +127,8 @@
.eq(OrderDetl::getMatnr, matnr)
.like(OrderDetl::getOrderNo, orderNo)
.orderByDesc(OrderDetl::getCreateTime));
- for (OrderDetl orderDetl:list
- ) {
+ for (OrderDetl orderDetl : list
+ ) {
double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
PickMatParam matParam = new PickMatParam();
matParam.setMatnr(orderDetl.getMatnr());
@@ -165,18 +164,19 @@
@RequestMapping("/pda/WarehouseOutPickMerge/v1")
@ManagerAuth
public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) {
- return mobileService.WarehouseOutPickMergeV1(param, getHostId(),getUserId());
+ return mobileService.WarehouseOutPickMergeV1(param, getHostId(), getUserId());
}
/**
* 澶氭骞舵澘
+ *
* @param param
* @return
*/
@RequestMapping("/pda/WarehouseOutMergeBoardMany/v1")
@ManagerAuth
public R WarehouseOutMergeBoardManyV1(@RequestBody WarehouseOutMergeBoardManyParam param) {
- return mobileService.WarehouseOutMergeBoardMany(param, getHostId(),getUserId());
+ return mobileService.WarehouseOutMergeBoardMany(param, getHostId(), getUserId());
}
@RequestMapping("/menu/pda/auth")
@@ -534,7 +534,7 @@
@RequestMapping("/outBound/order/list")
@ManagerAuth(memo = "鑾峰彇鍑哄簱璁㈠崟")
- public R outBound(@RequestParam(required = false) String matnr,@RequestParam(required = false) String orderNo){
+ public R outBound(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) {
List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakout, 1));
ArrayList<Long> typeList = new ArrayList<>();
for (DocType docType : docTypes) {
@@ -776,4 +776,78 @@
return R.ok().add(wrkMastArrayList);
}
+ @PostMapping("/pda/OutLocNo")
+ @ManagerAuth(memo = "鑾峰緱骞冲簱鍑哄簱鐨勫搴斿簱浣嶅彿")
+ @Transactional
+ public R OutLocNo(@RequestParam Long orderId) {
+ List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getOrderId, orderId)
+ .eq(OrderDetl::getHostId, getHostId())
+ );
+ if (Cools.isEmpty(orderDetls)) {
+ return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ List<String> list = new ArrayList<>();
+ for (OrderDetl o : orderDetls
+ ) {
+ if (o.getAnfme() <= o.getWorkQty()) {
+ continue;
+ } else {
+ //鏌ョ湅搴撲綅鏄庣粏涓湁鐨勭墿鏂�
+ List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+ .eq(LocDetl::getMatnr, o.getMatnr()).eq(LocDetl::getHostId, getHostId())
+ );
+ if (Cools.isEmpty(locDetls)) {
+ continue;
+ } else {
+ for (LocDetl l : locDetls
+ ) {
+ String s = l.getLocNo().substring(1, 2);
+ if (Integer.valueOf(s) > 4) {
+ list.add(l.getLocNo());
+ }
+ }
+
+ }
+ }
+ }
+ List<String> myList = list.stream().distinct().collect(Collectors.toList());
+ return R.ok(myList);
+ }
+
+ @PostMapping("/pda/OrderDetlContrastLocDetl")
+ @ManagerAuth(memo = "鑾峰緱璁㈠崟鏄庣粏瀵瑰簲鐨勫簱瀛樻槑缁�")
+ @Transactional
+ public R OrderDetlContrastLocDetl(@RequestParam Long orderId, @RequestParam String locNo) {
+ List<LocDetl> locDetlList = new ArrayList<LocDetl>();
+ List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getOrderId, orderId)
+ .eq(OrderDetl::getHostId, getHostId())
+ );
+ if (Cools.isEmpty(orderDetls)) {
+ return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+ .eq(LocDetl::getLocNo, locNo));
+ if (Cools.isEmpty(locDetls)) {
+ return R.error("搴撲綅涓虹┖");
+ }
+ for (OrderDetl o : orderDetls
+ ) {
+ for (LocDetl l : locDetls
+ ) {
+ if (o.getMatnr().equals(l.getMatnr())) {
+ if (o.getAnfme() - o.getWorkQty() >= l.getAnfme()) {
+
+ } else {
+ l.setAnfme(o.getAnfme() - o.getWorkQty());
+ }
+ locDetlList.add(l);
+ break;
+ }
+ }
+ }
+ return R.ok(locDetlList);
+ }
+
}
diff --git a/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js b/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js
index b4cd9eb..f40461f 100644
--- a/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js
+++ b/zy-asrs-wms/src/main/webapp/static/js/mat/mat.js
@@ -16,8 +16,8 @@
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
}).extend({
- dropdown: 'dropdown/dropdown',
-}).use(['table','laydate', 'form', 'treeTable', 'admin', 'xmSelect', 'dropdown', 'element'], function(){
+ dropdown: 'dropdown/dropdown',notice: 'notice/notice',
+}).use(['table','laydate', 'form', 'treeTable','notice', 'admin', 'xmSelect', 'dropdown', 'element'], function(){
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
@@ -26,7 +26,7 @@
admin = layui.admin;
var treeTable = layui.treeTable;
var xmSelect = layui.xmSelect;
-
+ var notice = layui.notice;
// 鍟嗗搧鍒嗙被鏁版嵁
var insTb = treeTable.render({
elem: '#tag',
@@ -367,11 +367,25 @@
// 鍚屾搴瓨
form.on('submit(synchronous)', function (data) {
layer.confirm('纭鍚屾搴瓨锛�', function(){
- http.get(baseUrl+"/hand/control/wrkMast", {workNo: data.wrkNo, type:1}, function (res) {
- $(".layui-laypage-btn")[0].click();
- layer.msg(data.wrkNo + res.msg);
+ notice.msg('姝e湪鍚屾搴瓨......', {icon: 4});
+ $.ajax({
+ url: baseUrl+"/mat/synchronous",
+ headers: {'token': localStorage.getItem('token')},
+ method: 'GET',
+ success: function (res) {
+ notice.destroy();
+ // layer.close(loadIndex);
+ if (res.code === 200){
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ $(".layui-laypage-btn")[0].click();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
})
- layer.closeAll();
});
});
--
Gitblit v1.9.1