From 9c199e1f139b2e6eca02addd1eb6d55d11b41475 Mon Sep 17 00:00:00 2001
From: mrzhssss <pro6@qq.com>
Date: 星期一, 21 三月 2022 14:41:49 +0800
Subject: [PATCH] 修复bug
---
src/main/resources/mapper/OrderMapper.xml | 2
src/main/java/zy/cloud/wms/manager/controller/OrderController.java | 14
src/main/webapp/views/pickout/pickout.html | 152 ++++++++++-
src/main/java/zy/cloud/wms/manager/entity/Pickout.java | 12
src/main/webapp/static/js/ioWorks/matQuery.js | 2
src/main/java/zy/cloud/wms/manager/controller/WorkController.java | 12
src/main/java/zy/cloud/wms/manager/service/impl/WorkServiceImpl.java | 168 ++++++++++--
src/main/webapp/static/js/pickout/pickout.js | 190 +++++++------
src/main/java/zy/cloud/wms/manager/entity/PickoutDetl.java | 17 -
src/main/java/zy/cloud/wms/manager/service/WorkService.java | 1
src/main/java/zy/cloud/wms/manager/controller/PickoutController.java | 6
src/main/java/zy/cloud/wms/common/service/MainService.java | 172 +++++++++++++
12 files changed, 576 insertions(+), 172 deletions(-)
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..2e299b5 100644
--- a/src/main/java/zy/cloud/wms/common/service/MainService.java
+++ b/src/main/java/zy/cloud/wms/common/service/MainService.java
@@ -37,6 +37,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 +190,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 +392,8 @@
}
}
+
+
public static void main(String[] args) {
for (int i = 2; i < 51; i++) {
@@ -329,4 +407,98 @@
"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.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("淇敼鍗曟嵁鐘舵�佸け璐�");
+ }
+ }
+ }
}
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..a2e3574 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();
}
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..1e03a1c 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,6 +82,8 @@
@ManagerAuth
public R delete(@RequestParam(value="ids[]") Long[] ids){
for (Long id : ids){
+ pickoutDetlService.delete(new EntityWrapper<PickoutDetl>()
+ .eq("head_id",id));
pickoutService.deleteById(id);
}
return R.ok();
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 adccc5e..42656af 100644
--- a/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
+++ b/src/main/java/zy/cloud/wms/manager/controller/WorkController.java
@@ -77,9 +77,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")
@@ -163,6 +161,7 @@
return workService.initOrder(param, getUserId(), getHostId());
}
+
@RequestMapping("/stock/transfer")
@ManagerAuth(memo = "搴撳瓨璋冩嫧")
public R stockTransfer(@RequestBody AsrsTransferParam number) {
@@ -211,6 +210,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..7533277 100644
--- a/src/main/java/zy/cloud/wms/manager/entity/Pickout.java
+++ b/src/main/java/zy/cloud/wms/manager/entity/Pickout.java
@@ -108,6 +108,18 @@
// null //
// );
+ public String getWrkSts$(){
+ if (this.wrkSts == 1) {
+ return "鏈嫞璐�";
+ }
+ if (this.wrkSts == 2) {
+ return "鏈墦鍗�";
+ }
+ if (this.wrkSts == 3) {
+ return "宸插畬鎴�";
+ }
+ 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..e90df81 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,7 +217,7 @@
@ApiModelProperty(value= "淇敼浜哄憳ID")
@TableField("update_by")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
- private Date updateBy;
+ private Integer updateBy;
/**
* 澶囨敞
@@ -471,20 +471,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/service/WorkService.java b/src/main/java/zy/cloud/wms/manager/service/WorkService.java
index 4a9138c..0b09670 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,5 @@
R stockCheckAuditing(Long checkId, Long userId, Long hostId);
+ R initOutOrder(InitOrderParam param, Long userId, Long hostId);
}
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 1728c29..d167f48 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
@@ -295,12 +295,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 +309,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 +318,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揣鍗曟垚鍔�");
}
@@ -690,9 +690,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);
@@ -772,28 +772,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("淇濆瓨璁㈠崟鏄庣粏澶辫触");
}
}
@@ -999,4 +999,98 @@
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("鍒涘缓璁㈠崟鎴愬姛");
+ }
+
}
diff --git a/src/main/resources/mapper/OrderMapper.xml b/src/main/resources/mapper/OrderMapper.xml
index e714517..e4e7895 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}
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/pickout/pickout.js b/src/main/webapp/static/js/pickout/pickout.js
index 6503c88..7e54ae0 100644
--- a/src/main/webapp/static/js/pickout/pickout.js
+++ b/src/main/webapp/static/js/pickout/pickout.js
@@ -9,6 +9,93 @@
var form = layui.form;
var admin = layui.admin;
+
+ /****************************************** 宸﹁竟琛� *************************************************/
+ 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
+ }
+ },
+ response: {
+ statusCode: 200
+ },
+ defaultToolbar: [],
+ cols:[[
+ // {type: 'checkbox'}
+ {field: 'wrkNo', align: 'center',title: '浠诲姟鍙�'}
+ ,{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', width:180}
+ ]],
+ done: function (res,curr,count){
+ $('#dictTable+.layui-table-view .layui-table-body tbody>tr:first').trigger('click');
+ }
+ });
+ // 鐩戝惉琛屽伐鍏蜂簨浠�
+ table.on('tool(leftTable)', function(obj){
+ var data = obj.data;
+ switch (obj.event) {
+ case 'complete':
+ complete(data);
+ break;
+ case "del":
+ var ids = [data.id];
+ del(ids);
+ break;
+ }
+ });
+
+ /* 鍒犻櫎 */
+ function del(ids) {
+ layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
+ skin: 'layui-layer-admin',
+ shade: .1
+ }, function (i) {
+ layer.close(i);
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl+"/pickout/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: ids},
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200){
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403){
+ top.location.href = baseUrl+"/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ });
+ }
+
+ /****************************************** 鍙宠竟琛� *************************************************/
// 鏁版嵁娓叉煋
tableIns = table.render({
elem: '#pickout',
@@ -20,20 +107,21 @@
toolbar: '#toolbar',
cellMinWidth: 50,
cols: [[
- {type: 'checkbox'}
+ // {type: 'checkbox'}
+ {field: 'wrkNo', align: 'center',title: '浠诲姟鍙�'}
,{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}
+ ,{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', width:180}
]],
request: {
pageName: 'curr',
@@ -130,86 +218,12 @@
break;
}
});
-
- // 鐩戝惉琛屽伐鍏蜂簨浠�
- table.on('tool(pickout)', function(obj){
- var data = obj.data;
- switch (obj.event) {
- case 'edit':
- showEditModel(data);
- break;
- case "del":
- var ids = [data.id];
- del(ids);
- break;
- }
+ /* 琛ㄦ牸鎼滅储 */
+ form.on('submit(leftResearch)', function (data) {
+ insTb.reload({where: {doc_name: data.field.docName,doc_class:2}});
+ return false;
});
- /* 寮圭獥 - 鏂板銆佷慨鏀� */
- 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');
- }
- });
- }
-
- /* 鍒犻櫎 */
- function del(ids) {
- layer.confirm('纭畾瑕佸垹闄ら�変腑鏁版嵁鍚楋紵', {
- skin: 'layui-layer-admin',
- shade: .1
- }, function (i) {
- layer.close(i);
- var loadIndex = layer.load(2);
- $.ajax({
- url: baseUrl+"/pickout/delete/auth",
- headers: {'token': localStorage.getItem('token')},
- data: {ids: ids},
- method: 'POST',
- success: function (res) {
- layer.close(loadIndex);
- if (res.code === 200){
- layer.msg(res.msg, {icon: 1});
- tableReload();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- } else {
- layer.msg(res.msg, {icon: 2});
- }
- }
- })
- });
- }
// 鎼滅储
form.on('submit(search)', function (data) {
diff --git a/src/main/webapp/views/pickout/pickout.html b/src/main/webapp/views/pickout/pickout.html
index 263db8c..9521946 100644
--- a/src/main/webapp/views/pickout/pickout.html
+++ b/src/main/webapp/views/pickout/pickout.html
@@ -10,38 +10,152 @@
<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;
+ }
+
+ /* 宸﹁〃 */
+ #docTypeTable + .layui-table-view .layui-table-tool-temp {
+ padding-right: 0;
+ }
+
+ #docTypeTable + .layui-table-view .layui-table-body tbody > tr td {
+ cursor: pointer;
+ }
+
+ #docTypeTable + .layui-table-view .layui-table-body tbody > tr.layui-table-click {
+ background-color: #fff3e0;
+ }
+
+ #docTypeTable + .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="id" class="layui-input"type="text" name="id" placeholder="缂栧彿" autocomplete="off"/>
+ </div>
+ </div>
+ <div class="layui-inline"> 
+ <button class="layui-btn icon-btn" lay-filter="search" 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 == 1||d.wrkSts == 2){ }}
+ <a class="layui-btn layui-btn-xs btn-complete" lay-event="complete">瀹屾垚</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>
--
Gitblit v1.9.1