From 46607139e955ca266e24bd8561bca1f93a650178 Mon Sep 17 00:00:00 2001
From: wang..123 <brook_w@163.com>
Date: 星期二, 22 三月 2022 18:23:39 +0800
Subject: [PATCH] Merge branch 'master' of http://47.97.1.152:5880/r/wms_saas
---
src/main/resources/mapper/OrderMapper.xml | 18
src/main/webapp/views/pickout/pickout.html | 158 ++++++
src/main/java/zy/cloud/wms/manager/entity/Pickout.java | 24 +
src/main/webapp/static/js/wave/wave.js | 79 +++
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 205 +++++++-
src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java | 20
src/main/java/zy/cloud/wms/manager/service/WorkService.java | 3
src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java | 3
src/main/resources/mapper/PickoutDetlMapper.xml | 1
src/main/java/zy/cloud/wms/manager/controller/PickoutController.java | 9
src/main/java/zy/cloud/wms/common/service/MainService.java | 252 ++++++++++
src/main/java/zy/cloud/wms/manager/controller/WaveController.java | 17
src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java | 4
src/main/java/zy/cloud/wms/manager/controller/PakoutController.java | 19
src/main/java/zy/cloud/wms/manager/entity/StoPreTab.java | 2
src/main/java/zy/cloud/wms/common/model/PickOutDto.java | 20
src/main/java/zy/cloud/wms/manager/service/WaveService.java | 6
src/main/java/zy/cloud/wms/manager/service/impl/OrderServiceImpl.java | 5
src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 18
src/main/java/zy/cloud/wms/manager/service/PickoutService.java | 1
src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java | 71 ++
src/main/java/zy/cloud/wms/manager/service/OrderService.java | 2
src/main/java/zy/cloud/wms/manager/mapper/PickoutMapper.java | 2
src/main/java/zy/cloud/wms/common/model/MatnrDto.java | 1
src/main/webapp/static/js/ioWorks/matQuery.js | 2
src/main/resources/mapper/PickoutMapper.xml | 6
src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 12
src/main/webapp/static/js/order/order.js | 1
src/main/webapp/views/wave/wave.html | 7
src/main/java/zy/cloud/wms/manager/mapper/OrderMapper.java | 3
src/main/webapp/static/js/pickout/pickout.js | 373 +++++++++-------
src/main/java/zy/cloud/wms/common/model/WaveStoDto.java | 33 +
32 files changed, 1,105 insertions(+), 272 deletions(-)
diff --git a/src/main/java/zy/cloud/wms/common/model/MatnrDto.java b/src/main/java/zy/cloud/wms/common/model/MatnrDto.java
index 1612c11..190c95e 100644
--- a/src/main/java/zy/cloud/wms/common/model/MatnrDto.java
+++ b/src/main/java/zy/cloud/wms/common/model/MatnrDto.java
@@ -14,4 +14,5 @@
private String batch;
+
}
diff --git a/src/main/java/zy/cloud/wms/common/model/PickOutDto.java b/src/main/java/zy/cloud/wms/common/model/PickOutDto.java
new file mode 100644
index 0000000..072aee3
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/model/PickOutDto.java
@@ -0,0 +1,20 @@
+package zy.cloud.wms.common.model;
+
+import lombok.Data;
+
+@Data
+public class PickOutDto {
+ private Integer anfme;
+ private String locNo;
+ private String maktx;
+ private String matnr;
+ private Integer nodeId;
+ private Boolean prior;
+ private Integer reduce;
+ private Integer remQty;
+ private String title;
+ private Integer total;
+ private Integer type;
+ private String waveId;
+
+}
diff --git a/src/main/java/zy/cloud/wms/common/model/WaveStoDto.java b/src/main/java/zy/cloud/wms/common/model/WaveStoDto.java
new file mode 100644
index 0000000..8a49715
--- /dev/null
+++ b/src/main/java/zy/cloud/wms/common/model/WaveStoDto.java
@@ -0,0 +1,33 @@
+package zy.cloud.wms.common.model;
+
+import lombok.Data;
+import zy.cloud.wms.manager.entity.OrderDetl;
+import zy.cloud.wms.manager.entity.WaveDetl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Data
+public class WaveStoDto {
+
+ private String orderNo;
+
+ private List<MatnrDto> dtos;
+
+ public WaveStoDto() {
+ }
+
+ public WaveStoDto create(String id, List<WaveDetl> orderDetls){
+ this.setOrderNo(id);
+ List<MatnrDto> matnrDtos = new ArrayList<>();
+ for (WaveDetl waveDetl : orderDetls) {
+ MatnrDto matnrDto = new MatnrDto();
+ matnrDto.setMatnr(waveDetl.getMatnr());
+ matnrDto.setCount(waveDetl.getAnfme());
+ matnrDto.setBatch(waveDetl.getBatch());
+ matnrDtos.add(matnrDto);
+ }
+ this.setDtos(matnrDtos);
+ return this;
+ }
+}
diff --git a/src/main/java/zy/cloud/wms/common/service/MainService.java b/src/main/java/zy/cloud/wms/common/service/MainService.java
index 165c823..ec44a62 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainService.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -10,6 +10,7 @@
import zy.cloud.wms.common.model.MatnrDto;
import zy.cloud.wms.common.model.OrderStoDto;
import zy.cloud.wms.common.model.ReceiveStoDto;
+import zy.cloud.wms.common.model.WaveStoDto;
import zy.cloud.wms.common.utils.VersionUtils;
import zy.cloud.wms.manager.entity.*;
import zy.cloud.wms.manager.service.*;
@@ -37,6 +38,10 @@
private ReceiveService receiveService;
@Autowired
private ReceiveDetlService receiveDetlService;
+ @Autowired
+ private PickoutService pickoutService;
+ @Autowired
+ private PickoutDetlService pickoutDetlService;
@Transactional
public List<StoPreTab> stockOutPreview(OrderStoDto orderStoDto, Long hostId) {
@@ -186,7 +191,79 @@
});
return res;
}
+ public List<StoPreTab> orderOutPreview(OrderStoDto orderStoDto, Long hostId){
+ if (Cools.isEmpty(orderStoDto) || Cools.isEmpty(orderStoDto.getDtos())) {
+ throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+ List<StoPreTab> res = new ArrayList<>();
+ // 妫�鏌ュ簱瀛樻槸鍚﹁冻澶�
+// locDetlService.checkLocDetlCount(orderStoDto.getDtos());
+ for (MatnrDto matnrDto : orderStoDto.getDtos()) {
+ // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪
+ Mat mat = matService.selectByMatnr(hostId, matnrDto.getMatnr());
+ if (null == mat) {
+ throw new CoolException(matnrDto.getMatnr() + "鐗╂枡灏氭湭鏇存柊銆�" + orderStoDto.getOrderNo() +"鍗曟嵁鍥犳涓柇锛�");
+ }
+
+ Double sumAnfme = Optional.ofNullable(locDetlService.selectCountByMatnr(mat.getMatnr(), hostId)).orElse(0.0D);
+ double lack = 0.0D;
+ // 缂鸿揣
+ if (sumAnfme < matnrDto.getCount()) {
+ lack = matnrDto.getCount() - sumAnfme;
+ // 瑙嗗浘瀵硅薄
+ StoPreTab tab = new StoPreTab();
+ tab.setTitle(mat.getMaktx() + "锛�" + mat.getMatnr() + "锛�");
+ tab.setMatnr(mat.getMatnr());
+ tab.setMaktx(mat.getMaktx());
+ tab.setAnfme(matnrDto.getCount());
+ tab.setLocNo("缂鸿揣");
+ tab.setTotal(lack);
+ tab.setReduce(lack);
+ tab.setRemQty(0.0D);
+ tab.setPrior(false);
+ tab.setPrior$("脳");
+ tab.setType(0);
+ res.add(tab);
+ }
+
+ // 鏌ヨ瀛樻湁褰撳墠鐗╂枡鐨勮揣浣�
+ List<LocDetl> locDetls = locDetlService.findOfSort(hostId, mat.getMatnr());
+ double issued = Optional.of(matnrDto.getCount() - lack).orElse(0.0D) ;
+ double anfme = issued;
+ for (LocDetl locDetl : locDetls) {
+ if (issued > 0) {
+ // 瑙嗗浘瀵硅薄
+ StoPreTab tab = new StoPreTab();
+ tab.setTitle(mat.getMaktx() + "锛�" + mat.getMatnr() + "锛�");
+ tab.setMatnr(mat.getMatnr());
+ tab.setMaktx(mat.getMaktx());
+ tab.setAnfme(matnrDto.getCount());
+
+ tab.setLocNo(locDetl.getLocNo());
+ tab.setNodeId(locDetl.getNodeId());
+ tab.setTotal(locDetl.getAnfme());
+ tab.setReduce(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
+ tab.setRemQty(tab.getTotal() - tab.getReduce());
+ tab.setPrior(locDetlService.isPrior(locDetl.getNodeId(), mat.getMatnr()));
+ tab.setPrior$(tab.getPrior()?"鉁�":"脳");
+ tab.setType(1);
+ res.add(tab);
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ }
+ }
+
+ }
+ res.sort(new Comparator<StoPreTab>() {
+ @Override
+ public int compare(StoPreTab o1, StoPreTab o2) {
+// return o1.getMatnr().length() - o2.getMatnr().length();
+ return (int) (o1.getAnfme() - o2.getAnfme());
+ }
+ });
+ return res;
+ }
@Transactional
public void stockOutProcess(OrderStoDto orderStoDto, Long hostId) {
if (Cools.isEmpty(orderStoDto) || Cools.isEmpty(orderStoDto.getDtos())) {
@@ -316,6 +393,8 @@
}
}
+
+
public static void main(String[] args) {
for (int i = 2; i < 51; i++) {
@@ -329,4 +408,177 @@
"GO");
}
}
+
+
+ public void orderStockOutProcess(OrderStoDto orderStoDto, Long hostId, Long userId) {
+ if (Cools.isEmpty(orderStoDto) || Cools.isEmpty(orderStoDto.getDtos())) {
+ return;
+ }
+
+// Receive receive = receiveService.selectByOrderNo(receiveStoDto.getOrderNo(), hostId);
+ Order order = orderService.selectByOrderNo(orderStoDto.getOrderNo(), hostId);
+ if (order == null) {
+ throw new CoolException(orderStoDto.getOrderNo() + "鍗曟嵁涓嶅瓨鍦�");
+ }
+ Date now = new Date();
+ // 妫�鏌ュ簱瀛樻槸鍚﹁冻澶�
+ locDetlService.checkLocDetlCount(orderStoDto.getDtos(), hostId);
+
+ for (MatnrDto matnrDto : orderStoDto.getDtos()) {
+ // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪
+ Mat mat = matService.selectByMatnr(hostId, matnrDto.getMatnr());
+ if (null == mat) {
+ throw new CoolException(matnrDto.getMatnr() + "鐗╂枡灏氭湭鏇存柊銆�" + matnrDto.getCount() +"鍗曟嵁鍥犳涓柇锛�");
+ }
+ // 鏌ヨ瀛樻湁褰撳墠鐗╂枡鐨勮揣浣�
+ List<LocDetl> locDetls = locDetlService.findOfSort(hostId, mat.getMatnr());
+ double issued = Optional.ofNullable(matnrDto.getCount()).orElse(0.0D);
+ Pickout pickout = new Pickout();
+ pickout.setHostId(hostId);
+ pickout.setUserId(userId);
+ pickout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId()));
+ pickout.setWrkSts(1L);
+ pickout.setOrderQty(1);
+ pickout.setOrderNos(orderStoDto.getOrderNo());
+ pickout.setCreateBy(userId.intValue());
+ pickout.setUpdateBy(userId.intValue());
+ pickoutService.insert(pickout);
+ for (LocDetl locDetl : locDetls) {
+
+ if (issued > 0) {
+ PickoutDetl pickoutDetl = new PickoutDetl();
+ pickoutDetl.setHeadId(pickout.getId());
+ pickoutDetl.setNodeId(locDetl.getNodeId());
+ pickoutDetl.setNodeName(locDetl.getLocNo());
+ pickoutDetl.setAnfme(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
+ pickoutDetl.setMatnr(locDetl.getMatnr());
+ pickoutDetl.setMaktx(locDetl.getMaktx());
+ pickoutDetl.setName(locDetl.getName());
+ pickoutDetl.setSpecs(locDetl.getSpecs());
+ pickoutDetl.setModel(locDetl.getModel());
+ pickoutDetl.setBatch(locDetl.getBatch());
+ pickoutDetl.setUnit(locDetl.getUnit());
+ pickoutDetl.setBarcode(locDetl.getBarcode());
+ pickoutDetl.setPrice(locDetl.getPrice());
+ pickoutDetl.setWeight(locDetl.getWeight());
+ pickoutDetl.setStatus(1);
+ pickoutDetl.setCreateBy(userId.intValue());
+ pickoutDetl.setUpdateBy(userId.intValue());
+
+// // 淇濆瓨鍑哄簱閫氱煡鍗�
+// Pakout pakout = new Pakout();
+// pakout.setHostId(hostId);
+// pakout.setWrkSts(1L);
+// pakout.setAnfme(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
+// pakout.setZpallet(locDetl.getZpallet());
+// pakout.setLocNo(locDetl.getLocNo());
+// pakout.setNodeId(locDetl.getNodeId());
+// pakout.setWrkNo(String.valueOf(snowflakeIdWorker.nextId()));
+// VersionUtils.setPakout(pakout, mat);
+// pakout.setDocId(receive.getDocType()); // 鍗曟嵁绫诲瀷
+// pakout.setDocNum(receive.getOrderNo()); // 鍗曟嵁缂栧彿
+// pakout.setCreateTime(now);
+// pakout.setUpdateTime(now);
+// pakout.setStatus(1);
+ if (!pickoutDetlService.insert(pickoutDetl)) {
+ throw new CoolException("淇濆瓨鍑哄簱閫氱煡鍗曞け璐�");
+ }
+ if (issued>=locDetl.getAnfme()) {
+// // 鍒犻櫎搴撳瓨鏄庣粏
+// if (!locDetlService.removeStock(locDetl.getNodeId(), mat.getMatnr())) {
+// throw new CoolException("鍒犻櫎搴撳瓨鏄庣粏澶辫触");
+// }
+ } else {
+// // 淇敼搴撳瓨鏄庣粏鏁伴噺
+// if (!locDetlService.reduceStock(locDetl.getNodeId(), mat.getMatnr(), issued)) {
+// throw new CoolException("淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触");
+// }
+ }
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ }
+ }
+ // 淇敼鍗曟嵁鐘舵��
+ if (!orderService.updateSettle(orderStoDto.getOrderNo(), 2L, hostId)) {
+ throw new CoolException("淇敼鍗曟嵁鐘舵�佸け璐�");
+ }
+ }
+ }
+
+ public Object waveOutPreview(WaveStoDto waveStoDto, Long hostId) {
+ if (Cools.isEmpty(waveStoDto) || Cools.isEmpty(waveStoDto.getDtos())) {
+ throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
+ }
+ List<StoPreTab> res = new ArrayList<>();
+ // 妫�鏌ュ簱瀛樻槸鍚﹁冻澶�
+// locDetlService.checkLocDetlCount(orderStoDto.getDtos());
+
+ for (MatnrDto matnrDto : waveStoDto.getDtos()) {
+ // 鍒ゆ柇鐗╂枡鏄惁瀛樺湪
+ Mat mat = matService.selectByMatnr(hostId, matnrDto.getMatnr());
+ if (null == mat) {
+ throw new CoolException(matnrDto.getMatnr() + "鐗╂枡灏氭湭鏇存柊銆�" + waveStoDto.getOrderNo() +"鍗曟嵁鍥犳涓柇锛�");
+ }
+
+ Double sumAnfme = Optional.ofNullable(locDetlService.selectCountByMatnr(mat.getMatnr(), hostId)).orElse(0.0D);
+ double lack = 0.0D;
+ // 缂鸿揣
+ if (sumAnfme < matnrDto.getCount()) {
+ lack = matnrDto.getCount() - sumAnfme;
+ // 瑙嗗浘瀵硅薄
+ StoPreTab tab = new StoPreTab();
+ tab.setTitle(mat.getMaktx() + "锛�" + mat.getMatnr() + "锛�");
+ tab.setMatnr(mat.getMatnr());
+ tab.setMaktx(mat.getMaktx());
+ tab.setAnfme(matnrDto.getCount());
+ tab.setLocNo("缂鸿揣");
+ tab.setTotal(lack);
+ tab.setReduce(lack);
+ tab.setRemQty(0.0D);
+ tab.setPrior(false);
+ tab.setPrior$("脳");
+ tab.setType(0);
+ tab.setWaveId(waveStoDto.getOrderNo());
+ res.add(tab);
+ }
+
+ // 鏌ヨ瀛樻湁褰撳墠鐗╂枡鐨勮揣浣�
+ List<LocDetl> locDetls = locDetlService.findOfSort(hostId, mat.getMatnr());
+ double issued = Optional.of(matnrDto.getCount() - lack).orElse(0.0D) ;
+ double anfme = issued;
+ for (LocDetl locDetl : locDetls) {
+ if (issued > 0) {
+ // 瑙嗗浘瀵硅薄
+ StoPreTab tab = new StoPreTab();
+ tab.setTitle(mat.getMaktx() + "锛�" + mat.getMatnr() + "锛�");
+ tab.setMatnr(mat.getMatnr());
+ tab.setMaktx(mat.getMaktx());
+ tab.setAnfme(matnrDto.getCount());
+
+ tab.setLocNo(locDetl.getLocNo());
+ tab.setNodeId(locDetl.getNodeId());
+ tab.setTotal(locDetl.getAnfme());
+ tab.setReduce(issued>=locDetl.getAnfme()?locDetl.getAnfme():issued);
+ tab.setRemQty(tab.getTotal() - tab.getReduce());
+ tab.setPrior(locDetlService.isPrior(locDetl.getNodeId(), mat.getMatnr()));
+ tab.setPrior$(tab.getPrior()?"鉁�":"脳");
+ tab.setType(1);
+ tab.setWaveId(waveStoDto.getOrderNo());
+ res.add(tab);
+ // 鍓╀綑寰呭嚭鏁伴噺閫掑噺
+ issued = issued - locDetl.getAnfme();
+ }
+ }
+
+ }
+ res.sort(new Comparator<StoPreTab>() {
+ @Override
+ public int compare(StoPreTab o1, StoPreTab o2) {
+// return o1.getMatnr().length() - o2.getMatnr().length();
+ return (int) (o1.getAnfme() - o2.getAnfme());
+ }
+ });
+ return res;
+
+ }
}
diff --git a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
index b4cc123..1934bb6 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/OrderController.java
@@ -123,18 +123,14 @@
for (Long id : ids) {
Order target = orderService.selectOne(new EntityWrapper<Order>()
.eq("id", id));
- if (target.getSettle() != 0 || target.getSettle() != 1) {
+ if (target.getSettle() == 0 || target.getSettle() == 1) {
+ orderService.deleteById(id);
+ orderDetlService.delete(new EntityWrapper<OrderDetl>()
+ .eq("order_id",id));
+ }else {
throw new CoolException("浠呭厑璁稿垹闄�'鍒濆鍖�','寰呭鐞�'鐘舵�佺殑璁㈠崟");
}
- }
- if (Cools.isEmpty((Object) ids)){
- return R.error();
- }
- for (Long id : ids){
- if (!orderService.deleteById(id)) {
- throw new CoolException("鏈嶅姟鍣ㄩ敊璇紝璇疯仈绯荤鐞嗗憳");
- }
}
return R.ok();
}
@@ -212,8 +208,8 @@
*/
Integer seqNo = 1;
for (Order order : orders) {
- if (order.getSettle() != 2L) {
- return R.error("浠呮敮鎸�'鏈嫞璐�'鐘舵�佺敓鎴愭尝娆�");
+ if (order.getSettle() != 1L) {
+ return R.error("浠呮敮鎸�'寰呭鐞�'鐘舵�佺敓鎴愭尝娆�");
}
}
diff --git a/src/main/java/zy/cloud/wms/manager/controller/PakoutController.java b/src/main/java/zy/cloud/wms/manager/controller/PakoutController.java
index 7b09490..73b9f80 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/PakoutController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/PakoutController.java
@@ -13,7 +13,9 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import zy.cloud.wms.common.web.BaseController;
+import zy.cloud.wms.manager.entity.Order;
import zy.cloud.wms.manager.entity.Pakout;
+import zy.cloud.wms.manager.service.OrderService;
import zy.cloud.wms.manager.service.PakoutService;
import java.util.ArrayList;
@@ -26,6 +28,8 @@
@Autowired
private PakoutService pakoutService;
+ @Autowired
+ private OrderService orderService;
@RequestMapping(value = "/pakout/{id}/auth")
@ManagerAuth
@@ -139,13 +143,18 @@
@RequestMapping(value = "/pakout/print/auth")
@ManagerAuth
public R print(@RequestParam String docNumber) {
- List<Pakout> pakouts = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num", docNumber).eq("host_id", getHostId()));
- if (!Cools.isEmpty(pakouts)) {
- if (pakouts.get(0).getWrkSts() == 1) {
- pakoutService.stockOutPrint(null, docNumber, getUserId(), getHostId());
+ Order order_no = orderService.selectOne(new EntityWrapper<Order>()
+ .eq("order_no", docNumber));
+ if (!Cools.isEmpty(order_no)) {
+ if (order_no.getSettle() == 2) {
+ order_no.setSettle(7L);
+ orderService.update(order_no,new EntityWrapper<Order>()
+ .eq("order_no",docNumber));
+ return R.ok();
}
+
}
- return R.ok();
+ return R.error();
}
}
diff --git a/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java b/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java
index 3878bea..2ab4c98 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/PickoutController.java
@@ -7,6 +7,8 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import zy.cloud.wms.manager.entity.Pickout;
+import zy.cloud.wms.manager.entity.PickoutDetl;
+import zy.cloud.wms.manager.service.PickoutDetlService;
import zy.cloud.wms.manager.service.PickoutService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
@@ -23,6 +25,8 @@
@Autowired
private PickoutService pickoutService;
+ @Autowired
+ private PickoutDetlService pickoutDetlService;
@RequestMapping(value = "/pickout/{id}/auth")
@ManagerAuth
@@ -78,7 +82,12 @@
@ManagerAuth
public R delete(@RequestParam(value="ids[]") Long[] ids){
for (Long id : ids){
+ Pickout picout = pickoutService.selectOne(new EntityWrapper<Pickout>()
+ .eq("id", id));
+ pickoutDetlService.delete(new EntityWrapper<PickoutDetl>()
+ .eq("head_id",id));
pickoutService.deleteById(id);
+ pickoutService.updateWaveStatus(picout.getWaveNo());
}
return R.ok();
}
diff --git a/src/main/java/zy/cloud/wms/manager/controller/WaveController.java b/src/main/java/zy/cloud/wms/manager/controller/WaveController.java
index 2f34179..f8aa130 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WaveController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WaveController.java
@@ -6,8 +6,10 @@
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
+import zy.cloud.wms.common.model.PickOutDto;
import zy.cloud.wms.manager.entity.Wave;
import zy.cloud.wms.manager.entity.WaveDetl;
+import zy.cloud.wms.manager.entity.param.StockOutParam;
import zy.cloud.wms.manager.service.OrderService;
import zy.cloud.wms.manager.service.WaveDetlService;
import zy.cloud.wms.manager.service.WaveService;
@@ -18,8 +20,10 @@
import zy.cloud.wms.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import zy.cloud.wms.manager.service.WorkService;
import java.util.*;
+
@RestController
public class WaveController extends BaseController {
@@ -30,6 +34,8 @@
private WaveDetlService waveDetlService;
@Autowired
private OrderService orderService;
+ @Autowired
+ private WorkService workService;
@RequestMapping(value = "/wave/{id}/auth")
@ManagerAuth
@@ -157,9 +163,14 @@
@RequestMapping("/wave/createOut")
@ManagerAuth
- public R createWaveOut(@RequestBody Wave wave){
- waveService.createOut(wave,getUserId(),getHostId());
- return R.ok();
+ public R createWaveOut(@RequestBody List<PickOutDto> pickOutDtosk){
+ return waveService.createOut(pickOutDtosk,getUserId(),getHostId());
+ }
+
+ @RequestMapping("/wave/preview")
+ @ManagerAuth
+ public R createWavePreview(@RequestBody StockOutParam stockOutParam){
+ return workService.wavePreview(stockOutParam, getUserId(), getHostId());
}
}
diff --git a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
index 42162dc..38f9604 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -79,9 +79,7 @@
@RequestMapping("/stock/out/print")
@ManagerAuth(memo = "鎷h揣鍗曟墦鍗�")
public R stockOutPrint(@RequestBody StockOutParam stockOutParam) {
-
-
- return workService.stockInPrint(stockOutParam, getUserId(), getHostId());
+ return workService.stockOutPrint(stockOutParam, getUserId(), getHostId());
}
@RequestMapping("/stock/allot")
@@ -180,6 +178,7 @@
return workService.initOrder(param, getUserId(), getHostId());
}
+
@RequestMapping("/stock/transfer")
@ManagerAuth(memo = "搴撳瓨璋冩嫧")
public R stockTransfer(@RequestBody AsrsTransferParam number) {
@@ -228,6 +227,13 @@
eq("host_id", getHostId()).orderBy("create_time", false).eq("doc_class",docClass));
return R.ok().add(docTypes);
}
+ @RequestMapping("docType/out/get")
+ @ManagerAuth
+ public R getDocOutTypeData(Integer docClass){
+ List<DocType> docTypes = docTypeService.selectList(new EntityWrapper<DocType>().eq("status", 1).
+ eq("host_id", getHostId()).orderBy("create_time", false).eq("doc_class",docClass));
+ return R.ok().add(docTypes);
+ }
// 鑾峰彇鎵�鏈夊鎴�
@RequestMapping("/cstmr/all/get")
diff --git a/src/main/java/zy/cloud/wms/manager/entity/Pickout.java b/src/main/java/zy/cloud/wms/manager/entity/Pickout.java
index a5ec084..804a8f3 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/Pickout.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/Pickout.java
@@ -92,6 +92,15 @@
@ApiModelProperty(value= "")
private String memo;
+ @TableField("order_qty")
+ private Integer orderQty;
+
+ @TableField("order_nos")
+ private String orderNos;
+
+ @TableField("wave_no")
+ private String waveNo;
+
public Pickout() {}
@@ -108,6 +117,21 @@
// null //
// );
+ public String getWrkSts$(){
+ if (this.wrkSts == 1) {
+ return "鏈墦鍗�";
+ }
+ if (this.wrkSts == 2) {
+ return "鏈嫞璐�";
+ }
+ if (this.wrkSts == 3) {
+ return "寮�濮嬫嫞璐�";
+ }
+ if (this.wrkSts == 4) {
+ return "鎷h揣瀹屾垚";
+ }
+ return "";
+ }
public Long getId() {
return id;
}
diff --git a/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java b/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java
index 8939674..79d3e56 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java
@@ -69,7 +69,7 @@
* 搴撲綅ID
*/
@ApiModelProperty(value= "搴撲綅ID")
- @TableField("node_id")
+ @TableField("nodeId")
private Long nodeId;
/**
@@ -217,13 +217,16 @@
@ApiModelProperty(value= "淇敼浜哄憳ID")
@TableField("update_by")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
- private Date updateBy;
+ private Integer updateBy;
/**
* 澶囨敞
*/
@ApiModelProperty(value= "澶囨敞")
private String memo;
+
+ @TableField("wrk_no")
+ private String wrkNo;
public PickoutDetl() {}
@@ -471,20 +474,9 @@
this.updateTime = updateTime;
}
- public Date getUpdateBy() {
- return updateBy;
- }
- public String getUpdateBy$(){
- if (Cools.isEmpty(this.updateBy)){
- return "";
- }
- return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateBy);
- }
- public void setUpdateBy(Date updateBy) {
- this.updateBy = updateBy;
- }
+
public String getMemo() {
return memo;
diff --git a/src/main/java/zy/cloud/wms/manager/entity/StoPreTab.java b/src/main/java/zy/cloud/wms/manager/entity/StoPreTab.java
index e32e995..3bd238a 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/StoPreTab.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/StoPreTab.java
@@ -32,4 +32,6 @@
private Integer type;
+ private String waveId;
+
}
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/OrderMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/OrderMapper.java
index 095c175..42447b1 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/OrderMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/OrderMapper.java
@@ -22,4 +22,7 @@
void updateStatus(@Param("orderNo") String order);
void changeSettleTo12(@Param("orderNo") String orderIds);
+
+ void updateWrkSts(@Param("wrkNo") String wrkNo, @Param("docNum") String docNum, @Param("wrkSts") Integer wrkSts, @Param("userId") Long userId, @Param("hostId")
+ Long hostId);
}
diff --git a/src/main/java/zy/cloud/wms/manager/mapper/PickoutMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/PickoutMapper.java
index 071d83a..5d23ced 100644
--- a/src/main/java/zy/cloud/wms/manager/mapper/PickoutMapper.java
+++ b/src/main/java/zy/cloud/wms/manager/mapper/PickoutMapper.java
@@ -1,5 +1,6 @@
package zy.cloud.wms.manager.mapper;
+import org.apache.ibatis.annotations.Param;
import zy.cloud.wms.manager.entity.Pickout;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
@@ -9,4 +10,5 @@
@Repository
public interface PickoutMapper extends BaseMapper<Pickout> {
+ void updateWaveStatus(@Param("waveNo") String waveNo);
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/OrderService.java b/src/main/java/zy/cloud/wms/manager/service/OrderService.java
index 92af9fd..b2bf5f4 100644
--- a/src/main/java/zy/cloud/wms/manager/service/OrderService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/OrderService.java
@@ -23,4 +23,6 @@
void updateStatus(String order);
void changeSettleTo12(String orderIds);
+
+ void stockOutPrint(String wrkNo, String docNumber, Long userId, Long hostId);
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/PickoutService.java b/src/main/java/zy/cloud/wms/manager/service/PickoutService.java
index 8191757..c5269bb 100644
--- a/src/main/java/zy/cloud/wms/manager/service/PickoutService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/PickoutService.java
@@ -5,4 +5,5 @@
public interface PickoutService extends IService<Pickout> {
+ void updateWaveStatus(String waveNo);
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/WaveService.java b/src/main/java/zy/cloud/wms/manager/service/WaveService.java
index 9030a70..cd4839b 100644
--- a/src/main/java/zy/cloud/wms/manager/service/WaveService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/WaveService.java
@@ -1,9 +1,13 @@
package zy.cloud.wms.manager.service;
+import com.core.common.R;
+import zy.cloud.wms.common.model.PickOutDto;
import zy.cloud.wms.manager.entity.Wave;
import com.baomidou.mybatisplus.service.IService;
+import java.util.List;
+
public interface WaveService extends IService<Wave> {
- void createOut(Wave wave, Long userId, Long hostId);
+ R createOut(List<PickOutDto> pickOutDtosk, Long userId, Long hostId);
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/WorkService.java b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
index 4a9138c..8c0691c 100644
--- a/src/main/java/zy/cloud/wms/manager/service/WorkService.java
+++ b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
@@ -41,4 +41,7 @@
R stockCheckAuditing(Long checkId, Long userId, Long hostId);
+ R initOutOrder(InitOrderParam param, Long userId, Long hostId);
+
+ R wavePreview(StockOutParam stockOutParam, Long userId, Long hostId);
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/OrderServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/OrderServiceImpl.java
index 39ffe94..b87ace1 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/OrderServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/OrderServiceImpl.java
@@ -62,5 +62,10 @@
this.baseMapper.changeSettleTo12(orderIds);
}
+ @Override
+ public void stockOutPrint(String wrkNo, String docNumber, Long userId, Long hostId) {
+ this.baseMapper.updateWrkSts(wrkNo, docNumber, 7, userId, hostId);
+ }
+
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java
index 245e5e3..32712df 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/PakoutServiceImpl.java
@@ -11,7 +11,8 @@
@Override
public Boolean stockOutPrint(String wrkNo, String docNum, Long userId, Long hostId) {
- return this.baseMapper.updateWrkSts(wrkNo, docNum, 2, userId, hostId)>0;
+ boolean b = this.baseMapper.updateWrkSts(wrkNo, docNum, 7, userId, hostId) > 0;
+ return b;
}
@Override
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java
index 2394c74..c0d5357 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/PickoutServiceImpl.java
@@ -9,4 +9,8 @@
@Service("pickoutService")
public class PickoutServiceImpl extends ServiceImpl<PickoutMapper, Pickout> implements PickoutService {
+ @Override
+ public void updateWaveStatus(String waveNo) {
+ this.baseMapper.updateWaveStatus(waveNo);
+ }
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java
index 841a1cb..4360bf9 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WaveServiceImpl.java
@@ -2,18 +2,19 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
+import com.core.common.R;
import com.core.exception.CoolException;
import org.springframework.beans.factory.annotation.Autowired;
-import zy.cloud.wms.manager.entity.WaveDetl;
+import zy.cloud.wms.common.model.PickOutDto;
+import zy.cloud.wms.manager.entity.*;
import zy.cloud.wms.manager.mapper.WaveMapper;
-import zy.cloud.wms.manager.entity.Wave;
-import zy.cloud.wms.manager.service.OrderService;
-import zy.cloud.wms.manager.service.WaveDetlService;
-import zy.cloud.wms.manager.service.WaveService;
+import zy.cloud.wms.manager.service.*;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
+import java.util.Date;
import java.util.HashSet;
import java.util.List;
@@ -25,23 +26,72 @@
private OrderService orderService;
@Autowired
private WaveService waveService;
+ @Autowired
+ private PickoutService pickoutService;
+ @Autowired
+ private PickoutDetlService pickoutDetlService;
+ @Autowired
+ private MatService matService;
/**
* 閫氳繃娉㈡鐢熸垚鎷h揣鍗�
- * @param wave
+ * @param
* @param userId
* @param hostId
*/
@Override
- public void createOut(Wave wave, Long userId, Long hostId) {
+ public R createOut(List<PickOutDto> pickOutDtosk, Long userId, Long hostId) {
HashSet<String> orderIds = new HashSet<>();
/**
* 鎺х
*/
+ if (Cools.isEmpty(pickOutDtosk)) {
+ throw new CoolException("鏁版嵁浼犺緭閿欒,璇疯仈绯荤鐞嗗憳");
+ }
+ Wave wave = waveService.selectOne(new EntityWrapper<Wave>()
+ .eq("id", pickOutDtosk.get(0).getWaveId()));
List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>()
.eq("wave_id", wave.getId()));
- if (Cools.isEmpty(waveDetls)) {
- throw new CoolException("鎵句笉鍒拌娉㈡鍗曠殑璇︽儏,璇疯仈绯荤鐞嗗憳");
+
+ /**
+ * 鐢熸垚鎷h揣鍗�
+ */
+ Pickout pickout = new Pickout();
+ pickout.setHostId(hostId);
+ pickout.setUserId(userId);
+ pickout.setWrkNo("PO-"+new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));
+ pickout.setWrkSts(1L);
+ pickout.setCreateBy(userId.intValue());
+ pickout.setUpdateBy(userId.intValue());
+ pickout.setOrderQty(wave.getOrdersQty());
+ pickout.setWaveNo(wave.getWaveNo());
+ pickoutService.insert(pickout);
+ for (PickOutDto pickOutDto : pickOutDtosk) {
+ Mat mat = matService.selectByMatnr(hostId, pickOutDto.getMatnr());
+ if (Cools.isEmpty(mat)) {
+ pickoutService.delete(new EntityWrapper<Pickout>()
+ .eq("id",pickout.getId()));
+ throw new CoolException("鏌ヨ涓嶅埌璇ョ墿鏂欐槑缁�");
+
+ }
+ PickoutDetl pickoutDetl = new PickoutDetl();
+ pickoutDetl.setHeadId(pickout.getId());
+ pickoutDetl.setNodeId(pickOutDto.getNodeId().longValue());
+ pickoutDetl.setNodeName(pickOutDto.getLocNo());
+ pickoutDetl.setAnfme(pickOutDto.getAnfme().doubleValue());
+ pickoutDetl.setMatnr(pickOutDto.getMatnr());
+ pickoutDetl.setMaktx(mat.getMaktx());
+ pickoutDetl.setName(mat.getName());
+ pickoutDetl.setSpecs(mat.getSpecs());
+ pickoutDetl.setModel(mat.getModel());
+ pickoutDetl.setUnit(mat.getUnit());
+ pickoutDetl.setPrice(mat.getPrice());
+ pickoutDetl.setWeight(mat.getWeight());
+ pickoutDetl.setStatus(1);
+ pickoutDetl.setCreateBy(userId.intValue());
+ pickoutDetl.setUpdateBy(userId.intValue());
+ pickoutDetl.setWrkNo(pickout.getWrkNo());
+ pickoutDetlService.insert(pickoutDetl);
}
/**
@@ -63,5 +113,8 @@
wave.setStatus((short) 1);
waveService.update(wave,new EntityWrapper<Wave>()
.eq("id",wave.getId()));
+
+
+ return R.ok();
}
}
diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
index 47c3b4e..467d357 100644
--- a/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
+++ b/src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java
@@ -14,6 +14,7 @@
import zy.cloud.wms.common.model.MatnrDto;
import zy.cloud.wms.common.model.OrderStoDto;
import zy.cloud.wms.common.model.ReceiveStoDto;
+import zy.cloud.wms.common.model.WaveStoDto;
import zy.cloud.wms.common.service.MainService;
import zy.cloud.wms.common.utils.VersionUtils;
import zy.cloud.wms.manager.entity.*;
@@ -62,6 +63,10 @@
private ReceiveDetlService receiveDetlService;
@Autowired
ReceiveLogService receiveLogService;
+ @Autowired
+ private WaveService waveService;
+ @Autowired
+ private WaveDetlService waveDetlService;
@Override
@@ -295,12 +300,12 @@
@Override
public R stockOutPreview(StockOutParam param, Long userId, Long hostId) {
- Wrapper<Receive> wrapper = new EntityWrapper<Receive>()
+ Wrapper<Order> wrapper = new EntityWrapper<Order>()
.eq("order_no", param.getOrderNo());
if (hostId != null) {
wrapper.eq("host_id", hostId);
}
- Receive order_no = receiveService.selectOne(wrapper);
+ Order order_no = orderService.selectOne(wrapper);
if (order_no.getSettle() != 1){
return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
@@ -309,8 +314,8 @@
// if (order.getSettle() != 1) {
// return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
// }
- List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(order_no.getOrderNo(), hostId);
- if (Cools.isEmpty(receiveDetls)) {
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order_no.getOrderNo(), hostId);
+ if (Cools.isEmpty(orderDetls)) {
return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
}
// List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId);
@@ -318,27 +323,27 @@
// return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
// }
- ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(order_no.getOrderNo(), receiveDetls);
+ OrderStoDto orderStoDto = new OrderStoDto().create(order_no.getOrderNo(), orderDetls);
// OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
- return R.ok().add(mainService.receiveStockOutPreview(receiveStoDto, hostId));
+ return R.ok().add(mainService.orderOutPreview(orderStoDto, hostId));
}
@Override
public R stockOutCreate(StockOutParam param, Long userId, Long hostId) {
- Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId);
-// Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
- if (receive.getSettle() != 1) {
+// Receive receive = receiveService.selectByOrderNo(param.getOrderNo(), hostId);
+ Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+ if (order.getSettle() != 1) {
return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
}
- List<ReceiveDetl> receiveDetls = receiveDetlService.selectByOrderNo(param.getOrderNo(), hostId);
+ List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId);
// List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(param.getOrderNo(), hostId);
- if (Cools.isEmpty(receiveDetls)) {
+ if (Cools.isEmpty(orderDetls)) {
return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
}
- ReceiveStoDto receiveStoDto = new ReceiveStoDto().create(receive.getOrderNo(), receiveDetls);
+ OrderStoDto orderStoDto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
// OrderStoDto dto = new OrderStoDto().create(receive.getOrderNo(), receiveDetls);
// 寮�濮嬫暣鐞嗗嚭搴撴暟鎹�
- mainService.receiveStockOutProcess(receiveStoDto,hostId);
+ mainService.orderStockOutProcess(orderStoDto,hostId,userId);
return R.ok("鐢熸垚鎷h揣鍗曟垚鍔�");
}
@@ -691,9 +696,9 @@
order1.setOrderNo(param.getOrderNo());
order1.setOrderTime(param.getOrderTime());
order1.setDocType(param.getDocType());
- order1.setItemId(item.getId());
+ order1.setItemId(item == null? null : item.getId());
order1.setItemName(param.getItem());
- order1.setCstmr(cstmr.getId());
+ order1.setCstmr(cstmr == null? null : cstmr.getId());
order1.setCstmrName(param.getCstmr());
order1.setSettle(1L);
order1.setStatus(1);
@@ -773,28 +778,28 @@
log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr());
continue;
}
- ReceiveDetl receiveDetl = new ReceiveDetl();
- receiveDetl.setHostId(hostId);
- receiveDetl.setOrderId(order1.getId());
- receiveDetl.setAnfme(dto.getCount());
- receiveDetl.setCreateTime(now);
- receiveDetl.setCreateBy(userId);
- receiveDetl.setUpdateBy(userId);
- receiveDetl.setUpdateTime(now);
- receiveDetl.setStatus(1);
- receiveDetl.setMatnr(mat.getMatnr());
- receiveDetl.setMaktx(mat.getMaktx());
- receiveDetl.setName(mat.getName());
- receiveDetl.setSpecs(mat.getSpecs());
- receiveDetl.setModel(mat.getModel());
- receiveDetl.setBatch(mat.getBatch());
- receiveDetl.setUnit(mat.getUnit());
- receiveDetl.setBarcode(mat.getBarcode());
- receiveDetl.setItemNum(mat.getItemNum());
- receiveDetl.setCount(Double.valueOf(mat.getCount()));
- receiveDetl.setUnitPrice(mat.getPrice());
- receiveDetl.setWeight(mat.getWeight());
- if (!receiveDetlService.insert(receiveDetl)) {
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.setHostId(hostId);
+ orderDetl.setOrderId(order1.getId());
+ orderDetl.setAnfme(dto.getCount());
+ orderDetl.setCreateTime(now);
+ orderDetl.setCreateBy(userId);
+ orderDetl.setUpdateBy(userId);
+ orderDetl.setUpdateTime(now);
+ orderDetl.setStatus(1);
+ orderDetl.setMatnr(mat.getMatnr());
+ orderDetl.setMaktx(mat.getMaktx());
+ orderDetl.setName(mat.getName());
+ orderDetl.setSpecs(mat.getSpecs());
+ orderDetl.setModel(mat.getModel());
+ orderDetl.setBatch(mat.getBatch());
+ orderDetl.setUnit(mat.getUnit());
+ orderDetl.setBarcode(mat.getBarcode());
+ orderDetl.setItemNum(mat.getItemNum());
+ orderDetl.setCount(mat.getCount() == null ? 0 : mat.getCount());
+ orderDetl.setUnitPrice(mat.getPrice());
+ orderDetl.setWeight(mat.getWeight());
+ if (!orderDetlService.insert(orderDetl)) {
throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
}
}
@@ -1000,4 +1005,130 @@
return R.ok();
}
+ @Override
+// @Transactional
+ public R initOutOrder(InitOrderParam param, Long userId, Long hostId) {
+ Order order_no = orderService.selectOne(new EntityWrapper<Order>()
+ .eq("order_no", param.getOrderNo()));
+// Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+ if (order_no != null) {
+ return R.error("鎶辨瓑鍗曞彿宸插瓨鍦紝璇蜂慨鏀瑰崟鍙�");
+ }
+ Date now = new Date();
+ Item item = itemService.selectByName(param.getItem());
+ Cstmr cstmr = cstmrService.selectByName(param.getCstmr());
+
+ // 鏂板璁㈠崟琛ㄥご
+ order_no = new Order();
+ order_no.setHostId(hostId);
+ order_no.setUuid(String.valueOf(snowflakeIdWorker.nextId()));
+ order_no.setOrderNo(param.getOrderNo());
+ order_no.setOrderTime(param.getOrderTime());
+ order_no.setDocType(param.getDocType());
+ order_no.setItemId(item==null?null:item.getId());
+ order_no.setItemName(param.getItem());
+ order_no.setCstmr(cstmr==null?null:cstmr.getId());
+ order_no.setCstmrName(param.getCstmr());
+ order_no.setSettle(1L);
+ order_no.setStatus(1);
+ order_no.setCreateTime(now);
+ order_no.setCreateBy(userId);
+ order_no.setUpdateTime(now);
+ order_no.setUpdateBy(userId);
+
+// if (!orderService.insert(order)) {
+// throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�");
+// }
+ if (!orderService.insert(order_no)) {
+ throw new CoolException("淇濆瓨璁㈠崟琛ㄥご澶辫触锛�");
+ }
+
+// // 閬嶅巻鍟嗗搧鏁伴噺骞朵繚瀛�
+// for (MatnrDto dto : param.getList()){
+// Mat mat = matService.selectByMatnr(hostId, dto.getMatnr());
+// if (mat == null) {
+// log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr());
+// continue;
+// }
+// OrderDetl orderDetl = new OrderDetl();
+// orderDetl.setHostId(hostId);
+// orderDetl.setOrderId(order.getId()); // 璁㈠崟鍐呯爜
+// orderDetl.setAnfme(dto.getCount()); // 鏁伴噺
+// orderDetl.setCreateBy(userId);
+// orderDetl.setCreateTime(now);
+// orderDetl.setUpdateBy(userId);
+// orderDetl.setUpdateTime(now);
+// orderDetl.setStatus(1);
+// VersionUtils.setOrderDetl(orderDetl, mat);
+// if (!orderDetlService.insert(orderDetl)) {
+// throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
+// }
+// }
+ // 閬嶅巻鍟嗗搧鏁伴噺骞朵繚瀛�
+ for (MatnrDto dto : param.getList()){
+ Mat mat = matService.selectByMatnr(hostId, dto.getMatnr());
+ if (mat == null) {
+ log.error("{}鍟嗗搧涓嶅瓨鍦ㄣ��", dto.getMatnr());
+ continue;
+ }
+ OrderDetl orderDtel = new OrderDetl();
+ orderDtel.setHostId(hostId);
+ orderDtel.setOrderId(order_no.getId());
+ orderDtel.setAnfme(dto.getCount());
+ orderDtel.setCreateTime(now);
+ orderDtel.setCreateBy(userId);
+ orderDtel.setUpdateBy(userId);
+ orderDtel.setUpdateTime(now);
+ orderDtel.setStatus(1);
+ orderDtel.setMatnr(mat.getMatnr());
+ orderDtel.setMaktx(mat.getMaktx());
+ orderDtel.setName(mat.getName());
+ orderDtel.setSpecs(mat.getSpecs());
+ orderDtel.setModel(mat.getModel());
+ orderDtel.setBatch(mat.getBatch());
+ orderDtel.setUnit(mat.getUnit());
+ orderDtel.setBarcode(mat.getBarcode());
+ orderDtel.setItemNum(mat.getItemNum());
+ orderDtel.setCount(mat.getCount() == null ? 0 : mat.getCount());
+ orderDtel.setUnitPrice(mat.getPrice());
+ orderDtel.setWeight(mat.getWeight());
+ if (!orderDetlService.insert(orderDtel)) {
+ throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
+ }
+ }
+ return R.ok("鍒涘缓璁㈠崟鎴愬姛");
+ }
+
+ @Override
+ public R wavePreview(StockOutParam stockOutParam, Long userId, Long hostId) {
+ Wrapper<Wave> wrapper = new EntityWrapper<Wave>()
+ .eq("id", stockOutParam.getOrderNo());
+
+ if (hostId != null) {
+ wrapper.eq("host_id", hostId);
+ }
+ Wave wave = waveService.selectOne(wrapper);
+
+ if (wave.getStatus() != 0){
+ return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
+ }
+// Order order = orderService.selectByOrderNo(param.getOrderNo(), hostId);
+// if (order.getSettle() != 1) {
+// return R.error("姝ゅ崟鎹棤娉曠敓鎴愭嫞璐у崟");
+// }
+ List<WaveDetl> waveDetls = waveDetlService.selectList(new EntityWrapper<WaveDetl>()
+ .eq("wave_id", stockOutParam.getOrderNo()));
+ if (Cools.isEmpty(waveDetls)) {
+ return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
+ }
+// List<OrderDetl> orderDetls = orderDetlService.selectByOrderNo(order.getOrderNo(), hostId);
+// if (Cools.isEmpty(orderDetls)) {
+// return R.error("姝ゅ崟鎹凡澶辨晥锛岃鑱旂郴绠$悊鍛�");
+// }
+
+ WaveStoDto waveStoDto = new WaveStoDto().create(stockOutParam.getOrderNo(),waveDetls);
+// OrderStoDto dto = new OrderStoDto().create(order.getOrderNo(), orderDetls);
+ return R.ok().add(mainService.waveOutPreview(waveStoDto, hostId));
+ }
+
}
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index e714517..66538f8 100644
--- a/src/main/resources/mapper/OrderMapper.xml
+++ b/src/main/resources/mapper/OrderMapper.xml
@@ -44,7 +44,7 @@
</resultMap>
<update id="updateSettle">
- update man_receive set settle = #{settle} where 1=1 and order_no = #{orderNo} and host_id = #{hostId}
+ update man_order set settle = #{settle} where 1=1 and order_no = #{orderNo} and host_id = #{hostId}
</update>
<update id="updateStatus">
UPDATE man_order set settle = 2, wave_no = null WHERE order_no = #{orderNo}
@@ -52,6 +52,22 @@
<update id="changeSettleTo12">
UPDATE man_order set settle = 12 Where 1 = 1 and order_no = #{orderNo}
</update>
+ <update id="updateWrkSts">
+ update man_order
+ set wrk_sts = #{wrkSts}
+ , update_by = #{userId}
+ , update_time = getdate()
+ where 1=1
+ <if test="hostId != null and hostId != ''">
+ and host_id = #{hostId}
+ </if>
+ <if test="wrkNo != null and wrkNo != ''">
+ and wrk_no = #{wrkNo}
+ </if>
+ <if test="docNum != null and docNum != ''">
+ and order_no = #{docNum}
+ </if>
+ </update>
<select id="getPage" resultMap="BaseResultMap">
select * from
diff --git a/src/main/resources/mapper/PickoutDetlMapper.xml b/src/main/resources/mapper/PickoutDetlMapper.xml
index e5a3f3a..aa837e3 100644
--- a/src/main/resources/mapper/PickoutDetlMapper.xml
+++ b/src/main/resources/mapper/PickoutDetlMapper.xml
@@ -30,6 +30,7 @@
<result column="update_time" property="updateTime" />
<result column="update_by" property="updateBy" />
<result column="memo" property="memo" />
+ <result column="wrk_no" property="wrkNo" />
</resultMap>
diff --git a/src/main/resources/mapper/PickoutMapper.xml b/src/main/resources/mapper/PickoutMapper.xml
index b0765dd..4961e3f 100644
--- a/src/main/resources/mapper/PickoutMapper.xml
+++ b/src/main/resources/mapper/PickoutMapper.xml
@@ -15,7 +15,13 @@
<result column="update_time" property="updateTime" />
<result column="update_by" property="updateBy" />
<result column="memo" property="memo" />
+ <result column="order_qty" property="orderQty" />
+ <result column="order_nos" property="orderNos" />
+ <result column="wave_no" property="waveNo" />
</resultMap>
+ <update id="updateWaveStatus">
+ update man_wave set status = 0 where wave_no = #{waveNo}
+ </update>
</mapper>
diff --git a/src/main/webapp/static/js/ioWorks/matQuery.js b/src/main/webapp/static/js/ioWorks/matQuery.js
index adeb494..d82f429 100644
--- a/src/main/webapp/static/js/ioWorks/matQuery.js
+++ b/src/main/webapp/static/js/ioWorks/matQuery.js
@@ -74,7 +74,7 @@
// 鍗曟嵁绫诲瀷
var docTypeData;
$.ajax({
- url: baseUrl+"/work/docType/all/get",
+ url: baseUrl+"/work/docType/out/get",
headers: {'token': localStorage.getItem('token')},
data:{docClass: 2},
method: 'POST',
diff --git a/src/main/webapp/static/js/order/order.js b/src/main/webapp/static/js/order/order.js
index e473fef..76d7a3b 100644
--- a/src/main/webapp/static/js/order/order.js
+++ b/src/main/webapp/static/js/order/order.js
@@ -53,6 +53,7 @@
}
});
+
/* 琛ㄦ牸鎼滅储 */
form.on('submit(docTypeTableSearch)', function (data) {
insTb.reload({where: {doc_name: data.field.docName,doc_class:2}});
diff --git a/src/main/webapp/static/js/pickout/pickout.js b/src/main/webapp/static/js/pickout/pickout.js
index 6503c88..316ce54 100644
--- a/src/main/webapp/static/js/pickout/pickout.js
+++ b/src/main/webapp/static/js/pickout/pickout.js
@@ -9,134 +9,56 @@
var form = layui.form;
var admin = layui.admin;
- // 鏁版嵁娓叉煋
- tableIns = table.render({
- elem: '#pickout',
- headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/pickout/list/auth',
- page: true,
- limit: 16,
- limits: [16, 30, 50, 100, 200, 500],
- toolbar: '#toolbar',
- cellMinWidth: 50,
- cols: [[
- {type: 'checkbox'}
- ,{field: 'id', align: 'center',title: '鍞竴ID'}
- ,{field: 'hostId', align: 'center',title: '鍟嗘埛ID'}
- ,{field: 'userId', align: 'center',title: '鐢ㄦ埛ID'}
- ,{field: 'wrkNo', align: 'center',title: '宸ヤ綔鍙�'}
- ,{field: 'wrkSts', align: 'center',title: '宸ヤ綔鐘舵��'}
- ,{field: 'zpallet', align: 'center',title: '鏉″舰鐮�'}
- ,{field: 'createTime$', align: 'center',title: ''}
- ,{field: 'createBy', align: 'center',title: ''}
- ,{field: 'updateTime$', align: 'center',title: ''}
- ,{field: 'updateBy', align: 'center',title: ''}
- ,{field: 'memo', align: 'center',title: ''}
- ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
- ]],
+ /****************************************** 宸﹁竟琛� *************************************************/
+ var leftTB = table.render({
+ elem: '#leftTable',
+ url: baseUrl + '/pickout/list/auth',
+ height: 'full-100',
+ headers: {token: localStorage.getItem('token')},
request: {
pageName: 'curr',
pageSize: 'limit'
},
- parseData: function (res) {
- return {
- 'code': res.code,
- 'msg': res.msg,
- 'count': res.data.total,
- 'data': res.data.records
- }
+ parseData: function (res){
+ return{
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
},
response: {
statusCode: 200
},
- done: function(res, curr, count) {
- if (res.code === 403) {
- top.location.href = baseUrl+"/";
- }
- pageCurr=curr;
- limit();
+ defaultToolbar: [],
+ cols:[[
+ // {type: 'checkbox'}
+ {field: 'wrkNo', align: 'center',title: '浠诲姟鍙�',width: 180}
+ ,{field: 'id', align: 'center',title: '鍞竴ID',hide: true}
+ ,{field: 'hostId', align: 'center',title: '鍟嗘埛ID', hide: true}
+ ,{field: 'userId', align: 'center',title: '鐢ㄦ埛ID', hide: true}
+
+ ,{field: 'wrkSts$', align: 'center',title: '宸ヤ綔鐘舵��' ,templet: '#wrkStsTpl' , width: 100}
+ ,{field: 'zpallet', align: 'center',title: '鏉″舰鐮�' , hide:true}
+ ,{field: 'createTime$', align: 'center',title: '', hide:true}
+ ,{field: 'createBy', align: 'center',title: '', hide:true}
+ ,{field: 'updateTime$', align: 'center',title: '', hide:true}
+ ,{field: 'updateBy', align: 'center',title: '', hide:true}
+ ,{field: 'memo', align: 'center',title: '', hide:true}
+
+ ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate'}
+ ]],
+ done: function (res,curr,count){
+ $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
}
});
-
- // 鐩戝惉鎺掑簭浜嬩欢
- table.on('sort(pickout)', function (obj) {
- var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- searchData[this.name] = this.value;
- });
- searchData['orderByField'] = obj.field;
- searchData['orderByType'] = obj.type;
- tableIns.reload({
- where: searchData,
- page: {curr: 1}
- });
- });
-
- // 鐩戝惉澶村伐鍏锋爮浜嬩欢
- table.on('toolbar(pickout)', function (obj) {
- var checkStatus = table.checkStatus(obj.config.id).data;
- switch(obj.event) {
- case 'addData':
- showEditModel();
- break;
- case 'deleteData':
- if (checkStatus.length === 0) {
- layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
- return;
- }
- var ids = checkStatus.map(function (d) {
- return d.id;
- });
- del(ids);
- break;
- case 'exportData':
- layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
- var titles=[];
- var fields=[];
- obj.config.cols[0].map(function (col) {
- if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
- titles.push(col.title);
- fields.push(col.field);
- }
- });
- var exportData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
- exportData[this.name] = this.value;
- });
- var param = {
- 'pickout': exportData,
- 'fields': fields
- };
- $.ajax({
- url: baseUrl+"/pickout/export/auth",
- headers: {'token': localStorage.getItem('token')},
- data: JSON.stringify(param),
- dataType:'json',
- contentType:'application/json;charset=UTF-8',
- method: 'POST',
- success: function (res) {
- layer.closeAll();
- if (res.code === 200) {
- table.exportFile(titles,res.data,'xls');
- } else if (res.code === 403) {
- top.location.href = baseUrl+"/";
- } else {
- layer.msg(res.msg, {icon: 2})
- }
- }
- });
- });
- break;
- }
- });
-
// 鐩戝惉琛屽伐鍏蜂簨浠�
- table.on('tool(pickout)', function(obj){
+ table.on('tool(leftTable)', function(obj){
var data = obj.data;
switch (obj.event) {
- case 'edit':
- showEditModel(data);
+ case 'complete':
+ complete(data);
break;
case "del":
var ids = [data.id];
@@ -144,48 +66,17 @@
break;
}
});
-
- /* 寮圭獥 - 鏂板銆佷慨鏀� */
- function showEditModel(mData) {
- admin.open({
- type: 1,
- area: '600px',
- title: (mData ? '淇敼' : '娣诲姞') + '璁㈠崟鐘舵��',
- content: $('#editDialog').html(),
- success: function (layero, dIndex) {
- layDateRender();
- form.val('detail', mData);
- form.on('submit(editSubmit)', function (data) {
- var loadIndex = layer.load(2);
- $.ajax({
- url: baseUrl+"/pickout/"+(mData?'update':'add')+"/auth",
- headers: {'token': localStorage.getItem('token')},
- data: data.field,
- method: 'POST',
- success: function (res) {
- layer.close(loadIndex);
- if (res.code === 200){
- layer.close(dIndex);
- layer.msg(res.msg, {icon: 1});
- tableReload();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
- layer.msg(res.msg, {icon: 2});
- }
- }
- })
- return false;
- });
- $(layero).children('.layui-layer-content').css('overflow', 'visible');
- layui.form.render('select');
- }
- });
- }
+ /* 鐩戝惉琛屽崟鍑讳簨浠� */
+ var selObj;
+ table.on('row(leftTable)', function (obj) {
+ selObj = obj;
+ obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
+ tableIns.reload({where: {head_id: obj.data.id}, page: {curr: 1}});
+ });
/* 鍒犻櫎 */
function del(ids) {
- layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ layer.confirm('纭畾瑕佹挙閿�閫変腑鏁版嵁鍚楋紵', {
skin: 'layui-layer-admin',
shade: .1
}, function (i) {
@@ -210,20 +101,176 @@
})
});
}
+ form.on('submit(leftResearch)', function (data) {
- // 鎼滅储
- form.on('submit(search)', function (data) {
- pageCurr = 1;
- tableReload(false);
+ leftTB.reload({where: {wrk_no: data.field.docName}});
+ return false;
});
- // 閲嶇疆
- form.on('submit(reset)', function (data) {
- pageCurr = 1;
- clearFormVal($('#search-box'));
- tableReload(false);
- });
+
+ /****************************************** 鍙宠竟琛� *************************************************/
+ // 鏁版嵁娓叉煋
+ tableIns = table.render({
+ elem: '#pickout',
+ headers: {token: localStorage.getItem('token')},
+ url: baseUrl+'/pickoutDetl/list/auth',
+ page: true,
+ limit: 16,
+ limits: [16, 30, 50, 100, 200, 500],
+ toolbar: '#toolbar',
+ cellMinWidth: 50,
+ cols: [[
+ // {type: 'checkbox'}
+ {field: 'id', align: 'center',title: '鍞竴ID', hide:true}
+ ,{field: 'headId', align: 'center',title: '琛ㄥごID', hide:true}
+ ,{field: 'nodeId', align: 'center',title: '搴撲綅ID', hide:true}
+ ,{field: 'nodeName', align: 'center',title: '搴撲綅鍚嶇О'}
+ ,{field: 'anfme', align: 'center',title: '鏁伴噺'}
+ ,{field: 'matnr', align: 'center',title: '鍟嗗搧缂栫爜'}
+ ,{field: 'maktx', align: 'center',title: '鍟嗗搧鍚嶇О'}
+ ,{field: 'name', align: 'center',title: '鍚嶇О', hide:true}
+ ,{field: 'specs', align: 'center',title: '瑙勬牸', hide:true}
+ ,{field: 'model', align: 'center',title: '鍨嬪彿', hide:true}
+ ,{field: 'batch', align: 'center',title: '鎵瑰彿', hide:true}
+ ,{field: 'unit', align: 'center',title: '鍗曚綅', hide:true}
+ ,{field: 'barcode', align: 'center',title: '鎵樼洏鐮�', hide:true}
+ ,{field: 'docType', align: 'center',title: '鍗曟嵁绫诲瀷', hide:true}
+ ,{field: 'docId', align: 'center',title: '鍗曟嵁缂栧彿', hide:true}
+ ,{field: 'price', align: 'center',title: '浠锋牸', hide:true}
+ ,{field: 'weight', align: 'center',title: '閲嶉噺', hide:true}
+ ,{field: 'status', align: 'center',title: '鐘舵��' , hide:true}
+ ,{field: 'pickStaff', align: 'center',title: '鎷h揣鍛業D'}
+ ,{field: 'pickStart$', align: 'center',title: '鎷h揣寮�濮嬫椂闂�'}
+ ,{field: 'pickEnd$', align: 'center',title: '鎷h揣缁撴潫鏃堕棿'}
+ ,{field: 'createTime$', align: 'center',title: '鍒涘缓鏃堕棿', hide:true}
+ ,{field: 'createBy', align: 'center',title: '鍒涘缓浜哄憳ID', hide:true}
+ ,{field: 'updateTime$', align: 'center',title: '淇敼鏃堕棿', hide:true}
+ ,{field: 'updateBy$', align: 'center',title: '淇敼浜哄憳ID', hide:true}
+ ,{field: 'memo', align: 'center',title: '澶囨敞', hide:true}
+
+ ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150, hide:true}
+ ]],
+ request: {
+ pageName: 'curr',
+ pageSize: 'limit'
+ },
+ parseData: function (res) {
+ return {
+ 'code': res.code,
+ 'msg': res.msg,
+ 'count': res.data.total,
+ 'data': res.data.records
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ done: function(res, curr, count) {
+ if (res.code === 403) {
+ top.location.href = baseUrl+"/";
+ }
+ pageCurr=curr;
+ limit();
+ }
+ });
+ /* 琛ㄦ牸2鎼滅储 */
+ form.on('submit(rightSearch)', function (data) {
+
+ tableIns.reload({where: data.field , page: {curr: 1}});
+ return false;
+ });
+ // // 鐩戝惉鎺掑簭浜嬩欢
+ // table.on('sort(pickout)', function (obj) {
+ // var searchData = {};
+ // $.each($('#search-box [name]').serializeArray(), function() {
+ // searchData[this.name] = this.value;
+ // });
+ // searchData['orderByField'] = obj.field;
+ // searchData['orderByType'] = obj.type;
+ // tableIns.reload({
+ // where: searchData,
+ // page: {curr: 1}
+ // });
+ // });
+ //
+ // // 鐩戝惉澶村伐鍏锋爮浜嬩欢
+ // table.on('toolbar(pickout)', function (obj) {
+ // var checkStatus = table.checkStatus(obj.config.id).data;
+ // switch(obj.event) {
+ // case 'addData':
+ // showEditModel();
+ // break;
+ // case 'deleteData':
+ // if (checkStatus.length === 0) {
+ // layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ // return;
+ // }
+ // var ids = checkStatus.map(function (d) {
+ // return d.id;
+ // });
+ // del(ids);
+ // break;
+ // case 'exportData':
+ // layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
+ // var titles=[];
+ // var fields=[];
+ // obj.config.cols[0].map(function (col) {
+ // if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
+ // titles.push(col.title);
+ // fields.push(col.field);
+ // }
+ // });
+ // var exportData = {};
+ // $.each($('#search-box [name]').serializeArray(), function() {
+ // exportData[this.name] = this.value;
+ // });
+ // var param = {
+ // 'pickout': exportData,
+ // 'fields': fields
+ // };
+ // $.ajax({
+ // url: baseUrl+"/pickout/export/auth",
+ // headers: {'token': localStorage.getItem('token')},
+ // data: JSON.stringify(param),
+ // dataType:'json',
+ // contentType:'application/json;charset=UTF-8',
+ // method: 'POST',
+ // success: function (res) {
+ // layer.closeAll();
+ // if (res.code === 200) {
+ // table.exportFile(titles,res.data,'xls');
+ // } else if (res.code === 403) {
+ // top.location.href = baseUrl+"/";
+ // } else {
+ // layer.msg(res.msg, {icon: 2})
+ // }
+ // }
+ // });
+ // });
+ // break;
+ // }
+ // });
+ // /* 琛ㄦ牸鎼滅储 */
+ // form.on('submit(leftResearch)', function (data) {
+ // insTb.reload({where: {doc_name: data.field.docName,doc_class:2}});
+ // return false;
+ // });
+ //
+ //
+ // // 鎼滅储
+ // form.on('submit(search)', function (data) {
+ // pageCurr = 1;
+ // tableReload(false);
+ // });
+ //
+ // // 閲嶇疆
+ // form.on('submit(reset)', function (data) {
+ // pageCurr = 1;
+ // clearFormVal($('#search-box'));
+ // tableReload(false);
+ // });
+ //
// 鏃堕棿閫夋嫨鍣�
function layDateRender() {
layDate.render({
diff --git a/src/main/webapp/static/js/wave/wave.js b/src/main/webapp/static/js/wave/wave.js
index 776afdc..1209730 100644
--- a/src/main/webapp/static/js/wave/wave.js
+++ b/src/main/webapp/static/js/wave/wave.js
@@ -1,13 +1,14 @@
var pageCurr;
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin'], function(){
+}).use(['table','laydate', 'form', 'admin','tableMerge'], function(){
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
var layDate = layui.laydate;
var form = layui.form;
var admin = layui.admin;
+ var tableMerge = layui.tableMerge;
// 鏁版嵁娓叉煋
tableIns = table.render({
@@ -128,8 +129,79 @@
}
});
- function createWaveOut(mData) {
- layer.confirm('纭畾鐢熸垚璇ユ尝娆$殑鎷h揣鍗曪紵', {
+ function createWaveOut(data) {
+ console.log(data)
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl + "/wave/preview",
+ headers: {'token': localStorage.getItem('token')},
+ contentType: 'application/json;charset=UTF-8',
+ data: JSON.stringify({
+ orderNo: data.id
+ }),
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.open({
+ type: 1
+ ,title: false
+ ,closeBtn: false
+ ,offset: '100px'
+ ,area: '1000px'
+ ,shade: 0.5
+ ,shadeClose: true
+ ,btn: ['绔嬪嵆鐢熸垚', '绋嶅悗澶勭悊']
+ ,btnAlign: 'c'
+ ,moveType: 1 //鎷栨嫿妯″紡锛�0鎴栬��1
+ ,content: $('#stoukOutPreview')
+ ,success: function(layero, index){
+ table.render({
+ elem: '#stoPreTab',
+ data: res.data,
+ page: true,
+ cellMinWidth: 100,
+ height: 432,
+ cols: [[
+ {field: 'title', title: '鍟嗗搧', merge: true, align: 'center'},
+ {field: 'anfme', title: '鎬绘暟閲�', merge: ['title'], align: 'center', style: 'font-weight: bold', width: 90},
+ {field: 'type', title: '浠撳簱', merge: true, align: 'center', templet: '#typeTpl', width: 90},
+ {field: 'locNo', title: '璐т綅', align: 'center'},
+ {field: 'prior$', title: '鎺ㄨ崘璐т綅', align: 'center', width: 100},
+ {field: 'reduce', title: '鏁伴噺', align: 'center', width: 90, style: 'font-weight: bold'},
+ // {field: 'remQty', title: '浣欓噺', align: 'center', width: 80},
+ {field: 'total', title: '鎬婚噺', align: 'center', width: 90},
+ ]],
+ done: function () {
+ tableMerge.render(this);
+ $('.layui-table-body.layui-table-main').css("overflow", "auto")
+ }
+ });
+
+ }
+ ,yes: function(index, layero){
+ //鎸夐挳銆愰┈涓婃嫞璐с�戠殑鍥炶皟
+ stockOut(res.data,data);
+ }
+ ,btn2: function(index, layero){
+ //鎸夐挳銆愮◢鍚庡鐞嗐�戠殑鍥炶皟
+ //return false 寮�鍚浠g爜鍙姝㈢偣鍑昏鎸夐挳鍏抽棴
+ }
+ });
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2})
+ }
+ }
+ })
+
+
+ }
+ function stockOut(mData, data){
+
+ console.log(mData);
+ layer.confirm('纭畾鐢熸垚璇ユ尝娆$殑鎷h揣鍗曪紵(涓嶅彲閫�)', {
skin: 'layui-layer-admin',
shade: .1
}, function (i) {
@@ -154,7 +226,6 @@
}
})
});
-
}
// 鐩戝惉琛屽伐鍏蜂簨浠�
table.on('tool(wave)', function(obj){
diff --git a/src/main/webapp/views/pickout/pickout.html b/src/main/webapp/views/pickout/pickout.html
index 263db8c..5ffc23f 100644
--- a/src/main/webapp/views/pickout/pickout.html
+++ b/src/main/webapp/views/pickout/pickout.html
@@ -10,38 +10,158 @@
<link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
<link rel="stylesheet" href="../../static/css/cool.css" media="all">
<link rel="stylesheet" href="../../static/css/common.css" media="all">
+ <style>
+ body {
+ color: #595959;
+ background-color: #f5f7f9;
+ }
+
+ /* 宸﹁〃 */
+ #leftTable + .layui-table-view .layui-table-tool-temp {
+ padding-right: 0;
+ }
+
+ #leftTable + .layui-table-view .layui-table-body tbody > tr td {
+ cursor: pointer;
+ }
+
+ #leftTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click {
+ background-color: #fff3e0;
+ }
+
+ #leftTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click td:last-child > div:before {
+ position: absolute;
+ right: 6px;
+ content: "\e602";
+ font-size: 12px;
+ font-style: normal;
+ font-family: layui-icon,serif !important;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+ }
+
+ #left-table .layui-table-grid-down {
+ display: none;
+ }
+
+
+ .layui-form.layui-border-box.layui-table-view {
+ border-width: 1px;
+ }
+ #left-table .layui-table thead th {
+ /* font-weight: bold; */
+ text-align: left;
+ }
+ </style>
</head>
<body>
-
-<!-- 鎼滅储鏍� -->
-<div id="search-box" class="layui-form layui-card-header">
- <div class="layui-inline">
- <div class="layui-input-inline">
- <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
+<!-- 姝f枃寮�濮� -->
+<div class="layui-fluid" style="padding-bottom: 0;">
+ <div class="layui-row layui-col-space15">
+ <div class="layui-col-md3" id="left-table">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <!-- 琛ㄦ牸宸ュ叿鏍�1 -->
+ <form class="layui-form toolbar">
+ <div class="layui-form-item">
+ <div class="layui-inline" style="max-width: 140px;">
+ <input name="docName" class="layui-input" placeholder="璇疯緭鍏ヤ换鍔″彿"/>
+ </div>
+ <div class="layui-inline">
+ <button class="layui-btn icon-btn" lay-filter="leftResearch" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ </div>
+ </div>
+ </form>
+ <!-- 鏁版嵁琛ㄦ牸1 -->
+ <table id="leftTable" lay-filter="leftTable"></table>
+ </div>
+ </div>
+ </div>
+ <div class="layui-col-md9">
+ <div class="layui-card">
+ <div class="layui-card-body" style="padding: 10px;">
+ <!-- 琛ㄦ牸宸ュ叿鏍�2 -->
+ <form class="layui-form toolbar">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">鍟嗗搧缂栫爜:</label>
+ <div class="layui-input-inline">
+ <input name="matnr" class="layui-input"type="text" placeholder="缂栫爜" autocomplete="off"/>
+ </div>
+ </div>
+ <div class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="rightSearch" lay-submit>
+ <i class="layui-icon"></i>鎼滅储
+ </button>
+ <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
+ <i class="layui-icon"></i>閲嶇疆
+ </button>
+ </div>
+ </div>
+ </form>
+ <!-- 鏁版嵁琛ㄦ牸2 -->
+ <table id="pickout" lay-filter="pickout"></table>
+ </div>
+ </div>
</div>
</div>
- <!-- 寰呮坊鍔� -->
- <div id="data-search-btn" class="layui-btn-container layui-form-item">
- <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>
- <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>
- </div>
</div>
-<!-- 琛ㄦ牸 -->
-<div class="layui-form">
- <table class="layui-hide" id="pickout" lay-filter="pickout"></table>
-</div>
+<!--<!– 鎼滅储鏍� –>-->
+<!--<div id="search-box" class="layui-form layui-card-header">-->
+<!-- <div class="layui-inline">-->
+<!-- <div class="layui-input-inline">-->
+<!-- <input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">-->
+<!-- </div>-->
+<!-- </div>-->
+<!-- <!– 寰呮坊鍔� –>-->
+<!-- <div id="data-search-btn" class="layui-btn-container layui-form-item">-->
+<!-- <button id="search" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="search">鎼滅储</button>-->
+<!-- <button id="reset" class="layui-btn layui-btn-primary layui-btn-radius" lay-submit lay-filter="reset">閲嶇疆</button>-->
+<!-- </div>-->
+<!--</div>-->
+
+<!--<!– 琛ㄦ牸 –>-->
+<!--<div class="layui-form">-->
+<!-- <table class="layui-hide" id="pickout" lay-filter="pickout"></table>-->
+<!--</div>-->
<script type="text/html" id="toolbar">
<div class="layui-btn-container">
- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
- <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>-->
+<!-- <button class="layui-btn layui-btn-sm" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>-->
<button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData">瀵煎嚭</button>
</div>
</script>
<script type="text/html" id="operate">
- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>
- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+ {{#if (d.wrkSts == 3){ }}
+ <a class="layui-btn layui-btn-xs btn-complete" lay-event="complete">瀹屾垚</a>
+ {{# } }}
+ {{#if (d.wrkSts == 1||d.wrkSts == 2){ }}
+ <a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="printOrder">鎵撳嵃鎷h揣鍗�</a>
+ {{# } }}
+
+
+
+<!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>-->
+ {{#if (d.wrkSts == 1||d.wrkSts == 2){ }}
+ <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鎾ら攢</a>
+ {{# } }}
+<!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">淇敼</a>-->
+
+</script>
+<script type="text/html" id="wrkStsTpl">
+ <span name="wrkSts"
+ {{# if( d.wrkSts === 1){ }}
+ class="layui-badge layui-badge-blue"
+ {{# } else if(d.wrkSts === 2){ }}
+ class="layui-badge layui-badge-red"
+ {{# } else if(d.wrkSts === 3){ }}
+ class="layui-badge layui-badge-green"
+ {{# } }}
+ >{{d.wrkSts$}}</span>
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
diff --git a/src/main/webapp/views/wave/wave.html b/src/main/webapp/views/wave/wave.html
index c59091c..e05449a 100644
--- a/src/main/webapp/views/wave/wave.html
+++ b/src/main/webapp/views/wave/wave.html
@@ -31,6 +31,13 @@
<div class="layui-form">
<table class="layui-hide" id="wave" lay-filter="wave"></table>
</div>
+<div id="stoukOutPreview" style="display: none">
+ <div style="padding: 25px; line-height: 22px; background-color: #393D49; color: #fff; font-weight: 300;">
+ <span style="font-size: large; font-weight: bold">鎷h揣鍗曢瑙�</span>
+ </div>
+ <table id="stoPreTab" lay-filter="stoPreTab"></table>
+</div>
+
<script type="text/html" id="toolbar">
<div class="layui-btn-container">
<!-- <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData" >鏂板</button>-->
--
Gitblit v1.9.1