From d0fa6b5d514110de8bcc672a08813151efa94fb6 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 05 九月 2023 15:28:37 +0800
Subject: [PATCH] #拣货单
---
src/main/java/com/zy/asrs/entity/ManLocDetl.java | 1
src/main/webapp/static/js/picking/picking.js | 44 ++++++++++++--
src/main/java/com/zy/asrs/service/PakoutService.java | 1
src/main/java/com/zy/asrs/entity/OrderDetl.java | 10 ++-
src/main/webapp/static/js/order/out.js | 7 -
src/main/webapp/views/picking/picking.html | 1
src/main/java/com/zy/asrs/controller/PakoutController.java | 11 +--
src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java | 39 +++++++++++++
src/main/java/com/zy/common/model/LocDto.java | 8 +-
src/main/java/com/zy/asrs/controller/OutController.java | 10 +--
10 files changed, 101 insertions(+), 31 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OutController.java b/src/main/java/com/zy/asrs/controller/OutController.java
index c5acac2..c71a1f9 100644
--- a/src/main/java/com/zy/asrs/controller/OutController.java
+++ b/src/main/java/com/zy/asrs/controller/OutController.java
@@ -73,8 +73,8 @@
for (OrderDetl orderDetl : orderDetls) {
BigDecimal a1 = new BigDecimal(orderDetl.getAnfme()).setScale(2,BigDecimal.ROUND_HALF_UP);
BigDecimal b1 = new BigDecimal(orderDetl.getQty()).setScale(2,BigDecimal.ROUND_HALF_UP);
- Double c1 = a1.subtract(b1).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
- double issued = Optional.of( c1 ).orElse(0.0D);
+
+ double issued = Optional.of(orderDetl.getAnfme() - orderDetl.getWorkQty()).orElse(0.0D);
if (issued <= 0.0D) { continue; }
List<LocDetl> locDetls = locDetlService.queryStock2(orderDetl.getMatnr(), orderDetl.getBatch());
for (LocDetl locDetl : locDetls) {
@@ -84,7 +84,7 @@
sign=true;
}
LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
- sign ? locDetl.getAnfme() : issued,locDetl.getOwner(),locDetl.getPayment());
+ sign ? locDetl.getAnfme() : issued);
List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locDetl.getLocNo(), sign? 101 : 103);
// LocDto locDto = new LocDto(locDetl.getLocNo(), locDetl.getMatnr(), locDetl.getMaktx(), locDetl.getBatch(), orderDetl.getOrderNo(),
// locDetl.getAnfme(), issued < locDetl.getAnfme()? issued : locDetl.getAnfme());
@@ -103,7 +103,7 @@
}
}
if (issued > 0) {
- LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued,orderDetl.getOwner(),1);
+ LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), issued);
// LocDto locDto = new LocDto(null, orderDetl.getMatnr(), orderDetl.getMaktx(), orderDetl.getBatch(), orderDetl.getOrderNo(), 0.0,issued);
locDto.setLack(Boolean.TRUE);
locDtos.add(locDto);
@@ -281,8 +281,6 @@
manPakOut.setCreateTime(new Date());
manPakOut.setBatch(locDto.getBatch());
manPakOut.setUpdateTime(new Date());
- manPakOut.setPayment(locDto.getPayment());
- manPakOut.setOwner(locDto.getOwner());
manPakOut.setUuid(uuid);
if (Cools.isEmpty(manPakOutService.selectOne(new EntityWrapper<ManPakOut>().eq("doc_num",locDto.getOrderNo())))){
manPakOut.setName(locDto.getMaktx());
diff --git a/src/main/java/com/zy/asrs/controller/PakoutController.java b/src/main/java/com/zy/asrs/controller/PakoutController.java
index 9be81bd..fe360e4 100644
--- a/src/main/java/com/zy/asrs/controller/PakoutController.java
+++ b/src/main/java/com/zy/asrs/controller/PakoutController.java
@@ -21,6 +21,7 @@
import com.core.common.R;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@@ -286,12 +287,10 @@
}
@RequestMapping(value = "/pakout/delete/auth")
- @ManagerAuth
- public R delete(@RequestParam(value="ids[]") Long[] ids){
- for (Long id : ids){
- pakoutService.deleteById(id);
- }
- return R.ok();
+ @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟")
+ public R delete(@RequestParam String docNum){
+ pakoutService.deletePakout(docNum);
+ return R.ok("鎷h揣鍗曞垹闄ゆ垚鍔�");
}
@RequestMapping(value = "/pakout/export/auth")
diff --git a/src/main/java/com/zy/asrs/entity/ManLocDetl.java b/src/main/java/com/zy/asrs/entity/ManLocDetl.java
index e630caf..99eb489 100644
--- a/src/main/java/com/zy/asrs/entity/ManLocDetl.java
+++ b/src/main/java/com/zy/asrs/entity/ManLocDetl.java
@@ -30,6 +30,7 @@
* 鎵�灞為」鐩�
*/
@ApiModelProperty(value= "鎵�灞為」鐩�")
+ @TableId(value = "host_id", type = IdType.AUTO)
@TableField("host_id")
private Long hostId;
diff --git a/src/main/java/com/zy/asrs/entity/OrderDetl.java b/src/main/java/com/zy/asrs/entity/OrderDetl.java
index 9dcc5aa..5b7533c 100644
--- a/src/main/java/com/zy/asrs/entity/OrderDetl.java
+++ b/src/main/java/com/zy/asrs/entity/OrderDetl.java
@@ -506,11 +506,15 @@
}
public Double getEnableQty() {
+ Double enableQty = null;
+ if (null != this.anfme && this.workQty != null) {
+ enableQty = this.anfme - this.workQty;
+ if (enableQty <0){
+ enableQty = 0.0D;
+ }
- if (null != this.anfme && this.qty != null) {
- return this.anfme - this.qty;
}
- return null;
+ return enableQty;
}
public void sync(Object source) {
diff --git a/src/main/java/com/zy/asrs/service/PakoutService.java b/src/main/java/com/zy/asrs/service/PakoutService.java
index 01f8447..7240a23 100644
--- a/src/main/java/com/zy/asrs/service/PakoutService.java
+++ b/src/main/java/com/zy/asrs/service/PakoutService.java
@@ -5,4 +5,5 @@
public interface PakoutService extends IService<Pakout> {
+ void deletePakout(String docNum);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
index 4438c18..0e09253 100644
--- a/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/PakoutServiceImpl.java
@@ -1,12 +1,51 @@
package com.zy.asrs.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.zy.asrs.entity.Order;
+import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.mapper.PakoutMapper;
import com.zy.asrs.entity.Pakout;
+import com.zy.asrs.service.OrderDetlService;
+import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.PakoutService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
@Service("pakoutService")
public class PakoutServiceImpl extends ServiceImpl<PakoutMapper, Pakout> implements PakoutService {
+ @Autowired
+ private OrderService orderService;
+ @Autowired
+ private OrderDetlService orderDetlService;
+
+ @Override
+ public void deletePakout(String docNum) {
+ Order order = orderService.selectByNo(docNum);
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", docNum));
+
+ for (OrderDetl orderDetl: orderDetls){
+ if (orderDetl.getQty() > 0.0){
+ throw new RuntimeException("鎷h揣鍗曞凡鏈夊嚭搴撲换鍔★紝涓嶅彲鍒犻櫎!");
+ }
+ orderDetl.setWorkQty(0.0D);
+ }
+
+ if (!orderDetlService.updateBatchById(orderDetls)){
+ throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触");
+ }
+ order.setSettle(1L);
+ if (!orderService.updateById(order)){
+ throw new RuntimeException("璁㈠崟鏄庣粏鎵归噺鏇存柊澶辫触");
+ }
+ if (!delete(new EntityWrapper<Pakout>().eq("doc_num",docNum))){
+ throw new RuntimeException("鎷h揣鍗曞垹闄ゅけ璐�");
+ }
+
+
+ }
}
diff --git a/src/main/java/com/zy/common/model/LocDto.java b/src/main/java/com/zy/common/model/LocDto.java
index 2bd8484..435baa0 100644
--- a/src/main/java/com/zy/common/model/LocDto.java
+++ b/src/main/java/com/zy/common/model/LocDto.java
@@ -25,8 +25,7 @@
//瀹為檯鍑哄簱閲�
private Double anfme;
- private int owner;
- private int payment;
+
//鎵�闇�鍑哄簱閲�
private Double needQty;
@@ -55,15 +54,14 @@
this.anfme = anfme;
}
- public LocDto(String locNo, String matnr, String maktx, String batch, String orderNo, Double anfme,int owner ,int payment) {
+ public LocDto(String locNo, String matnr, String maktx, String batch, String orderNo, Double anfme) {
this.locNo = locNo;
this.matnr = matnr;
this.maktx = maktx;
this.batch = batch;
this.orderNo = orderNo;
this.anfme = anfme;
- this.owner = owner;
- this.payment = payment;
+
}
public LocDto(String locNo, String matnr, String maktx, String batch, String orderNo, Double anfme, Double needQty) {
diff --git a/src/main/webapp/static/js/order/out.js b/src/main/webapp/static/js/order/out.js
index a589b9f..9dc629a 100644
--- a/src/main/webapp/static/js/order/out.js
+++ b/src/main/webapp/static/js/order/out.js
@@ -35,13 +35,10 @@
,{field: 'orderNo', align: 'center',title: '鍗曟嵁缂栧彿', templet: '#orderNoTpl', width: 160}
,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜', width: 160}
,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О', width: 200}
- ,{field: 'owner$', align: 'center',title: '璐т富'}
- ,{field: 'payment$', align: 'center',title: '璐х墿褰㈡��'}
- ,{field: 'owner', align: 'center',title: '璐т富', hide: true}
- ,{field: 'payment', align: 'center',title: '璐х墿褰㈡��', hide: true}
// ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
// ,{field: 'qty', align: 'center',title: '浣滀笟鏁伴噺', style: 'font-weight: bold'}
,{field: 'anfme', align: 'center',title: '鎬绘暟閲�', style: 'font-weight: bold'}
+ ,{field: 'enableQty', align: 'center',title: '寰呭嚭鏁伴噺', style: 'font-weight: bold'}
// ,{field: 'name', align: 'center',title: '鍚嶇О'}
// ,{field: 'model', align: 'center',title: '鍨嬪彿'}
,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
@@ -267,7 +264,7 @@
}
,yes: function(index, layero){
//鎸夐挳銆愮珛鍗冲嚭搴撱�戠殑鍥炶皟
- pakout(tableCache, index);
+ //pakout(tableCache, index);
pakout2(tableCache, index);
}
,btn2: function(index, layero){
diff --git a/src/main/webapp/static/js/picking/picking.js b/src/main/webapp/static/js/picking/picking.js
index 553fb28..9d3afee 100644
--- a/src/main/webapp/static/js/picking/picking.js
+++ b/src/main/webapp/static/js/picking/picking.js
@@ -1,6 +1,7 @@
var pageCurr;
var printMatCodeNos = [];
var ordernoo = "123";
+var insTbCount = 0;
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
}).use(['table','laydate', 'form', 'admin', 'layer'], function(){
@@ -30,8 +31,6 @@
,{align: 'center', title: '浜岀淮鐮�', toolbar: '#operate', width: 200 , hide:true}
,{align: 'center', title: '鏄庣粏', toolbar: '#tbLook', minWidth: 160, width: 160}
,{field: 'status$', align: 'center',title: '鐘舵��'}
- ,{field: 'owner$', align: 'center',title: '璐т富'}
- ,{field: 'payment$', align: 'center',title: '璐х墿褰㈡��'}
// ,{field: 'custName', align: 'center',title: '瀹㈡埛鍚嶇О', width: 160}
,{field: 'createTime$', align: 'center',title: '鎿嶄綔鏃堕棿'}
,{align: 'center', title: '鎿嶄綔', toolbar: '#operate'}
@@ -96,6 +95,9 @@
case "btnPrint2":
btnPrint2(data.wrkNo, data.docNum, 4);
break;
+ case "del":
+ doDel(data.docNum);
+ break;
case "look":
var $a = $(obj.tr).find('a[lay-event="look"]');
var offset = $a.offset();
@@ -131,10 +133,6 @@
,{field: 'matnr', align: 'center',title: '鐗╂枡鍙�'}
,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
,{field: 'anfme', align: 'center',title: '鏁伴噺'}
- ,{field: 'owner$', align: 'center',title: '璐т富'}
- ,{field: 'payment$', align: 'center',title: '璐х墿褰㈡��'}
- ,{field: 'owner', align: 'center',title: '璐т富', hide:true}
- ,{field: 'payment', align: 'center',title: '璐х墿褰㈡��', hide:true}
,{field: 'createTime$', align: 'center',title: '鎿嶄綔鏃堕棿'}
,{field: 'count', align: 'center',title: '瀹屾垚鏁�'}
,{field: 'status$', align: 'center',title: '鐘舵��'}
@@ -319,6 +317,40 @@
})
}
+ function doDel(docNum) {
+ console.log(docNum)
+ layer.confirm('纭畾瑕佸垹闄ゅ悧锛�', {
+ shade: .1,
+ skin: 'layui-layer-admin'
+ }, function (i) {
+ layer.close(i);
+ layer.load(2);
+ $.ajax({
+ url: baseUrl+"/pakout/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data:{
+ docNum:docNum
+ },
+ method: 'GET',
+ success: function (res) {
+ layer.closeAll('loading');
+ if (res.code === 200){
+ if (insTbCount === 0) {
+ insTb.reload({page: {curr: 1}});
+ } else {
+ $(".layui-laypage-btn")[0].click();
+ }
+ layer.msg(res.msg, {icon: 1});
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ }else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
diff --git a/src/main/webapp/views/picking/picking.html b/src/main/webapp/views/picking/picking.html
index 018c501..32f447f 100644
--- a/src/main/webapp/views/picking/picking.html
+++ b/src/main/webapp/views/picking/picking.html
@@ -75,6 +75,7 @@
<a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="complete">瀹岀粨</a>
{{# } }}
<a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint2">鎵撳嵃</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">鍒犻櫎</a>
<!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="btnPrint"><img src="../../static/image/nav/fn_3.png" alt="浜岀淮鐮�"></a>
-->
</script>
--
Gitblit v1.9.1